Strategi Perdagangan Komoditas CCI Bottom Catching Jangka Panjang yang Disesuaikan


Tanggal Pembuatan: 2023-12-21 14:30:03 Akhirnya memodifikasi: 2023-12-21 14:30:03
menyalin: 0 Jumlah klik: 476
1
fokus pada
1237
Pengikut

Strategi Perdagangan Komoditas CCI Bottom Catching Jangka Panjang yang Disesuaikan

Ringkasan

Strategi ini didasarkan pada indikator Commodity Channel Index (CCI) yang menggunakan standar entries adaptif dinamis untuk menilai waktu reversal tren, sementara menggunakan tracking stop loss untuk mengunci keuntungan. Nama strategi berupa prospek yang sesuai dengan dasar CCI. Strategi perdagangan komoditas yang mencakup inti dari strategi ini: menggunakan indikator CCI untuk menilai area oversold untuk menangkap peluang reversal, dan menggunakan entries adaptif dinamis untuk mengoptimalkan entries secara horizontal.

Prinsip Strategi

Indikator inti adalah indikator CCI, yang digunakan untuk menentukan daerah oversold sehingga memberi tahu peluang untuk membalikkan tren. Selain itu, luasnya area oversold CCI juga akan bervariasi tergantung pada indikator yang berbeda dan kondisi pasar. Oleh karena itu, strategi ini menggunakan cara prospektif untuk menentukan lokasi titik terendah CCI di masa lalu dan secara dinamis menetapkan tingkat pembelian CCI. Jika titik terendah CCI lebih besar dari -90 dalam 40 hari terakhir, maka -90 sebagai tingkat zona oversold baru; Jika titik terendah CCI lebih besar dari -70 dalam 50 hari terakhir, maka -70 sebagai tingkat zona oversold baru, dan sebagainya.

Secara khusus, tingkat CCI untuk sinyal pembelian default adalah -145. Kemudian, menentukan posisi titik terendah CCI selama 40 hari terakhir, 50 hari terakhir, dan lain-lain. Jika titik terendah lebih tinggi dari tingkat default berikutnya, misalnya -90, maka -90 sebagai level entri baru. Jika titik terendah lebih tinggi dari -90, maka -70 sebagai level entri baru, dan seterusnya.

Selain itu, strategi ini juga menggunakan tracking stop loss untuk mengunci keuntungan, dengan stop loss level yang bergerak ke atas seiring pergerakan harga.

Analisis Keunggulan

  • Menggunakan Indeks CCI untuk menilai area oversold dengan ide yang jelas dan terpercaya
  • Desain adaptif dinamis horizontal yang memungkinkan strategi untuk secara otomatis beradaptasi dengan berbagai jenis lingkungan pasar
  • Desain tracking stop loss memungkinkan strategi untuk mengunci keuntungan dengan baik

Dengan desain yang dinamis ini, waktu entries dapat dioptimalkan. Mencari standar entries yang lebih tinggi dapat mengurangi risiko di pasar yang lebih rendah, dan mengurangi standar entries dapat menangkap lebih banyak peluang di pasar yang disusun di antara zona getaran.

CCI sendiri sebagai indikator untuk menilai overbought dan oversold juga lebih jelas dan lebih dapat diandalkan, berdasarkan CCI untuk menilai perubahan tren. Dengan desain entri dinamis, keunggulan keseluruhan dari strategi ini sangat jelas.

Analisis risiko

  • Indikator CCI tidak sempurna, ada beberapa keterlambatan dalam indikator tersebut. Penghakiman mungkin tidak efektif ketika harga cepat menerobos bacaan CCI
  • Entries yang beradaptasi secara horizontal tidak dapat beradaptasi secara sempurna dengan perubahan lingkungan pasar, dan jika beradaptasi secara lambat, entries akan kehilangan waktu yang optimal
  • Pasar komoditas berfluktuasi besar, pengaturan stop loss yang tidak tepat dapat menyebabkan kerugian besar

Ada beberapa keterlambatan dalam pemikiran tentang titik balik tren berdasarkan CCI. Entries mungkin tidak tepat waktu ketika harga naik atau turun dengan cepat. Selain itu, mekanisme adaptasi dinamis entries yang horizontal juga sulit untuk cocok dengan lingkungan pasar saat ini, yang menyebabkan entries tidak selalu menjadi waktu yang optimal.

Arah optimasi

  • Mengoptimalkan parameter CCI dan siklus smoothing, menguji efek CCI untuk durasi waktu yang berbeda
  • Uji lebih banyak jenis Entries untuk mencari standar yang lebih baik atau desain yang lebih adaptif
  • Uji parameter stop loss yang berbeda, dengan meningkatkan stop loss yang sesuai untuk menyesuaikan dengan karakteristik pasar komoditas yang berfluktuasi tinggi

Hal ini dapat dioptimalkan dari beberapa aspek, mulai dari parameter CCI itu sendiri, pengaturan tingkat entri, dan parameter stop loss. Parameter yang lebih baik untuk menentukan posisi yang tepat untuk standar tertentu dapat meningkatkan efektivitas strategi.

Meringkaskan

Strategi ini menggabungkan penggunaan indikator CCI untuk menilai overbought dan oversold dengan desain tingkat Entries adaptif dinamis untuk menangkap tren yang pecah. Dibandingkan dengan parameter tetap, tingkat Entries dinamis secara signifikan meningkatkan kemampuan strategi untuk beradaptasi.

Kode Sumber Strategi
/*backtest
start: 2023-11-20 00:00:00
end: 2023-12-20 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Extended Adaptive CCI Entry Strategy for Commodities", shorttitle="Ext_Adaptive_CCI_Entry_Com", overlay=true)

// Inputs
cciLength = input(20, title="CCI Period")
defaultCCIEntryOversold = input(-145, title="Default CCI Entry Oversold Level")
adaptiveCCIEntryLevel90 = input(-90, title="Adaptive CCI Entry Level for 40 Days")
adaptiveCCIEntryLevel70_50Days = input(-70, title="Adaptive CCI Entry Level for 50 Days")
adaptiveCCIEntryLevel50 = input(-50, title="Adaptive CCI Entry Level for 60 Days")
adaptiveCCIEntryLevel4 = input(-4, title="Adaptive CCI Entry Level for 90 Days")
adaptiveCCIEntryLevel0 = input(0, title="Adaptive CCI Entry Level for 120 Days")
adaptiveCCIEntryLevel25 = input(25, title="Adaptive CCI Entry Level for 140 Days")
adaptiveCCIEntryLevel50_160Days = input(50, title="Adaptive CCI Entry Level for 160 Days")
adaptiveCCIEntryLevel70_180Days = input(70, title="Adaptive CCI Entry Level for 180 Days")
lookback40 = input(40, title="Lookback Period for -90 Level")
lookback50 = input(50, title="Lookback Period for -70 Level")
lookback60 = input(60, title="Lookback Period for -50 Level")
lookback90 = input(90, title="Lookback Period for -4 Level")
lookback120 = input(120, title="Lookback Period for 0 Level")
lookback140 = input(140, title="Lookback Period for +25 Level")
lookback160 = input(160, title="Lookback Period for +50 Level")
lookback180 = input(180, title="Lookback Period for +70 Level")

// Indicator Calculation
cci = ta.cci(close, cciLength)

// Determine adaptive entry level based on lookback periods
var float entryLevel = defaultCCIEntryOversold // Initialize with the default level
if ta.lowest(cci, lookback40) > adaptiveCCIEntryLevel90
    entryLevel := adaptiveCCIEntryLevel90
if ta.lowest(cci, lookback50) > adaptiveCCIEntryLevel70_50Days
    entryLevel := adaptiveCCIEntryLevel70_50Days
if ta.lowest(cci, lookback60) > adaptiveCCIEntryLevel50
    entryLevel := adaptiveCCIEntryLevel50
if ta.lowest(cci, lookback90) > adaptiveCCIEntryLevel4
    entryLevel := adaptiveCCIEntryLevel4
if ta.lowest(cci, lookback120) > adaptiveCCIEntryLevel0
    entryLevel := adaptiveCCIEntryLevel0
if ta.lowest(cci, lookback140) > adaptiveCCIEntryLevel25
    entryLevel := adaptiveCCIEntryLevel25
if ta.lowest(cci, lookback160) > adaptiveCCIEntryLevel50_160Days
    entryLevel := adaptiveCCIEntryLevel50_160Days
if ta.lowest(cci, lookback180) > adaptiveCCIEntryLevel70_180Days
    entryLevel := adaptiveCCIEntryLevel70_180Days

// Entry Condition
longCondition = cci < entryLevel

// Entry and Exit
if (longCondition)
    strategy.entry("Long", strategy.long, qty=1)
    alert("Long entry executed at " + str.tostring(close), alert.freq_once_per_bar)

trailOffset = input(10.0, title="Trailing Stop Offset in USD")
strategy.exit("Trailing Stop", "Long", trail_offset = trailOffset, trail_price = close)
if (close < entryLevel - trailOffset)
    alert("Long position closed at " + str.tostring(close), alert.freq_once_per_bar)

// Plotting
plot(series=cci, color=color.purple, title="CCI")
hline(price=defaultCCIEntryOversold, color=color.red, title="Default CCI Entry Oversold Level")
hline(price=adaptiveCCIEntryLevel90, color=color.orange, title="CCI -90 Level (40 Days)")
hline(price=adaptiveCCIEntryLevel70_50Days, color=color.yellow, title="CCI -70 Level (50 Days)")
hline(price=adaptiveCCIEntryLevel50, color=color.green, title="CCI -50 Level (60 Days)")
hline(price=adaptiveCCIEntryLevel4, color=color.blue, title="CCI -4 Level (90 Days)")
hline(price=adaptiveCCIEntryLevel0, color=color.purple, title="CCI 0 Level (120 Days)")
hline(price=adaptiveCCIEntryLevel25, color=color.aqua, title="CCI +25 Level (140 Days)")
hline(price=adaptiveCCIEntryLevel50_160Days, color=color.black, title="CCI +50 Level (160 Days)")
hline(price=adaptiveCCIEntryLevel70_180Days, color=color.gray, title="CCI +70 Level (180 Days)")