
Strategi ini adalah sistem perdagangan pelacakan tren berdasarkan beberapa indikator teknis. Ini menggabungkan garis rata-rata (EMA), indikator relatif kuat (RSI), volume (volume), dan indikator amplitudo riil (ATR) untuk menentukan waktu masuk, dan menggunakan ATR untuk mengatur posisi stop loss dan stop loss secara dinamis. Strategi ini juga menambahkan mekanisme konfirmasi K-line breakout untuk meningkatkan keandalan sinyal perdagangan.
Strategi menggunakan persilangan EMA cepat (siklus 9) dan EMA lambat (siklus 21) untuk menangkap perubahan tren. Atas dasar ini, kombinasi dengan RSI (siklus 14) untuk memfilter zona overbought, mengharuskan nilai RSI berada di luar zona overbought (siklus 70) dan oversold (siklus 30). Sementara itu, strategi mengharuskan volume transaksi lebih besar dari rata-rata volume transaksi 20 siklus, dan perlu menutup harga untuk menembus titik tinggi dan rendah dari garis K sebelumnya sebagai konfirmasi tambahan.
Masukkan parameter indikator adaptasi: Periode EMA dan RSI dapat disesuaikan secara otomatis sesuai dengan fluktuasi pasar, sehingga strategi lebih sesuai dengan kondisi pasar yang berbeda.
Tambahkan filter lingkungan pasar: Menambahkan indikator kekuatan tren seperti ADX, secara otomatis menurunkan posisi atau menghentikan perdagangan di pasar horizontal.
Optimalkan Stop Loss: Anda dapat mempertimbangkan untuk meningkatkan efektivitas penutupan kerusakan dengan menggunakan pengaturan penutupan posisi dukungan resistensi.
Manajemen volume transaksi yang lebih baik: Adaptasi ukuran kepemilikan sesuai dengan dinamika volatilitas dan likuiditas pasar.
Ini adalah strategi pelacakan tren yang terstruktur, logis dan ketat. Dengan penggunaan gabungan dari beberapa indikator teknis, keandalan sinyal perdagangan dijamin dan risiko dikendalikan secara efektif. Pengaturan stop loss yang dinamis memberikan perbandingan risiko / keuntungan yang baik.
/*backtest
start: 2024-02-21 00:00:00
end: 2025-02-18 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"TRB_USDT"}]
*/
//@version=6
strategy("15m EMA RSI Strategy with ATR SL/TP and Candle Break Confirmation", overlay=true, initial_capital=100000, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// INPUTS
fastLength = input.int(9, title="Fast EMA Length")
slowLength = input.int(21, title="Slow EMA Length")
rsiLength = input.int(14, title="RSI Length")
rsiOverbought = input.int(70, title="RSI Overbought Level")
rsiOversold = input.int(30, title="RSI Oversold Level")
volLength = input.int(20, title="Volume MA Length")
atrLength = input.int(14, title="ATR Length")
atrMultiplierSL = input.float(1.5, title="ATR Multiplier for Stop Loss")
atrMultiplierTP = input.float(3.0, title="ATR Multiplier for Take Profit")
trailingStopMultiplier = input.float(1.0, title="ATR Multiplier for Trailing Stop")
// INDICATOR CALCULATIONS
fastEMA = ta.ema(close, fastLength)
slowEMA = ta.ema(close, slowLength)
rsiValue = ta.rsi(close, rsiLength)
volMA = ta.sma(volume, volLength)
atr = ta.atr(atrLength)
// Candle Breakout Conditions for Confirmation
longCandleBreak = close > high[1]
shortCandleBreak = close < low[1]
// Plot EMAs for visual reference
plot(fastEMA, color=color.blue, title="Fast EMA")
plot(slowEMA, color=color.orange, title="Slow EMA")
// ENTRY CONDITIONS
longCondition = ta.crossover(fastEMA, slowEMA) and (rsiValue < rsiOverbought) and (volume > volMA) and longCandleBreak
shortCondition = ta.crossunder(fastEMA, slowEMA) and (rsiValue > rsiOversold) and (volume > volMA) and shortCandleBreak
// Plot Buy/Sell Signals on the Chart
plotshape(longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, size=size.normal)
plotshape(shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, size=size.normal)
// TRADE EXECUTION WITH ATR-BASED STOP LOSS, TAKE PROFIT, AND TRAILING STOP
if longCondition
longStop = close - atrMultiplierSL * atr
longTP = close + atrMultiplierTP * atr
strategy.entry("Long", strategy.long)
strategy.exit("Exit Long", from_entry="Long", stop=longStop, limit=longTP, trail_points=atr * trailingStopMultiplier)
if shortCondition
shortStop = close + atrMultiplierSL * atr
shortTP = close - atrMultiplierTP * atr
strategy.entry("Short", strategy.short)
strategy.exit("Exit Short", from_entry="Short", stop=shortStop, limit=shortTP, trail_points=atr * trailingStopMultiplier)
// OPTIONAL: Plot RSI for reference
hline(rsiOverbought, "Overbought", color=color.red)
hline(rsiOversold, "Oversold", color=color.green)
plot(rsiValue, color=color.purple, title="RSI")