OPEN-SOURCE SCRIPT
EMA-MACD-RSI Strategy PRO

//version=5
strategy("EMA-MACD-RSI Strategy PRO", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// === Indicatori ===
ema20 = ta.ema(close, 20)
ema50 = ta.ema(close, 50)
macdLine = ta.ema(close, 12) - ta.ema(close, 26)
signalLine = ta.ema(macdLine, 9)
rsi = ta.rsi(close, 14)
// === Condizioni Long ===
longCond = ta.crossover(ema20, ema50) and macdLine > signalLine and rsi > 50
if (longCond)
strategy.entry("Long", strategy.long)
// === Condizioni Short ===
shortCond = ta.crossunder(ema20, ema50) and macdLine < signalLine and rsi < 50
if (shortCond)
strategy.entry("Short", strategy.short)
// === Uscita ===
exitLong = ta.crossunder(macdLine, signalLine)
exitShort = ta.crossover(macdLine, signalLine)
if (exitLong)
strategy.close("Long")
if (exitShort)
strategy.close("Short")
// === Plot indicatori ===
plot(ema20, title="EMA 20", color=color.orange)
plot(ema50, title="EMA 50", color=color.teal)
// === Dashboard ===
var table dash = table.new(position.top_right, 2, 4, border_width=1)
if bar_index % 1 == 0
table.cell(dash, 0, 0, "Segnale", text_color=color.white, bgcolor=color.gray)
table.cell(dash, 1, 0, longCond ? "LONG" : shortCond ? "SHORT" : "-", text_color=color.white, bgcolor=longCond ? color.green : shortCond ? color.red : color.gray)
table.cell(dash, 0, 1, "RSI", text_color=color.white, bgcolor=color.gray)
table.cell(dash, 1, 1, str.tostring(rsi, format.mintick), text_color=color.white)
table.cell(dash, 0, 2, "MACD > Signal", text_color=color.white, bgcolor=color.gray)
table.cell(dash, 1, 2, str.tostring(macdLine > signalLine), text_color=color.white)
table.cell(dash, 0, 3, "EMA20 > EMA50", text_color=color.white, bgcolor=color.gray)
table.cell(dash, 1, 3, str.tostring(ema20 > ema50), text_color=color.white)
// === Alert ===
alertcondition(longCond, title="Segnale Long", message="LONG: EMA20 > EMA50, MACD > Signal, RSI > 50")
alertcondition(shortCond, title="Segnale Short", message="SHORT: EMA20 < EMA50, MACD < Signal, RSI < 50")
strategy("EMA-MACD-RSI Strategy PRO", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// === Indicatori ===
ema20 = ta.ema(close, 20)
ema50 = ta.ema(close, 50)
macdLine = ta.ema(close, 12) - ta.ema(close, 26)
signalLine = ta.ema(macdLine, 9)
rsi = ta.rsi(close, 14)
// === Condizioni Long ===
longCond = ta.crossover(ema20, ema50) and macdLine > signalLine and rsi > 50
if (longCond)
strategy.entry("Long", strategy.long)
// === Condizioni Short ===
shortCond = ta.crossunder(ema20, ema50) and macdLine < signalLine and rsi < 50
if (shortCond)
strategy.entry("Short", strategy.short)
// === Uscita ===
exitLong = ta.crossunder(macdLine, signalLine)
exitShort = ta.crossover(macdLine, signalLine)
if (exitLong)
strategy.close("Long")
if (exitShort)
strategy.close("Short")
// === Plot indicatori ===
plot(ema20, title="EMA 20", color=color.orange)
plot(ema50, title="EMA 50", color=color.teal)
// === Dashboard ===
var table dash = table.new(position.top_right, 2, 4, border_width=1)
if bar_index % 1 == 0
table.cell(dash, 0, 0, "Segnale", text_color=color.white, bgcolor=color.gray)
table.cell(dash, 1, 0, longCond ? "LONG" : shortCond ? "SHORT" : "-", text_color=color.white, bgcolor=longCond ? color.green : shortCond ? color.red : color.gray)
table.cell(dash, 0, 1, "RSI", text_color=color.white, bgcolor=color.gray)
table.cell(dash, 1, 1, str.tostring(rsi, format.mintick), text_color=color.white)
table.cell(dash, 0, 2, "MACD > Signal", text_color=color.white, bgcolor=color.gray)
table.cell(dash, 1, 2, str.tostring(macdLine > signalLine), text_color=color.white)
table.cell(dash, 0, 3, "EMA20 > EMA50", text_color=color.white, bgcolor=color.gray)
table.cell(dash, 1, 3, str.tostring(ema20 > ema50), text_color=color.white)
// === Alert ===
alertcondition(longCond, title="Segnale Long", message="LONG: EMA20 > EMA50, MACD > Signal, RSI > 50")
alertcondition(shortCond, title="Segnale Short", message="SHORT: EMA20 < EMA50, MACD < Signal, RSI < 50")
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.