首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在CVI上设置一个条件来触发每次移动一次?

如何在CVI上设置一个条件来触发每次移动一次?
EN

Stack Overflow用户
提问于 2022-08-24 10:22:36
回答 1查看 22关注 0票数 0

我有下一个代码,计算CVI,并提醒我,如果是上升还是下降。

代码语言:javascript
复制
//@version=5
indicator(title="CVI", shorttitle="CVi")
length=input(3)
vc=ta.sma(hl2, length)
useModifiedFormula=input.bool(false)
os1=input(-0.51, title="Oversold 1")
ob1=input(0.43, title="Overbought 1")

denom = (useModifiedFormula == true) ? (ta.atr(length) * math.sqrt(length)) : ta.atr(length)
cvi = (close-vc) / denom
    
isRising = ta.rising(cvi,1)
isFalling = ta.falling(cvi,1)
      
//alerts
alertcondition(isRising, title = "Long", message="Long")    
alertcondition(isFalling, title = "Short", message="Short")

我如何设置条件触发一次每次移动,而不是每次上升或下降?(正在上升吗?好的,继续上升,只有下降的时候才通知我,反之亦然)

谢谢,劳尔

EN

回答 1

Stack Overflow用户

发布于 2022-08-24 13:15:03

我找到了解决问题的办法。我必须为方向加上这个条件

代码语言:javascript
复制
direction = 0
direction := isRising ? 1 : isFalling ? -1 : nz(direction[1])
change_direction= ta.change(direction,1)

然后将change_direction添加到告警条件()

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73471447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档