Strategi ini adalah sistem perdagangan yang komprehensif yang menggabungkan rata-rata bergerak multi-periode, sinyal overbought/oversold RSI, dan pengenalan pola harga. Strategi ini terutama menghasilkan sinyal perdagangan dengan mengidentifikasi titik balik tren pasar melalui persimpangan rata-rata bergerak cepat dan lambat, zona indikator RSI overbought/oversold, dan pola engulfing bullish/bearish. Strategi ini menggunakan manajemen posisi berbasis persentase, menggunakan 10% ekuitas akun secara default untuk setiap perdagangan, yang membantu mencapai kontrol risiko yang lebih baik.
Logika inti dari strategi ini didasarkan pada elemen kunci berikut: 1. Sistem Moving Average: Menggunakan 9-periode dan 21-periode Simple Moving Averages (SMA) sebagai garis cepat dan lambat untuk menentukan arah tren melalui crossover. 2. Indikator Momentum RSI: Menggunakan RSI 14 periode dengan 70 sebagai tingkat overbought dan 30 sebagai tingkat oversold untuk mengkonfirmasi momentum harga. 3. Pengakuan Pola Harga: Secara programatis mengidentifikasi pola bullish dan bearish engulfing sebagai sinyal perdagangan tambahan. 4. Integrasi Sinyal: Sinyal beli membutuhkan penyeberangan MA cepat di atas MA lambat dengan RSI di zona oversold atau pola engulfing bullish; sinyal jual memerlukan penyeberangan MA cepat di bawah MA lambat dengan RSI di zona overbought atau pola engulfing bearish.
Ini adalah strategi perdagangan analisis teknis yang komprehensif yang dirancang dengan baik dan logis. Dengan menggabungkan beberapa indikator teknis dan pola harga, strategi ini mencapai generasi sinyal yang dapat diandalkan sambil mempertahankan kontrol risiko yang baik. Meskipun memiliki beberapa keterbatasan inheren, kinerja keseluruhan strategi dapat ditingkatkan lebih lanjut melalui arah optimasi yang disarankan. Pengguna perlu memperhatikan optimasi parameter dan adaptasi lingkungan pasar dalam aplikasi praktis untuk mencapai hasil perdagangan yang optimal.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-04 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Comprehensive Trading Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10) // Input parameters for moving averages fastLength = input.int(9, title="Fast MA Length") slowLength = input.int(21, title="Slow MA Length") rsiLength = input.int(14, title="RSI Length") rsiOverbought = input.int(70, title="RSI Overbought Level") rsiOversold = input.int(30, title="RSI Oversold Level") // Calculate moving averages fastMA = ta.sma(close, fastLength) slowMA = ta.sma(close, slowLength) // Calculate RSI rsi = ta.rsi(close, rsiLength) // Detect price action patterns (e.g., engulfing patterns) isBullishEngulfing = close > open and close[1] < open[1] and open < close[1] and close > open[1] isBearishEngulfing = close < open and close[1] > open[1] and open > close[1] and close < open[1] // Define conditions for buying and selling buyCondition = ta.crossover(fastMA, slowMA) and rsi < rsiOversold or isBullishEngulfing sellCondition = ta.crossunder(fastMA, slowMA) and rsi > rsiOverbought or isBearishEngulfing // Execute buy and sell orders if (buyCondition) strategy.entry("Buy", strategy.long) if (sellCondition) strategy.entry("Sell", strategy.short) // Plotting plot(fastMA, color=color.blue, linewidth=2, title="Fast MA") plot(slowMA, color=color.orange, linewidth=2, title="Slow MA") hline(rsiOverbought, "RSI Overbought", color=color.red) hline(rsiOversold, "RSI Oversold", color=color.green) plot(rsi, color=color.purple, linewidth=1, title="RSI") // Alert conditions alertcondition(buyCondition, title="Buy Signal", message="Price meets buy criteria") alertcondition(sellCondition, title="Sell Signal", message="Price meets sell criteria") // Plot signals on chart plotshape(series=buyCondition ? low : na, location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small, title="Buy Signal") plotshape(series=sellCondition ? high : na, location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small, title="Sell Signal")