study("Trend Magic", shorttitle="TM", overlay=true, format=format.price, precision=2, resolution="") period=input(20,"CCI period") coeff=input(1,"ATR Multiplier") AP=input(5,"ATR Period") ATR=sma(tr,AP) src=input(close) upT=low-ATR*coeff downT=high+ATR*coeff MagicTrend=0.0 MagicTrend := cci(src,period)>=0 ? (upTnz(MagicTrend[1]) ? nz(MagicTrend[1]) : downT) color1= cci(src,period)>=0 ? #0022FC : #FC0400 plot(MagicTrend, color=color1, linewidth=3) alertcondition(cross(close, MagicTrend), title="Cross Alert", message="Price - MagicTrend Crossing!") alertcondition(crossover(low, MagicTrend), title="CrossOver Alarm", message="BUY SIGNAL!") alertcondition(crossunder(high, MagicTrend), title="CrossUnder Alarm", message="SELL SIGNAL!")