jayy

ADX Trend Strength Leaf_West style

This is a slightly different way of plotting ADX used by Leaf_West at http://tradingwithleafwest.net/ The criteria for plotting this version of ADX are described in the Educational Info pdfs on the Website.
This is my attempt to replicate Leaf_West's presentation of ADX .
Use of the indicator is described in detail in the Educational info pdfs: http://tradingwithleafwest.net/
I have used ADX (8) and DMI(9) for a best fit.. Leaf's methods evolve as time goes on and
The BATS data feed has the usual issues affecting the plots, a realtime data feed is the way to go. Credit for the original ADX and DMI script goes to Greeny
Open-source script

In true TradingView spirit, the author of this script has published it open-source, so traders can understand and verify it. Cheers to the author! You may use it for free, but reuse of this code in a publication is governed by House Rules. You can favorite it to use it on a chart.

Disclaimer

The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.

Want to use this script on a chart?
// This is a different way of plotting ADX used by Leaf_West at http://tradingwithleafwest.net/.  
// The criteria for plotting ADX are described in the educational info.  
// This is my attempt to replicate Leaf_West's indicator.
// The BATS data feed has the usual issues.  Realtime data is the way to go.
// Credit for the original ADX and DMI script goes to Greeny


study("Trend Strength/ADX Leaf_West style", shorttitle=" Trend Strength ADX LW")
LWadxlength = input(8, title="ADX period")
LWdilength = input(9, title="DMI Length")

dirmov(len) =>
	up = change(high)
	down = -change(low)
	truerange = rma(tr, len)
	plus = fixnan(100 * rma(up > down and up > 0 ? up : 0, len) / truerange)
	minus = fixnan(100 * rma(down > up and down > 0 ? down : 0, len) / truerange)
	[plus, minus]

adx(LWdilength, LWadxlength) => 
	[plus, minus] = dirmov(LWdilength)
	sum = plus + minus
	adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), LWadxlength)
	[adx, plus, minus]

[ADX, up, down] = adx(LWdilength, LWadxlength)
LWADX= (ADX-15)*2.5
adxcolor= up>down?green: red
plot(LWADX, color=adxcolor, title="Trend Strength")
plot (LWADX, color=adxcolor , style= histogram, linewidth= 4)

plot(0, color=black, title="Chop Zone")
plot(20, color=green, title="Mendoza Line", linewidth=1)
plot(100, color=red, title=" Extreme Zone", linewidth=1)