So I have this cool HMA with arrows script that @ebtrader worked on, but I wanted to make a small change thats a bit beyond my current skills. The current script paints the candles and plots a arrows based on price crossing HMA. I want to change it so that candles are painted and arrows placed when the HMA itself changes (ignoring price crossing, just focusing on HMA).
Thanks in advance to anyone who can help!
Here is the current script:
Thanks in advance to anyone who can help!
Here is the current script:
Code:
plot Data = close;#Hull Moving Average
#Colors and arrows and labels by EBTrader 02.22.15
input price = close;
input length = 9;
input displace = 0;
plot HMA = MovingAverage(AverageType.HULL, price, length)[-displace];
HMA.DefineColor("Up", color.green);
HMA.DefineColor("Down", color.red);
HMA.AssignValueColor(if price > HMA then HMA.color("Up") else HMA.color("Down"));
AssignPriceColor(if price > HMA then HMA.color("Up") else HMA.color("Down"));
#===================start arrows and labels
input crossingType = {default any, above, below};
def signal = CompoundValue(1, if crosses(price, HMA,crossingDirection.ABOVE) then 1 else if crosses(price, HMA, crossingDirection.BELOW) then -1 else signal[1], 0);
input showarrows = yes;
plot U1 = showarrows and signal > 0 and signal[1] <= 0;
U1.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_UP);
U1.SetDefaultColor(Color.green);
U1.SetLineWeight(3);
plot D1 = showarrows and signal < 0 and signal[1] >= 0;
D1.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_DOWN);
D1.SetDefaultColor(Color.red);
D1.SetLineWeight(3);
input usealerts = no;
Alert(usealerts and U1, "UP", Alert.BAR, Sound.Bell);
Alert(usealerts and D1, "DOWN", Alert.BAR, Sound.Chimes);
def uptrend = price > HMA;
def downtrend = price < HMA;
addlabel(uptrend, "Uptrend", color.green);
addlabel(downtrend, "Downtrend", color.red);
#================end arrows and labels
Last edited: