我正在尝试创建一项研究(而不是一项策略),以说明在满足不同条件的情况下何时进行买卖。
在此代码中,我希望能够区分自己所从事的交易。因此,如果我使用longCond1发起交易,则只有shortCond1可以指示退出。 Autoview建议使用交叉功能来表明这一点,但是它仅使用1个条件而不使用2个。
longCond1 = close>open[1] ? 1:0
shortCond1 = open<close[1] ? 1:0
longCond2 = close>high[1] ? 1:0
shortCond2 = close>high[2] ? 1:0
plot(longCond1)
plot(shortCond1)
plot(longCond2)
plot(shortCond2)
答案 0 :(得分:0)
我创建了一个示例脚本,该脚本可以为您提供帮助。 https://www.tradingview.com/script/llcoIPKG-Pine-Example-Holding-a-state-in-a-variable/
//@version=3
study("Holding a state in a variable")
longCond1 = close>open[1] // Just some entry signal (GREEN)
shortCond1 = open<close[1] // Just some exit signal (RED)
isInPosition = false // Variable that holds some state (BLACK)
isInPosition := na(isInPosition[1]) ? false : isInPosition[1]
if longCond1 and not isInPosition
isInPosition := true
if shortCond1 and isInPosition
isInPosition := false
plot(isInPosition ? 3 : na, color=black, linewidth=2, style=linebr)
plot(shortCond1 ? 2 : na, color=red, style=linebr)
plot(longCond1 ? 1 : na, color=green, style=linebr)
注意:即将推出Pine Script版本4,它的新功能'var'关键字read more会更加容易。