[英]Not possible to declare variables in a if-condition (PineScript)
我正在尝试改进我的指标,因为当我切换时间范围时加载时间太长。 现在我正在尝试更改代码,但我遇到了问题。
看看下面的代码。
我想在 if 条件中声明变量的值。 但是当我使用下面的代码时,如果它的“真”,它不会在 if 条件中使用声明的变量。 它总是使用我在代码开头声明的变量。
任何提示我如何解决这个问题?
stochCalc = sma(stoch(close, high, low, 14), 6)
v1 = "1"
v2 = "1"
v3 = "1"
if timeframe.multiplier == 240
v1 = "15"
v2 = "30"
v3 = "60"
else
if timeframe.multiplier == 720
v1 = "60"
v2 = "120"
v3 = "240"
else
if timeframe.multiplier == 1440
v1 = "240"
v2 = "720"
v3 = "1440"
else
v1 = "1"
v2 = "2"
v3 = "3"
k1 = security(syminfo.tickerid, v1, stochCalc)
k2 = security(syminfo.tickerid, v2, stochCalc)
k3 = security(syminfo.tickerid, v3, stochCalc)
plot(k1, color=color.yellow, transp=0, linewidth=2)
plot(k2, color=color.yellow, transp=0, linewidth=2)
plot(k3, color=color.yellow, transp=0, linewidth=2)
我正在尝试改进我的指标,因为当我切换时间范围时加载时间太长。 现在我正在尝试更改代码,但我遇到了问题。
看看下面的代码。
我想在 if 条件中声明变量的值。 但是当我使用下面的代码时,如果它的“真”,它不会在 if 条件中使用声明的变量。 它总是使用我在代码开头声明的变量。
任何提示我如何解决这个问题?
stochCalc = sma(stoch(close, high, low, 14), 6)
v1 = "1"
v2 = "1"
v3 = "1"
if timeframe.multiplier == 240
v1 = "15"
v2 = "30"
v3 = "60"
else
if timeframe.multiplier == 720
v1 = "60"
v2 = "120"
v3 = "240"
else
if timeframe.multiplier == 1440
v1 = "240"
v2 = "720"
v3 = "1440"
else
v1 = "1"
v2 = "2"
v3 = "3"
k1 = security(syminfo.tickerid, v1, stochCalc)
k2 = security(syminfo.tickerid, v2, stochCalc)
k3 = security(syminfo.tickerid, v3, stochCalc)
plot(k1, color=color.yellow, transp=0, linewidth=2)
plot(k2, color=color.yellow, transp=0, linewidth=2)
plot(k3, color=color.yellow, transp=0, linewidth=2)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.