Strategi ini adalah sistem perdagangan yang mengikuti tren berdasarkan crossover rata-rata bergerak dan indikator RSI. Ini menggabungkan EMA20, EMA50, dan SMA200 untuk menentukan tren pasar, menggunakan indikator RSI untuk menyaring sinyal perdagangan, dan mengeksekusi perdagangan ketika harga melanggar level tertinggi sebelumnya.
Logika inti didasarkan pada kondisi kunci berikut: 1. Penentuan Tren: EMA20 harus berada di atas EMA50, dan SMA200 di bawah kedua EMA, mengkonfirmasi tren naik. Posisi Harga: Harga penutupan saat ini harus berada dalam kisaran 1% dari EMA20 atau EMA50, memastikan tingkat dukungan utama. Filter RSI: Nilai RSI harus di atas ambang batas yang ditetapkan (default 40), menyaring pasar yang kuat. 4. Entry Trigger: Posisi panjang dipicu ketika harga menembus puncak candles sebelumnya. 5. Manajemen Risiko: Menetapkan tingkat take-profit 25% dan stop-loss 10% untuk pengendalian risiko.
Strategi ini adalah sistem trend berikut yang terstruktur dengan baik dan logis. Melalui kombinasi beberapa indikator teknis, secara efektif menangkap tren pasar sambil mempertahankan manajemen risiko yang komprehensif. Strategi ini memiliki ruang yang signifikan untuk optimasi dan dapat mencapai stabilitas dan profitabilitas yang lebih baik melalui perbaikan berkelanjutan. Untuk pedagang jangka menengah hingga panjang, ini merupakan kerangka strategis yang bermanfaat.
/*backtest start: 2025-01-02 00:00:00 end: 2025-01-09 00:00:00 period: 5m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("EMA/SMA Strategy", overlay=false) // Input parameters ema20Length = input(20, title="20 EMA Length") ema50Length = input(50, title="50 EMA Length") sma200Length = input(200, title="200 SMA Length") rsiLength = input(14, title="RSI Length") rsiThreshold = input(40, title="RSI Threshold") // Calculate indicators ema20 = ta.ema(close, ema20Length) ema50 = ta.ema(close, ema50Length) sma200 = ta.sma(close, sma200Length) rsiValue = ta.rsi(close, rsiLength) // Conditions emaCondition = ema20 > ema50 and sma200 < ema20 and sma200 < ema50 priceNearEMA = (close <= ema20 * 1.01 and close >= ema20 * 0.99) or (close <= ema50 * 1.01 and close >= ema50 * 0.99) rsiCondition = rsiValue > rsiThreshold // Entry condition: Price crosses previous candle high entryCondition = priceNearEMA and rsiCondition and emaCondition and (close > high[1]) // Strategy entry if entryCondition strategy.entry("Long", strategy.long) // Take profit and stop loss settings takeProfitLevel = strategy.position_avg_price * 1.25 // Take profit at +25% stopLossLevel = strategy.position_avg_price * 0.90 // Stop loss at -10% // Exit conditions if strategy.position_size > 0 strategy.exit("Take Profit", from_entry="Long", limit=takeProfitLevel) strategy.exit("Stop Loss", from_entry="Long", stop=stopLossLevel) // Plotting indicators for visualization plot(ema20, color=color.blue, title="20 EMA") plot(ema50, color=color.red, title="50 EMA") plot(sma200, color=color.green, title="200 SMA") hline(rsiThreshold, "RSI Threshold", color=color.orange)