OPEN-SOURCE SCRIPT
ARJUN JI Confirmed Signals

//version=6
indicator("ARJUN JI EMA8/30 Confirmed Signals", overlay=true)
// Inputs
emaFastLen = input.int(8, "Fast EMA Length")
emaSlowLen = input.int(30, "Slow EMA Length")
rsiLen = input.int(14, "RSI Length")
adxLen = input.int(14, "ADX Length")
adxThreshold = input.float(25, "ADX Threshold")
// Calculate EMAs
emaFast = ta.ema(close, emaFastLen)
emaSlow = ta.ema(close, emaSlowLen)
// RSI
rsi = ta.rsi(close, rsiLen)
// Manual ADX calculation
upMove = high - high[1]
downMove = low[1] - low
plusDM = (upMove > downMove and upMove > 0) ? upMove : 0
minusDM = (downMove > upMove and downMove > 0) ? downMove : 0
trur = ta.rma(ta.tr(true), adxLen)
plusDI = 100 * ta.rma(plusDM, adxLen) / trur
minusDI = 100 * ta.rma(minusDM, adxLen) / trur
dx = 100 * math.abs(plusDI - minusDI) / (plusDI + minusDI)
adx = ta.rma(dx, adxLen)
// EMA Crossover signals
emaBullCross = ta.crossover(emaFast, emaSlow)
emaBearCross = ta.crossunder(emaFast, emaSlow)
// Confirmation conditions
bullConfirm = (rsi > 50) and (adx > adxThreshold)
bearConfirm = (rsi < 50) and (adx > adxThreshold)
// Final signals
buySignal = emaBullCross and bullConfirm
sellSignal = emaBearCross and bearConfirm
// Plot EMAs
plot(emaFast, color=color.blue, title="EMA 8")
plot(emaSlow, color=color.red, title="EMA 30")
// Plot signals
plotshape(buySignal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY", size=size.small)
plotshape(sellSignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL", size=size.small)
// Alerts
alertcondition(buySignal, title="Buy Alert", message="ARJUN JI: EMA8/30 Bullish Crossover Confirmed")
alertcondition(sellSignal, title="Sell Alert", message="ARJUN JI: EMA8/30 Bearish Crossunder Confirmed")
indicator("ARJUN JI EMA8/30 Confirmed Signals", overlay=true)
// Inputs
emaFastLen = input.int(8, "Fast EMA Length")
emaSlowLen = input.int(30, "Slow EMA Length")
rsiLen = input.int(14, "RSI Length")
adxLen = input.int(14, "ADX Length")
adxThreshold = input.float(25, "ADX Threshold")
// Calculate EMAs
emaFast = ta.ema(close, emaFastLen)
emaSlow = ta.ema(close, emaSlowLen)
// RSI
rsi = ta.rsi(close, rsiLen)
// Manual ADX calculation
upMove = high - high[1]
downMove = low[1] - low
plusDM = (upMove > downMove and upMove > 0) ? upMove : 0
minusDM = (downMove > upMove and downMove > 0) ? downMove : 0
trur = ta.rma(ta.tr(true), adxLen)
plusDI = 100 * ta.rma(plusDM, adxLen) / trur
minusDI = 100 * ta.rma(minusDM, adxLen) / trur
dx = 100 * math.abs(plusDI - minusDI) / (plusDI + minusDI)
adx = ta.rma(dx, adxLen)
// EMA Crossover signals
emaBullCross = ta.crossover(emaFast, emaSlow)
emaBearCross = ta.crossunder(emaFast, emaSlow)
// Confirmation conditions
bullConfirm = (rsi > 50) and (adx > adxThreshold)
bearConfirm = (rsi < 50) and (adx > adxThreshold)
// Final signals
buySignal = emaBullCross and bullConfirm
sellSignal = emaBearCross and bearConfirm
// Plot EMAs
plot(emaFast, color=color.blue, title="EMA 8")
plot(emaSlow, color=color.red, title="EMA 30")
// Plot signals
plotshape(buySignal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY", size=size.small)
plotshape(sellSignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL", size=size.small)
// Alerts
alertcondition(buySignal, title="Buy Alert", message="ARJUN JI: EMA8/30 Bullish Crossover Confirmed")
alertcondition(sellSignal, title="Sell Alert", message="ARJUN JI: EMA8/30 Bearish Crossunder Confirmed")
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.