OPEN-SOURCE SCRIPT
9 EMA Angle Color Indicator

//version=5
indicator("9 EMA Angle Color Indicator", overlay=true)
// === INPUTS ===
emaLength = input.int(9, title="EMA Length")
angleThreshold = input.float(20.0, title="Angle Threshold (Degrees)", minval=0.1)
lookbackBars = input.int(5, title="Bars to Calculate Angle", minval=1)
// === EMA CALCULATION ===
emaValue = ta.ema(close, emaLength)
// === ANGLE CALCULATION (in degrees) ===
// Use simple slope * 100 and arc tangent conversion to degrees
slope = (emaValue - emaValue[lookbackBars]) / lookbackBars
angle = math.atan(slope) * (180 / math.pi)
// === COLOR LOGIC ===
var color emaColor = color.black
// Initial color: black when angle is within range
emaColor := color.black
// Price and angle-based color change
if angle > angleThreshold and close > emaValue
emaColor := color.green
else if angle < -angleThreshold and close < emaValue
emaColor := color.red
else
emaColor := color.black
// === PLOT EMA ===
plot(emaValue, color=emaColor, linewidth=2, title="9 EMA Colored")
indicator("9 EMA Angle Color Indicator", overlay=true)
// === INPUTS ===
emaLength = input.int(9, title="EMA Length")
angleThreshold = input.float(20.0, title="Angle Threshold (Degrees)", minval=0.1)
lookbackBars = input.int(5, title="Bars to Calculate Angle", minval=1)
// === EMA CALCULATION ===
emaValue = ta.ema(close, emaLength)
// === ANGLE CALCULATION (in degrees) ===
// Use simple slope * 100 and arc tangent conversion to degrees
slope = (emaValue - emaValue[lookbackBars]) / lookbackBars
angle = math.atan(slope) * (180 / math.pi)
// === COLOR LOGIC ===
var color emaColor = color.black
// Initial color: black when angle is within range
emaColor := color.black
// Price and angle-based color change
if angle > angleThreshold and close > emaValue
emaColor := color.green
else if angle < -angleThreshold and close < emaValue
emaColor := color.red
else
emaColor := color.black
// === PLOT EMA ===
plot(emaValue, color=emaColor, linewidth=2, title="9 EMA Colored")
Skrip sumber terbuka
Dalam semangat sebenar TradingView, pencipta skrip ini telah menjadikannya sumber terbuka supaya pedagang dapat menilai dan mengesahkan kefungsiannya. Terima kasih kepada penulis! Walaupun anda boleh menggunakannya secara percuma, ingat bahawa menerbitkan semula kod ini adalah tertakluk kepada Peraturan Dalaman kami.
Penafian
Maklumat dan penerbitan adalah tidak dimaksudkan untuk menjadi, dan tidak membentuk, nasihat untuk kewangan, pelaburan, perdagangan dan jenis-jenis lain atau cadangan yang dibekalkan atau disahkan oleh TradingView. Baca dengan lebih lanjut di Terma Penggunaan.
Skrip sumber terbuka
Dalam semangat sebenar TradingView, pencipta skrip ini telah menjadikannya sumber terbuka supaya pedagang dapat menilai dan mengesahkan kefungsiannya. Terima kasih kepada penulis! Walaupun anda boleh menggunakannya secara percuma, ingat bahawa menerbitkan semula kod ini adalah tertakluk kepada Peraturan Dalaman kami.
Penafian
Maklumat dan penerbitan adalah tidak dimaksudkan untuk menjadi, dan tidak membentuk, nasihat untuk kewangan, pelaburan, perdagangan dan jenis-jenis lain atau cadangan yang dibekalkan atau disahkan oleh TradingView. Baca dengan lebih lanjut di Terma Penggunaan.