一开始就声明变量
Declaring variable at the very beginning
我在 Pine 脚本中遇到了一个普遍问题。我不知道如何在策略的最开始声明一个变量并用每根蜡烛更新它。当你宣布它时,它就会在每个蜡烛上宣布!
逻辑应该是这样的:
如果某个事件发生,则变量值应设置为x。变量应保持 x 直到另一个事件发生。
我看到的问题是,由于脚本开头的声明,变量将始终重置为其原始值。
我的(示例)代码:
a = 20
if crossover(ma1, ma2)
a:=30
if crossunder(ma1, ma2)
a:=40
对于触发 ma 的蜡烛,变量“a”仅为 30 或 40 crossover/under,但我希望从交叉点到下交叉点的值为 30。
PS:变量保持其值并不是绝对必要的。我只需要“移动平均线的最后一次交叉是交叉”(分别是交叉)的信息。
PPS:我知道在这种情况下您可以简单地使用 ma1 > ma2,但这只是解释我的问题的示例。
谢谢大家!
BR
您需要使用变量。示例:
var a = 0
a:=valuewhen(crossover(ma1, ma2), close, 1)
我在 Pine 脚本中遇到了一个普遍问题。我不知道如何在策略的最开始声明一个变量并用每根蜡烛更新它。当你宣布它时,它就会在每个蜡烛上宣布!
逻辑应该是这样的:
如果某个事件发生,则变量值应设置为x。变量应保持 x 直到另一个事件发生。
我看到的问题是,由于脚本开头的声明,变量将始终重置为其原始值。
我的(示例)代码:
a = 20
if crossover(ma1, ma2)
a:=30
if crossunder(ma1, ma2)
a:=40
对于触发 ma 的蜡烛,变量“a”仅为 30 或 40 crossover/under,但我希望从交叉点到下交叉点的值为 30。
PS:变量保持其值并不是绝对必要的。我只需要“移动平均线的最后一次交叉是交叉”(分别是交叉)的信息。
PPS:我知道在这种情况下您可以简单地使用 ma1 > ma2,但这只是解释我的问题的示例。
谢谢大家! BR
您需要使用变量。示例:
var a = 0
a:=valuewhen(crossover(ma1, ma2), close, 1)