Pine script Tradingview:if循环中的时间索引

Pine script Tradingview:if循环中的时间索引,pine-script,Pine Script,在if语句中考虑两个指标s1和s2,以便: 如果s1>s2 做某事(买) 我想在初始if声明之后加入一个附加条件,即仅当s1和s2的价格在“n”个连续时间间隔内上涨时才开始购买。有什么建议吗 我的代码:如果s1>s2和s2>s3和s3>s4,然后如果s1在“t1”时间间隔内连续增加,则购买要激活的信号 var t1 = 0 go_long = 0 if s1 > s2 and s2 > s3 and s3 > s4 if t1 == 2 if s1 &g

在if语句中考虑两个指标s1和s2,以便:

如果s1>s2 做某事(买)

我想在初始if声明之后加入一个附加条件,即仅当s1和s2的价格在“n”个连续时间间隔内上涨时才开始购买。有什么建议吗

我的代码:如果s1>s2和s2>s3和s3>s4,然后如果s1在“t1”时间间隔内连续增加,则购买要激活的信号

var t1 = 0
go_long = 0
if s1 > s2 and s2 > s3 and s3 > s4
    if t1 == 2
        if s1 > s1[t1] 
            go_long := 1
    else
        t1 := t1 + 1
strategy.entry("long",strategy.long,ordersize,when=go_long)

解决这个问题的典型方法是在每个位置添加另一个变量


然后需要一个if,检查变量是否等于n

这始终保持当前变量
s1Ups
s1
连续增加的次数,如前一个答案所示。所需最小值或更大值的测试已添加到您的
gou_long
条件中,您可以在指示器的设置/输入中更改所需最小值:

t1 = input(2, "Consecutive increases required")
var s1Ups = 0
s1Ups := change(s1) > 0 ? s1Ups + 1 : 0
go_long = s1 > s2 and s2 > s3 and s3 > s4 and s1Ups >= t1
strategy.entry("long",strategy.long,ordersize,when=go_long)