用于 ADX 的 Pine 脚本交叉并绘制文本警报

问题描述

我正在 Tradingview 上尝试使用 pine 脚本。我希望每当 DI+ 与 DI- 交叉时,它应该以绿色显示测试警报为“CSO”,类似地,当 DI- 与 DI+“CSO”交叉时为红色。

但是在这个脚本中,当我使用 plotshape 时,我会丢失 DI+ 和 DI- 线。

请指导。 enter image description here

study("Indi_ADX")
len = input(title="Length",type=integer,defval=14)
th = input(title="threshold",defval=25)
//avg = input(title="SMA",defval=10)

TrueRange = max(max(high-low,abs(high-nz(close[1]))),abs(low-nz(close[1])))
DirectionalMovementPlus = high-nz(high[1]) > nz(low[1])-low ? max(high-nz(high[1]),0): 0
DirectionalMovementMinus = nz(low[1])-low > high-nz(high[1]) ? max(nz(low[1])-low,0): 0


SmoothedTrueRange = nz(SmoothedTrueRange[1]) - (nz(SmoothedTrueRange[1])/len) + TrueRange
SmoothedDirectionalMovementPlus = nz(SmoothedDirectionalMovementPlus[1]) - 
(nz(SmoothedDirectionalMovementPlus[1])/len) + DirectionalMovementPlus
SmoothedDirectionalMovementMinus = nz(SmoothedDirectionalMovementMinus[1]) - 
(nz(SmoothedDirectionalMovementMinus[1])/len) + DirectionalMovementMinus

DIPlus = SmoothedDirectionalMovementPlus / SmoothedTrueRange * 100
DIMinus = SmoothedDirectionalMovementMinus / SmoothedTrueRange * 100
DX = abs(DIPlus-DIMinus) / (DIPlus+DIMinus)*100
//ADX = sma(DX,len)
//SMA = sma(ADX,avg)

CSOG = crossover(DIPlus,DIMinus)
CSOR = crossover(DIMinus,DIPlus)

plot(DIPlus,color=green,title="DI+")
plot(DIMinus,color=red,title="DI-")
//plot(ADX,color=yellow,title="ADX")
//plot(SMA,color=white,title="SMA")
hline(th,color=black,linestyle=dashed)
plotshape(series=CSOG,title="CSO",location=location.abovebar,text="CSO",size=size.small)
plotshape(series=CSOR,size=size.small)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)