我刚开始练音符,我不知道我的if语法出了什么问题。请帮帮忙
//@version=4
strategy(title="Weighted Moving ATR", shorttitle="WMATR Stra Test", overlay = true)
//Changing inputs based on ticker
if (syminfo.ticker == "AAPL")
LenWATR = 43
MultWATR = 1
else if (syminfo.ticker == "AAL")
LenWATR = 21
MultWATR = 1我一直得到第13行:不匹配的输入'LenWATR‘,期望’行的末尾没有行的延续‘。
发布于 2021-01-27 08:47:34
你得到错误的原因是缩进是错误的。
您正在缩进5个空白空间,但缩进应该是4个空白空间的倍数。
你也可以这样写:
//@version=4
strategy(title="Weighted Moving ATR", shorttitle="WMATR Stra Test", overlay = true)
var int LenWATR = na
var int MultWATR = na
//Changing inputs based on ticker
LenWATR := if syminfo.ticker == "AAPL"
43
else if syminfo.ticker == "AAL"
1
else
99 // default value
MultWATR := if syminfo.ticker == "AAL"
1
else if syminfo.ticker == "AAL"
1
else
77 // default value
//Changing inputs based on ticker: short version
LenWATR := syminfo.ticker == "AAPL" ? 43 : syminfo.ticker == "AAL" ? 1 : 99
MultWATR := syminfo.ticker == "AAPL" ? 1 : syminfo.ticker == "AAL" ? 1 : 77
plot(na)发布于 2021-01-27 06:00:12
你不需要括号。此外,如果在if语句块中使用=,则在本地作用域中初始化变量。如果变量存在于其他地方,则值赋值应使用:=
https://stackoverflow.com/questions/65913271
复制相似问题