
Strategi ini adalah sistem perdagangan pelacakan tren yang komprehensif, menggabungkan beberapa indikator teknis untuk mengkonfirmasi tren pasar dan sinyal perdagangan. Strategi ini menggunakan EMA crossover sebagai alat identifikasi tren utama, sementara mengintegrasikan RSI, ADX dan indikator volume transaksi untuk memfilter sinyal perdagangan, dan menggunakan stop loss dan stop loss yang dinamis untuk mengelola risiko.
Logika inti dari strategi ini didasarkan pada beberapa elemen kunci:
Kondisi pembelian harus dipenuhi pada saat bersamaan: EMA9 memakai EMA21, RSI lebih besar dari 50, volume transaksi lebih besar dari rata-rata, ADX lebih besar dari 25 Kondisi jual memenuhi salah satu: EMA9 di bawah EMA21, RSI kurang dari 50, volume transaksi kurang dari rata-rata ((dan ADX lebih besar dari 25)
Ini adalah strategi pelacakan tren yang dirancang dengan baik untuk meningkatkan keandalan perdagangan melalui penggunaan kombinasi dari beberapa indikator teknis. Keunggulan strategi adalah mekanisme pengakuan sinyal dan sistem manajemen risiko yang komprehensif, tetapi juga perlu memperhatikan optimasi parameter yang tepat sesuai dengan situasi pasar dalam penggunaan nyata. Dengan arah optimasi yang disarankan, stabilitas dan profitabilitas strategi diharapkan dapat ditingkatkan lebih lanjut.
/*backtest
start: 2025-01-10 00:00:00
end: 2025-02-09 00:00:00
period: 3h
basePeriod: 3h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Estrategia Avançada - EMA, RSI, ADX e Volume", overlay=true)
// Parâmetros das EMAs
ema9 = ta.ema(close, 9)
ema21 = ta.ema(close, 21)
// RSI
rsi14 = ta.rsi(close, 14)
// Cálculo do ADX usando ta.dmi
[plusDI, minusDI, adx] = ta.dmi(14, 14)
// Volume com média
volume_ma = ta.sma(volume, 20)
// Critérios de Compra (Bullish)
buy_signal = ta.crossover(ema9, ema21) and rsi14 > 50 and volume > volume_ma and adx > 25
// Critérios de Venda (Bearish)
sell_signal = ta.crossunder(ema9, ema21) or rsi14 < 50 or volume < volume_ma and adx > 25
// Plotando indicadores no gráfico
plot(ema9, color=color.blue, linewidth=2, title="EMA 9")
plot(ema21, color=color.red, linewidth=2, title="EMA 21")
hline(50, "RSI 50", color=color.gray)
// Stop Loss e Take Profit dinâmicos
long_sl = strategy.position_avg_price * 0.97 // Stop Loss de 3%
long_tp = strategy.position_avg_price * 1.05 // Take Profit de 5%
short_sl = strategy.position_avg_price * 1.03 // Stop Loss de 3% para vendas
short_tp = strategy.position_avg_price * 0.95 // Take Profit de 5% para vendas
// Executando compra
if buy_signal
strategy.close("Venda") // Fecha posição de venda se existir
strategy.entry("Compra", strategy.long)
strategy.exit("TakeProfit", from_entry="Compra", limit=long_tp, stop=long_sl)
// Executando venda
if sell_signal
strategy.close("Compra") // Fecha posição de compra se existir
strategy.entry("Venda", strategy.short)
strategy.exit("TakeProfit", from_entry="Venda", limit=short_tp, stop=short_sl)
// Alertas configurados
alertcondition(buy_signal, title="Sinal de Compra", message="Hora de comprar!")
alertcondition(sell_signal, title="Sinal de Venda", message="Hora de vender!")