Rate of Change of Hull MA


New member
Hi all,

I'm having trouble plotting a rate of change indicator of the Hull Moving Average, not price. Even though the Hull is the most responsive of the MA's I'm basically looking to view when the ROC of the MA starts to change direction thereby anticipating when the actual MA changes direction. Just a way of seeing if we can reduce the lag just a little bit more. I was thinking of a default input length of 3 or 5. Can anyone help with this? Thanks! Also, maybe even add EMA/WMA/SMA.


Well-known member
declare lower;

input price = close;
input length = 20;
input displace = 0;

def HMA = MovingAverage(AverageType.HULL, price, length)[-displace];

input colorNormLength = 14;

assert(length > 0, "'length' must be positive: " + length);

plot ROC = if hma[length] != 0 then (hma / hma[length] - 1) * 100 else 0;
plot ZeroLine = 0;

input length3 = 3;
input length10 = 10;
plot rocavg3 = simpleMovingAvg(roc,length3);
plot rocavg10 = simpleMovingAvg(roc,length10);

ROC.DefineColor("Highest", Color.YELLOW);
ROC.DefineColor("Lowest", Color.LIGHT_RED);
ROC.AssignNormGradientColor(colorNormLength, ROC.color("Lowest"), ROC.color("Highest"));

Similar threads