Note this indicator will REPAINT due to the nature of getting data from a higher time-frame. Repaints until the selected aggregation's time period ends.
MTF MACD of Symbol (default = VIX):
MTF MACD of Symbol (default = VIX):
Code:
# MTF_MACD_OF_Symbol
# by dart966 on 6.7.2025
declare lower;
input customSymbol = "VIX"; # User-defined Symbol
#MACD
input Aggregation1 = AggregationPeriod.FIVE_MIN;
input fastLength = 12;
input slowLength = 26;
input MACDLength = 9;
input averageType = AverageType.EXPONENTIAL;
def price1 = close(symbol = customSymbol, period = Aggregation1);
plot Value1 = MovingAverage(averageType, price1, fastLength) - MovingAverage(averageType, price1, slowLength);
plot Avg1 = MovingAverage(averageType, Value1, MACDLength);
plot Diff1 = Value1 - Avg1;
plot ZeroLine = 0;
plot UpSignal = if Diff1 crosses above ZeroLine then ZeroLine else Double.NaN;
plot DownSignal = if Diff1 crosses below ZeroLine then ZeroLine else Double.NaN;
Value1.SetDefaultColor(GetColor(1));
Avg1.SetDefaultColor(GetColor(8));
Diff1.SetDefaultColor(GetColor(5));
Diff1.SetPaintingStrategy(PaintingStrategy.HISTOGRAM);
Diff1.SetLineWeight(3);
Diff1.DefineColor("Positive and Up", Color.GREEN);
Diff1.DefineColor("Positive and Down", Color.DARK_GREEN);
Diff1.DefineColor("Negative and Down", Color.RED);
Diff1.DefineColor("Negative and Up", Color.DARK_RED);
Diff1.AssignValueColor(if Diff1 >= 0 then if Diff1 > Diff1[1] then Diff1.color("Positive and Up") else Diff1.color("Positive and Down") else if Diff1 < Diff1[1] then Diff1.color("Negative and Down") else Diff1.color("Negative and Up"));
ZeroLine.SetDefaultColor(GetColor(0));
# End Script
Last edited: