```
//Created By Chris Moody on 11-18-2014
//Modded, YG, mashed together DMI + ADX
//Designed to go with ADX Trading System.
//Video Overview Explaining Setup
study(title="CM_ADX_V1", shorttitle="CM_ADX + DMI")
len = input(14, minval=1, title="DI Length")
lensig = input(14, title="ADX Smoothing", minval=1, maxval=50)
up = change(high)
down = -change(low)
trur = rma(tr, len)
plus = fixnan(100 * rma(up > down and up > 0 ? up : 0, len) / trur)
minus = fixnan(100 * rma(down > up and down > 0 ? down : 0, len) / trur)
sum = plus + minus
adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), lensig)
osob=input(40,title="Exhaustion Level for ADX, default = 40")
col = adx <= 10 ? gray : adx > 10 and adx <= 20 and plus > minus ? #98FF98 :adx > 10 and adx <= 20 and plus < minus ? #E77471 : adx > 20 and adx <= osob and plus > minus ? lime :adx > 20 and adx <= osob and plus < minus? red: adx > osob and plus > minus ?green:adx > osob and plus < minus ?maroon:white
barcolor(col)
//plot(plus, color=lime, title="+DI", style=line, linewidth=3)
//plot(minus, color=red, title="-DI", style=line, linewidth=3)
plot(adx, color=col, title="ADX", style=columns)
plot(0, title="0 Line", style=line, linewidth=1, color=gray)
plot(10, title="10 Line", style=circles, linewidth=1, color=gray)
plot(20, title="20 Line", style=circles, linewidth=1, color=gray)
plot(osob, title="10 Line", style=circles, linewidth=1, color=gray)
```