Multi-Moving Average in a single color changing indicator. Lines change color when they cross.
// Created by AGPym // Multi-Moving Average in a single color changing indicator // Thanks to ChrisMoody for creating awesome scripts! // Tips are appreciated! study(title="MA Marvel - MultiMA by AGPym", shorttitle="MAMarvel", overlay=true) //inputs src = close atype = input(1,minval=1,maxval=7,title="1=SMA, 2=EMA, 3=WMA, 4=HullMA, 5=VWMA, 6=RMA, 7=TEMA") ma1 = input(25, title="1st Moving Average Period") ma2 = input(50, title="2nd Moving Average Period") ma3 = input(100, title="3rd Moving Average Period") ma4 = input(200, title="4th Moving Average Period") ma5 = input(500, title="5th Moving Average Period") ma6 = input(1000, title="6th Moving Average Period. Changes color when above everything.") //hull ma1 definition hullma1 = wma(2*wma(src, ma1/2)-wma(src, ma1), round(sqrt(ma1))) //TEMA definition ema1ma1 = ema(src, ma1) ema2ma1 = ema(ema1ma1, ma1) ema3ma1 = ema(ema2ma1, ma1) temama1 = 3 * (ema1ma1 - ema2ma1) + ema3ma1 avgma1 = atype == 1 ? sma(src,ma1) : atype == 2 ? ema(src,ma1) : atype == 3 ? wma(src,ma1) : atype == 4 ? hullma1 : atype == 5 ? vwma(src, ma1) : atype == 6 ? rma(src,ma1) : temama1 //hull ma2 definition hullma2 = wma(2*wma(src, ma2/2)-wma(src, ma2), round(sqrt(ma2))) //TEMA definition ema1ma2 = ema(src, ma2) ema2ma2 = ema(ema1ma2, ma2) ema3ma2 = ema(ema2ma2, ma2) temama2 = 3 * (ema1ma2 - ema2ma2) + ema3ma2 avgma2 = atype == 1 ? sma(src,ma2) : atype == 2 ? ema(src,ma2) : atype == 3 ? wma(src,ma2) : atype == 4 ? hullma2 : atype == 5 ? vwma(src, ma2) : atype == 6 ? rma(src,ma2) : temama2 //hull ma3 definition hullma3 = wma(2*wma(src, ma3/2)-wma(src, ma3), round(sqrt(ma3))) //TEMA definition ema1ma3 = ema(src, ma3) ema2ma3 = ema(ema1ma3, ma3) ema3ma3 = ema(ema2ma3, ma3) temama3 = 3 * (ema1ma3 - ema2ma3) + ema3ma3 avgma3 = atype == 1 ? sma(src,ma3) : atype == 2 ? ema(src,ma3) : atype == 3 ? wma(src,ma3) : atype == 4 ? hullma3 : atype == 5 ? vwma(src, ma3) : atype == 6 ? rma(src,ma3) : temama3 //hull ma4 definition hullma4 = wma(2*wma(src, ma4/2)-wma(src, ma4), round(sqrt(ma4))) //TEMA definition ema1ma4 = ema(src, ma4) ema2ma4 = ema(ema1ma4, ma4) ema3ma4 = ema(ema2ma4, ma4) temama4 = 3 * (ema1ma4 - ema2ma4) + ema3ma4 avgma4 = atype == 1 ? sma(src,ma4) : atype == 2 ? ema(src,ma4) : atype == 3 ? wma(src,ma4) : atype == 4 ? hullma4 : atype == 5 ? vwma(src, ma4) : atype == 6 ? rma(src,ma4) : temama4 //hull ma5 definition hullma5 = wma(2*wma(src, ma5/2)-wma(src, ma5), round(sqrt(ma5))) //TEMA definition ema1ma5 = ema(src, ma5) ema2ma5 = ema(ema1ma5, ma5) ema3ma5 = ema(ema2ma5, ma5) temama5 = 3 * (ema1ma5 - ema2ma5) + ema3ma5 avgma5 = atype == 1 ? sma(src,ma5) : atype == 2 ? ema(src,ma5) : atype == 3 ? wma(src,ma5) : atype == 4 ? hullma5 : atype == 5 ? vwma(src, ma5) : atype == 6 ? rma(src,ma5) : temama5 //hull ma6 definition hullma6 = wma(2*wma(src, ma6/2)-wma(src, ma6), round(sqrt(ma6))) //TEMA definition ema1ma6 = ema(src, ma6) ema2ma6 = ema(ema1ma6, ma6) ema3ma6 = ema(ema2ma6, ma6) temama6 = 3 * (ema1ma6 - ema2ma6) + ema3ma6 avgma6 = atype == 1 ? sma(src,ma6) : atype == 2 ? ema(src,ma6) : atype == 3 ? wma(src,ma6) : atype == 4 ? hullma6 : atype == 5 ? vwma(src, ma6) : atype == 6 ? rma(src,ma6) : temama6 plot(avgma1, title="MA1", style=line, color=(avgma1[0]>avgma2[1]? lime:red), linewidth=1, transp=60) plot(avgma2, title="MA2", style=line, color=(avgma2[0]>avgma3[1]? lime:red), linewidth=2, transp=50) plot(avgma3, title="MA3", style=line, color=(avgma3[0]>avgma4[1]? lime:red), linewidth=3, transp=40) plot(avgma4, title="MA4", style=line, color=(avgma4[0]>avgma5[1]? lime:red), linewidth=3, transp=30) plot(avgma5, title="MA5", style=line, color=(avgma5[0]>avgma6[1]? lime:red), linewidth=4, transp=20) plot(avgma6, title="MA6", style=line, color=(avgma6[0]>avgma1[1] and avgma6[0]>avgma2[1] and avgma6[0]>avgma3[1] and avgma6[0]>avgma4[1] and avgma6[0]>avgma5[1]? lime:red), linewidth=4, transp=10)