This study defines trend and momentum by taking the Hull Average Of The MACD.
Using the MACD Hull Moving Average (HMA) filters out noise and allows the identification of broader market trend.
Blue confirms bullish trend and momentum
Red confirms bearish
Orange == trend and momentum cannot be confirmed.
This approach can help to reduce the number of false signals and improve the overall accuracy of trading decisions.
Using the MACD Hull Moving Average (HMA) filters out noise and allows the identification of broader market trend.
Blue confirms bullish trend and momentum
Red confirms bearish
Orange == trend and momentum cannot be confirmed.
This approach can help to reduce the number of false signals and improve the overall accuracy of trading decisions.
thinkScript Code
Rich (BB code):
input price = close;
input length = 100;
input displace = 0;
input FastLength = 180;
input SlowLength = 208;
input MACDLength = 72;
input AverageType = {SMA, default EMA};
def macd = MACD(FastLength, SlowLength, MACDLength, AverageType).Diff;
def halflength = Ceil(length / 2);
def sqrtlength = Ceil(Sqrt(length));
def val = 2 * wma(price, halflength) - wma(price, length);
plot HMA = wma(val, sqrtlength)[-displace];
HMA.SetDefaultColor(GetColor(1));
HMA.SetLineWeight(2);
HMA.DefineColor("UP", Color.BLUE);
HMA.DefineColor("DOWN", Color.RED);
HMA.DefineColor("NEUTRAL", Color.ORANGE);
def isUP;
def isDOWN;
def isNEUTRAL;
if HMA > HMA[1] and macd >= 0 then {
isUP = yes;
isDOWN = no;
isNEUTRAL = no;
} else {
if HMA < HMA[1] and macd <= 0 then {
isUP = no;
isDOWN = yes;
isNEUTRAL = no;
} else {
isUP = no;
isDOWN = no;
isNEUTRAL = yes;
}
}
HMA.AssignValueColor(if isUP then HMA.color("UP") else if isDOWN then HMA.color("DOWN") else HMA.color("NEUTRAL"));
Shareable Script
https://tos.mx/nbwaBU
Last edited by a moderator: