binary_trader66

ADX by cobra

adx by cobra
開源腳本

本著真正的TradingView精神,該腳本的作者將其開源發布,以便交易者可以理解和驗證它。為作者喝彩吧!您可以免費使用它,但在出版物中重複使用此代碼受網站規則的約束。 您可以收藏它以在圖表上使用。

免責聲明

這些資訊和出版物並不意味著也不構成TradingView提供或認可的金融、投資、交易或其他類型的意見或建議。請在使用條款閱讀更多資訊。

想在圖表上使用此腳本?
study("ADX and DI")
len = input(title="Length", type=integer, defval=3)
len1 = input(title="Length1", type=integer, defval=1)
th = input(title="threshold", type=integer, defval=20)

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)
//Skuska
crosscall = (DIPlus > DIMinus)
crossput = (DIMinus > DIPlus)
DIPcross = sma(crosscall, len1)
DIPput = sma(crossput, len1)
DIPOVB = (DIPlus > 60)
DIMOVS = (DIMinus > 60)


bgcolor(DIMOVS ? lime : na, transp=40)
bgcolor(DIPOVB ? orange : na, transp=20)
plot(DIPlus, color=green, linewidth=3, title="DI+")
plot(DIMinus, color=red, linewidth=3, title="DI-")
plot(ADX, color=white, linewidth=1, title="ADX")
hline(th, color=white, linewidth=1, linestyle=dashed)
bgcolor(DIPcross ? green : na, transp=60)
bgcolor(DIPput ? red : na, transp=60)