#MACD Multi-MA for ThinkorSwim V1.0
#
#CREDITS
# Craig_Claussen
# https://www.tradingview.com/script/34lAHcyo-MACD-Multi-MA-Strategy
#
#CHANGELOG
# 2019.12.05 1.0 @diazlaz - Initial Port
#
#
#DESCRIPTION
# This script applies the average of each major MA ( SMA , RMA, EMA , WVMA, WMA )
# to the MACD formula
#
#
#INSTRUCTIONS
# Add to upper and lower study
# Set upper = showArrows = yes; ColorBars = yes; showPlots = no;
# Set lower = showArrows = no; ColorBars = no; showPlots = yes;
#
#
#INPUTS
input src = close;
input len1 = 8; #Fast Lookback
input len2 = 144; #Slow Lookback
input showPlots = yes; #show MA plots (lower study)
input showArrows = no; #show Arrows (upper study)
input showColorBars = no; #show color bars (optional upper study)
#CORE
def length = len2-len1;
def ma = sum(src * volume, length) / sum(volume,length);
def length1 = len2-len1;
def ma1 = MovingAverage(AverageType.WEIGHTED, src, length1);
def length2 = len2-len1;
def ma2 = Average(src, length2);
def length3 = len2-len1;
def ma3 = wma(src, length3);
def length4 = len2-len1;
def ma4 = ExpAverage(src, length4);
#STATES
def long = ma > ma[1] and ma1 > ma1[1] and ma2 > ma2[1] and ma3 > ma3[1] and ma4 > ma4[1];
def short = ma < ma[1] and ma1 < ma1[1] and ma2 < ma2[1] and ma3 < ma3[1] and ma4 < ma4[1];
def sState = if long then 100 else if short then -100 else sState[1];
#PLOTS
plot pMA1 = ma1;
plot pMA2 = ma2;
plot pMA3 = ma3;
plot pMA4 = ma4;
pMA1.SetHiding(!showPlots);
pMA2.SetHiding(!showPlots);
pMA3.SetHiding(!showPlots);
pMA4.SetHiding(!showPlots);
# ARROWS
plot pUP = sState crosses above 0;
pUP.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_UP);
pUP.SetDefaultColor(Color.GREEN);
pUP.SetLineWeight(2);
pUP.SetHiding(!showArrows);
plot pDown = sState crosses below 0;
pDown.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_DOWN);
pDown.SetDefaultColor(Color.RED);
pDown.SetLineWeight(2);
pDown.SetHiding(!showArrows);
#COLORBARS
AssignPriceColor(if showColorBars then
if sState > 0 then Color.GREEN
else Color.RED
else
COLOR.CURRENT
);
#END OF MACD Multi-MA for ThinkorSwim V1.0