如何解决如何将特定范围定义为“sumx,len”的长度?
我想检查某个条件在回溯期的前半段是否至少满足一次,然后在该段的后半段是否至少再次满足一次。
我正在尝试使用以下代码执行此操作,如 I've learned here。但我没有弄清楚如何使 len
成为一个范围。
所以我的问题是:如何使 len
成为一个范围? (在 len
下方为 lenFirstHalf
和 lenSecondHalf
)。
任何帮助将不胜感激!
lookBack = input(title="Lookback",type=input.integer,defval=24,minval=2)
condition = close > open
lenFirstHalf = (<GREATER THAN> (lookBack/2)) and (<LESS THAN OR EQUAL TO> lookback)
lenSecondHalf = (<GREATER THAN OR EQUAL TO> 1) and (<LESS THAN OR EQUAL TO (lookback/2))
// Check if the condition is met in the FirsT half of the lookback period
triggerA = (sum(condition ? 1 : 0,lenFirstHalf)) >= 1 ? true : false
// Check if the condition is met in the SECOND half of the lookback period
triggerB = (sum(condition ? 1 : 0,lenSecondHalf)) >= 1 ? true : false
显然,那些 <GREATER THAN>
和 <LESS THAN OR EQUAL TO>
不存在,但我不知道如何将这样的范围归因于变量。
解决方法
我认为这样的事情应该可行。
lookBack = input(title="Lookback",type=input.integer,defval=24,minval=2)
condition = close > open
sumLookBack = sum(condition ? 1 : 0,lookBack)
sumSecondHalf = sum(condition ? 1 : 0,lookBack/2)
sumFirstHalf = sumLookBack - sumSecondHalf
// Check if the condition is met in the FIRST half of the lookback period
triggerA = sumFirstHalf >= 1 ? true : false
// Check if the condition is met in the SECOND half of the lookback period
triggerB = sumSecondHalf >= 1 ? true : false
您在 length
中使用的 sum()
用于计算从 length
个柱到最新柱的总和。
所以首先计算整个长度,然后减去“第二个”一半,你得到“第一”一半。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。