Mac Divergence Average

Ghost

Member
Platform
  1. Thinkorswim
Mac Divergence is important in spotting slowed momentum in comparison to the trend of price. The indicator on top is the Mac Divergence Average, the one underneath is the previously posted Ema of an Ema indicator. As you can see it is much easier to spot divrgence of price to momentum when stacking these two together.


Code:
#Mac Divergence Average
#Ghost
declare lower;

input fastLength = 113;
input slowLength = 127;

plot Value = expaverage(close, fastLength) - expaverage(close, slowLength);

plot Avg = expaverage(Value, 47.5);
plot Avg2 = expaverage(Value, 55);

plot Avg1 = expaverage(Value, 113);
plot Avg21 = expaverage(Value, 121);

addcloud(avg,avg2, color.green,color.green);
addcloud(avg1,avg21, color.cyan,color.cyan);

Avg1.setdefaultColor(color.cyan);
Avg21.setdefaultColor(color.cyan);

Avg.setdefaultColor(color.green);
Avg2.setdefaultColor(color.green);

Value.setdefaultColor(color.dark_green);
plot ZeroLine = 0;
 

Ghost

Member
Added Dev Channels to it.


Code:
#Mac Divergence Average Channel
#Ghost
declare lower;
input UpColor = yes;
input DwnColor = yes;
input DevationCh = yes;

input fastLength = 89;
input slowLength = 113;

plot Value = expaverage(close, fastLength) - expaverage(close, slowLength);

plot Avg = expaverage(Value, 13);
plot Avg2 = expaverage(Value, 27);

plot Avg1 = expaverage(Value, 95);
plot Avg21 = expaverage(Value, 113);

addcloud(avg,avg2, color.green,color.green);
addcloud(avg1,avg21, color.cyan,color.cyan);

Avg1.setdefaultColor(color.cyan);
Avg21.setdefaultColor(color.cyan);

Avg.setdefaultColor(color.green);
Avg2.setdefaultColor(color.green);

Value.setdefaultColor(color.dark_green);
AssignPriceColor(if Value >= Avg and Upcolor then color.green else if Value <= Avg  and DwnColor then color.red else Color.CURRENT);
plot zeroline = 0;


input  length = 377;
input deviations1 = 1.236;
input deviations2 = 1.89;
input deviations3 = 3.236;
input deviations4 = 3.62;
def regression;
def stdDeviation;
    regression = InertiaAll(Value,length);
    stdDeviation = stdevAll(Value,length);


plot MiddleLine = regression;


plot UpperLine = regression + deviations1 * stdDeviation;
plot LowerLine = regression - deviations1 * stdDeviation;

plot UpperLine1 = regression + deviations2 * stdDeviation ;
plot LowerLine1 = regression - deviations2 * stdDeviation;

plot UpperLine2 = regression + deviations3 * stdDeviation ;
plot LowerLine2 = regression - deviations3 * stdDeviation;

plot UpperLine3 = regression + deviations4 * stdDeviation ;
plot LowerLine3 = regression - deviations4 * stdDeviation ;

MiddleLine.SetDefaultColor(color.green);

UpperLine.SetDefaultColor(color.dark_green);
LowerLine.SetDefaultColor(color.dark_green);

UpperLine1.SetDefaultColor(color.dark_green);
LowerLine1.SetDefaultColor(color.dark_green);

UpperLine2.SetDefaultColor(color.red);
LowerLine2.SetDefaultColor(color.red);

UpperLine3.SetDefaultColor(color.red);
LowerLine3.SetDefaultColor(color.red);

addcloud(lowerline, lowerline1, color.green);
addcloud(UpperLine1,UpperLine, color.green);

addcloud(UpperLine3,UpperLine2, color.red);
addcloud(LowerLine2,LowerLine3, color.red);
 
Last edited:
Top