Strategi ini adalah sistem perdagangan momentum berdasarkan Indeks Saluran Komoditas (CCI), yang dirancang untuk menangkap peluang perdagangan di daerah oversold dengan memantau penyimpangan harga dari rata-rata. Strategi ini menggunakan 12 periode lookback, memasuki posisi panjang ketika CCI turun di bawah ambang -90, keluar ketika harga penutupan melanggar di atas rekor sebelumnya, dan mencakup mekanisme stop-loss dan take-profit opsional.
Prinsip inti menggunakan CCI untuk mengukur deviasi harga dari rata-ratanya. Perhitungan CCI melibatkan: pertama menghitung harga khas (rata-rata aritmatika harga tinggi, rendah dan dekat), kemudian menghitung Rata-rata Bergerak Sederhana (SMA) dari harga khas, akhirnya memperoleh CCI dengan mengurangi SMA dari harga khas, membagi dengan deviasi rata-rata dan mengalikan dengan 0.015. Posisi panjang dimasukkan ketika CCI turun di bawah -90, menunjukkan kondisi oversold yang mungkin; posisi ditutup ketika harga menembus level tertinggi sebelumnya, mengkonfirmasi tren naik. Strategi ini menawarkan parameter stop-loss dan take-profit yang dapat disesuaikan untuk mengakomodasi preferensi risiko yang berbeda.
Strategi ini menangkap peluang oversold pasar melalui indikator CCI, dikombinasikan dengan mekanisme stop-loss dan take-profit untuk menciptakan sistem perdagangan yang lengkap. Strategi ini memiliki logika yang jelas, pelaksanaan yang mudah, dan kemampuan pengendalian risiko yang baik. Melalui langkah-langkah optimalisasi seperti penyaringan sinyal dan ambang batas dinamis, stabilitas dan profitabilitas strategi dapat ditingkatkan lebih lanjut. Pedagang disarankan untuk melakukan backtesting menyeluruh dan menyesuaikan parameter sesuai dengan karakteristik pasar tertentu sebelum implementasi langsung.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-27 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("CCI Threshold Strategy", overlay=false, initial_capital=50000, pyramiding=0, commission_type=strategy.commission.cash_per_contract, commission_value=0.05, slippage=1) // --- Input Parameters --- // Lookback period for CCI calculation lookbackPeriod = input.int(12, minval=1, title="CCI Lookback Period") // Buy threshold for CCI; typically represents an oversold condition buyThreshold = input.int(-90, title="CCI Buy Threshold") // Stop loss and take profit settings stopLoss = input.float(100.0, minval=0.0, title="Stop Loss in Points") takeProfit = input.float(150.0, minval=0.0, title="Take Profit in Points") // Checkboxes to enable/disable SL and TP useStopLoss = input.bool(false, title="Enable Stop Loss") useTakeProfit = input.bool(false, title="Enable Take Profit") // --- Calculate CCI --- // CCI (Commodity Channel Index) is used as a momentum indicator to identify oversold and overbought conditions cci = ta.cci(close, length=lookbackPeriod) // --- Define Buy and Sell Conditions --- // Buy condition: CCI drops below -90, indicating potential oversold levels longCondition = cci < buyThreshold // Sell condition: Close price crosses above the previous day's high, signaling potential exit sellCondition = close > ta.highest(close[1], 1) // --- Strategy Execution --- // Buy entry based on the long condition if (longCondition) strategy.entry("Buy", strategy.long) // Close the long position based on the sell condition if (sellCondition) strategy.close("Buy") // Optional: Add stop loss and take profit for risk management if (longCondition) strategy.exit("Sell", from_entry="Buy", loss=useStopLoss ? stopLoss : na, profit=useTakeProfit ? takeProfit : na) // --- Plotting for Visualization --- // Plot CCI with threshold levels for better visualization plot(cci, title="CCI", color=color.blue) hline(buyThreshold, "Buy Threshold", color=color.red, linestyle=hline.style_dotted) hline(0, "Zero Line", color=color.gray, linestyle=hline.style_dotted)