问题描述
我正在尝试使用Pine脚本执行策略,该脚本应满足以下条件并应执行长时操作:
条件:发生交叉(ema10,ema20)和((交叉(ema10,ema20)的((交叉的上限+缓冲区的上限))))。 我无法参加,请您帮忙解决这个问题?
下面是我的代码:
study("Crossover and highcrossover",overlay=true)
ema10 = ema(close,10)
ema20 = ema(close,20)
psar = sar(0.02,0.02,.2)
crossoverval = crossover(ema10,ema20)
signalhigh = iff(crossoverval == 1,high,na)
highbufferadd = signalhigh + 3.0
plot(signalhigh,title="signalhigh",color = green,linewidth = 1,transp=1)
plot(highbufferadd,title="highbufferadd",color = yellow,transp=1)
longentry = crossoverval and (close > highbufferadd)
plotshape(series=crossoverval,title="Crossover",style=shape.arrowup,location=location.belowbar,color=green,text="Crossover",size=size.small)
plotshape(series=longentry,title="longentry",style=shape.triangleup,text="longentry",size=size.small)
plot(ema10,title="Ema 10",transp=1)
plot(ema20,title="Ema 20",color = red,transp=1)
解决方法
study("Crossover and highcrossover",overlay=true)
ema10 = ema(close,10)
ema20 = ema(close,20)
psar = sar(0.02,0.02,0.2)
crossoverval = crossover(ema10,ema20)
signalhigh = iff(crossoverval == 1,high,na)
highbufferadd = signalhigh + 3.0
plot(signalhigh,title="signalhigh",color = color.green,linewidth = 1,transp=1)
plot(highbufferadd,title="highbufferadd",color = color.yellow,transp=1)
longentry = crossoverval and (close > highbufferadd)
plotshape(series=crossoverval,title="Crossover",style=shape.arrowup,location=location.belowbar,color=color.green,text="Crossover",size=size.small)
plotshape(series=longentry,title="longentry",style=shape.triangleup,text="longentry",size=size.small)
plot(ema10,title="Ema 10",transp=1)
plot(ema20,title="Ema 20",color = color.red,transp=1)