
Strategi ini dirancang berdasarkan indikator CCI untuk strategi perdagangan garis panjang yang hanya melakukan over dan tidak melakukan short. Strategi ini menghasilkan sinyal beli ketika indikator CCI lebih dari 100 dan menghasilkan sinyal jual ketika indikator CCI di bawah 100. Strategi ini hanya memungkinkan posisi kosong dan tidak memungkinkan short, sehingga dapat secara efektif mencegah risiko perdagangan kosong.
Indeks CCI adalah indikator volatilitas tren, yang mengukur seberapa jauh harga saat ini dari harga khas dalam periode tertentu untuk menentukan apakah saat ini adalah keadaan overbought atau oversold. Ketika indikator CCI lebih dari 100 menunjukkan masuk ke daerah overbought, maka dapat dipertimbangkan untuk menjual; Ketika indikator CCI lebih dari -100 menunjukkan masuk ke daerah oversold, maka dapat dipertimbangkan untuk membeli.
Logika perdagangan strategi ini adalah bahwa ketika sinyal beli dihasilkan saat CCI melewati 100, maka posisi overhead dapat dibuat; Ketika indikator CCI menyusul setelah 100 dan menghasilkan sinyal jual, posisi overhead sebelumnya dihapus. Selain itu, strategi ini mencegah terjadinya posisi overhead kosong dengan cara hanya mengizinkan posisi kosong, untuk mengendalikan risiko secara efektif.
Strategi ini menggunakan indikator CCI untuk menilai area overbought dan oversold, hanya melakukan lebih banyak dan tidak kosong, dapat secara efektif mencegah risiko perdagangan kosong. Konsep strategi lebih matang, logika sederhana, dan mudah diterapkan. Tetapi ada juga risiko tertentu, perlu memperhatikan optimasi parameter, menggabungkan lebih banyak indikator, mengatur stop loss, dll. Dengan terus-menerus mengoptimalkan penyesuaian, strategi ini dapat menjadi pilihan strategi perdagangan garis panjang yang stabil dan andal.
/*backtest
start: 2022-12-11 00:00:00
end: 2023-12-17 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("CCI Long Only Strategy", overlay=true)
// Input for CCI period
cciPeriod = input(14, title="CCI Period")
// Calculate CCI
cciValue = ta.cci(close, cciPeriod)
// Initialize variables to track last signals
var bool lastBuySignal = na
var bool lastSellSignal = na
// Buy condition
buyCondition = cciValue > 100 and na(lastBuySignal)
// Sell condition
sellCondition = cciValue < -100 and na(lastSellSignal)
// Update last signals
lastBuySignal := buyCondition ? true : na
lastSellSignal := sellCondition ? true : na
// Execute Buy and Sell orders
strategy.entry("Buy", strategy.long, when = buyCondition)
strategy.close("Buy", when = sellCondition)
// Plot CCI for reference
plot(cciValue, title="CCI", color=color.blue)