如何解决PineScript-曲折趋势更改计数器
我做了一个类似于之字形的指标。我想写一个公式来计算上升趋势的数量或趋势变化的数量(从上升到下降以及从下降到上升)。我有问题,因为我的变量仍设置为0。您能帮我更正吗?
//@version=3
study("ZigZag Poker",overlay=true)
//INPUTS
trend = 0
trend := na(trend[1]) ? 1 : trend[1] //Beggining trend set to up
LL = 0.0
LL := na(LL[1]) ? low : LL[1] //LastLow
HH = 0.0
HH := na(HH[1]) ? high : HH[1] //LastHigh
LO = 0.0
LO := na(LO[1]) ? open : LO[1] //LastOpen
LC = 0.0
LC := na(LC[1]) ? close : LC[1] //LastClose
LOLO = 0.0
LOLO := na(LOLO[1]) ? low : LOLO[1] //LowestLow
HIHI = 0.0
HIHI := na(HIHI[1]) ? high : HIHI[1] //HighestHigh
zigzag = na
kolor = 0 //variable that counts number of trend changes
imp = input(true,"Alt imp")
kolor := imp == true ? 2 : 0
if (trend > 0) // trend is up,look for new swing low
if close >= min(LO,LC)
LC := close
LL := low
LO := open
LOLO := low
HIHI := high
else
zigzag := HIHI
trend := -1
HH := high
HIHI := high > HIHI ? high : HIHI
LC := close
LL := low
LO := open
LOLO := low
kolor := kolor[1] + 1
else // trend is down,look for new swing high
if close <= max(LO,LC)
HH := high
HIHI := high
LC := close
LL := low
LO := open
LOLO := low < LOLO ? low : LOLO
else
zigzag := LOLO
trend := 1
HH := high
LC := close
LL := low
LO := open
kolor: = kolor[1] + 1
plot(kolor)
plot(zigzag,color = trend < 0 ? blue : orange,linewidth=2,offset=-1)
解决方法
我知道现在帮助 OP 为时已晚,但错误已出
kolor := imp == true ? 2 : 0
,对于当前趋势中的所有蜡烛,它始终将 kolor
的值设置为 2 或 0。
缺少的是在每个循环中复制最后一个 kolor 的值,因此 kolor[1] 可以有一个有效的计数器。
用 kolor := na(kolor[1])? 0: kolor[1]
替换该行即可。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。