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")
Script open-source
In pieno spirito TradingView, il creatore di questo script lo ha reso open-source, in modo che i trader possano esaminarlo e verificarne la funzionalità. Complimenti all'autore! Sebbene sia possibile utilizzarlo gratuitamente, ricorda che la ripubblicazione del codice è soggetta al nostro Regolamento.
Declinazione di responsabilità
Le informazioni ed i contenuti pubblicati non costituiscono in alcun modo una sollecitazione ad investire o ad operare nei mercati finanziari. Non sono inoltre fornite o supportate da TradingView. Maggiori dettagli nelle Condizioni d'uso.
Script open-source
In pieno spirito TradingView, il creatore di questo script lo ha reso open-source, in modo che i trader possano esaminarlo e verificarne la funzionalità. Complimenti all'autore! Sebbene sia possibile utilizzarlo gratuitamente, ricorda che la ripubblicazione del codice è soggetta al nostro Regolamento.
Declinazione di responsabilità
Le informazioni ed i contenuti pubblicati non costituiscono in alcun modo una sollecitazione ad investire o ad operare nei mercati finanziari. Non sono inoltre fornite o supportate da TradingView. Maggiori dettagli nelle Condizioni d'uso.