pma = sma(maSource, periods)
entryLong = close * 1.10
longCondition = close >= pma
if longCondition
strategy.entry(id = "Long Entry", long = true, stop = entryLong)
几个小节可以连续满足此longCondition,但我不希望后续的小节覆盖以前的小节。理想情况下,我想添加一个检查以查看strategy.openentries == 0,但是,在Tradingview中当然不存在这样的变量。
想做这样的事情:
pma = sma(maSource, periods)
entryLong = close * 1.10
longCondition = close >= pma
if longCondition and strategy.openorders == 0
strategy.entry(id = "Long Entry", long = true, stop = entryLong)
if barssince(longCondition) = 3
strategy.cancel(id = "Long Entry")
感谢您的任何建议!
答案 0 :(得分:1)
您可以在上一个小节中检查条件是否为真,并忽略当前小节。因此,连续出现的事件将被忽略。
pma = sma(close, 10)
entryLong = close * 1.10
longCondition = close >= pma
long = longCondition and not nz(longCondition[1])
// debug
bgcolor(longCondition ? color.green : na)
bgcolor(long ? color.blue : na)
您还可以使用内置的strategy.position_size函数。
strategy.position_size > 0 // long is opened.
strategy.position_size < 0 // short is opened.
strategy.position_size == 0 // no opened positions