@jeffcp66, this is getting close….

@jeffcp66, this is getting close. My last patient did not show up so have a few minutes to try the code.

2017-12-01-TOS_CHARTS

Thinkscript below for the BBMACD. Change bb length to 5 and num dev to 0.5. other settings stay 12,26,5

plot Data = close;
declare lower;

input price = close;

input BBlength = 10;

input BBNum_Dev = 1.0;

input MACDfastLength = 12;

input MACDslowLength = 26;

input MACDLength = 5;

def MACD_Data = MACD(fastLength = MACDfastLength, slowLength = MACDslowLength, MACDLength = MACDLength);

plot MACD_Dots = MACD_Data;

plot MACD_Line = MACD_Data;

plot BB_Upper = reference BollingerBands(price = MACD_Line, length = BBlength, Num_Dev_Dn = -BBNum_Dev, Num_Dev_Up = BBNum_Dev).UpperBand;

plot BB_Lower = reference BollingerBands(price = MACD_Line, length = BBlength, Num_Dev_Dn = -BBNum_Dev, Num_Dev_Up = BBNum_Dev).Lowerband;

plot BB_Midline = reference BollingerBands(price = MACD_Line, length = BBlength, Num_Dev_Dn = -BBNum_Dev, Num_Dev_Up = BBNum_Dev).MidLine;

BB_Upper.SetDefaultColor(Color.GRAY);

BB_Lower.SetDefaultColor(Color.GRAY);

BB_Midline.SetDefaultColor(Color.GRAY);

BB_Midline.SetStyle(Curve.SHORT_DASH);

MACD_Line.SetDefaultColor(Color.WHITE);

MACD_Dots.SetStyle(Curve.POINTS);

MACD_Dots.SetLineWeight(2);

MACD_Dots.AssignValueColor(if MACD_Line > MACD_Line[1] then Color.GREEN else Color.RED);

plot zero = 0;

zero.AssignValueColor(if MACD_Line < 0 then Color.RED else Color.GREEN);

zero.SetLineWeight(2);

The way I would trade it is to ignore the colors, take the direction when the avg line moves outside the bb wave. These settings are almost identical to the paid product.

I looked at the code for the indicator, it is all encrypted.