Hello, I'm trying to get a script that paints arrows when the moving average crosses the On Balance Volume (OBV) line. I've got it to the point where it's painting arrows, but they're painting on the lower part of the study and not where the crossover occurs. Here's the code I have so far. I am NOT a coder and have basically piecemealed this together so I'm sure it's something obvious to anyone with true experience. Any help getting these arrows to paint correctly would be greatly appreciated. Thanks!
declare lower;
input length = 7;
input signalLength = 10;
input averageType = AverageType.EXPONENTIAL;
input crossingType - {default Bullish, Bearish};
def obv = reference OnBalanceVolume();
plot OBVM = MovingAverage(averageType, obv, length);
plot Signal = MovingAverage(averageType, OBVM, signalLength);
OBVM.SetDefaultColor(GetColor(8));
Signal.SetDefaultColor(GetColor(2));
plot signalUP = Crosses(OBVM, Signal, CrossingDirection.Above);
plot signalDN = Crosses(OBVM, Signal, CrossingDirection.Below);
signalUP.SetPaintingStrategy(PaintingStrategy.Boolean_Arrow_UP);
signalUP.DefineColor("Bullish", GetColor(1));
signalDN.SetPaintingStrategy(PaintingStrategy.Boolean_Arrow_DOWN);
signalDN.DefineColor("Bearish", GetColor(1));
#Trigger alerts
alert(signalUP, "Crossover", Alert.Bar, Sound.Ding);
alert(signalDN, "Crossover", Alert.Bar, Sound.Ding);