【问题标题】:Issue adapting Pine Script statement with nested conditional operators使用嵌套条件运算符调整 Pine Script 语句的问题
【发布时间】:2021-09-10 04:07:50
【问题描述】:
请帮助将以下 Pine 代码改编成更易读的代码,如其他(脚本)语言中的“if”、“else”、“true”和“false”(在 MQL5 中需要它)在我看来新手,“dlong”是一个带有布尔值的系列(...如果在这种情况下 0 表示“false”并且 >0 表示“true”,对吗?)
dlong = 0
dlong := nz(dlong[1])>0? elong==1? 0 : dlong[1]+1 : long? 1 : 0
【问题讨论】:
标签:
pine-script
conditional-operator
【解决方案1】:
dlong 不是bool,它是int。 bool 变量可以有true 或false。但您也可以使用 int 类型进行 if 检查。 0 是false,其他的都是true。
来自?: conditional operator and the iff function:
?: 条件三元运算符计算第一个表达式
(条件)并返回第二个操作数的值(如果
条件为真)或第三个操作数(如果条件为
错误的)。语法是:
condition ? result1 : result2
dlong = 0
if (nz(dlong[1]) > 0)
if (elong == 1)
dlong := 0
else
dlong := dlong[1] + 1
else
if long
dlong := 1
else
dlong := 0