Strategi perdagangan mengikuti tren berdasarkan CCI dan EMA


Tanggal Pembuatan: 2023-11-02 15:17:22 Akhirnya memodifikasi: 2023-11-02 15:17:22
menyalin: 0 Jumlah klik: 559
1
fokus pada
1166
Pengikut

Strategi perdagangan mengikuti tren berdasarkan CCI dan EMA

Ringkasan

Gagasan inti dari strategi ini adalah menggunakan indikator CCI untuk menentukan arah tren pasar, dan menggunakan indikator EMA untuk memperlancar CCI, untuk mencapai perdagangan mengikuti tren. Lakukan lebih banyak saat melewati titik beli di atas CCI, kosong saat melewati titik jual di bawah CCI, untuk mencapai tujuan mengikuti tren pasar.

Prinsip Strategi

  1. Perhitungan indikator CCI. Indikator CCI digunakan untuk menilai apakah harga saham saat ini telah overbought atau oversold dengan ukuran penyimpangan harga penutupan hari dan rata-rata 20 hari terakhir. Rumusnya adalah: ((typical price - 20 hari SMA) / (0.015 * 20 hari standar perbedaan harga khas).

  2. Proses EMA yang halus pada indikator CCI menghasilkan kurva CCI-EMA untuk mengurangi getaran indikator CCI dan membuat sinyal lebih jelas.

  3. Tetapkan titik beli dan jual CCI. Bila di atas CCI-EMA melewati titik beli, lakukan over; bila di bawah CCI-EMA melewati titik jual, lakukan over.

  4. Tahan posisi sampai CCI-EMA menyentuh titik beli atau jual lagi dan posisi kosong.

Analisis Keunggulan Strategi

  1. CCI digunakan untuk menentukan arah tren pasar, kemudian digabungkan dengan EMA filter sinyal palsu, dapat secara efektif melacak tren pasar.

  2. Indikator CCI sangat sensitif terhadap harga dan dapat menangkap perubahan tren dengan cepat. Indikator EMA dapat mengurangi tingkat kesalahan. Jika digunakan bersama, peluang dapat ditangkap pada tahap awal tren.

  3. Menggunakan strategi mengikuti tren dapat meminimalkan jumlah transaksi, mengurangi biaya transaksi dan kehilangan slippage.

  4. Strategi ini memiliki beberapa kelayakan di lapangan.

Analisis Risiko Strategi

  1. Indikator CCI memiliki masalah dengan sensitivitas yang berlebihan terhadap kurva, EMA tidak dapat sepenuhnya menyingkirkan semua sinyal palsu, tetap ada risiko misinformasi tertentu.

  2. Trend murni mengikuti strategi, mudah kehilangan ketika tren bergoyang atau berbalik. Penggunaan indikator penilaian tren harus dikombinasikan dengan tepat.

  3. Strategi perdagangan mekanis, tidak dapat menyesuaikan parameter secara fleksibel sesuai dengan kondisi pasar, berisiko terlalu dioptimalkan.

  4. Data retesting tidak cukup, tidak dapat sepenuhnya mencerminkan kinerja hard disk. Parameter harus disesuaikan dengan tepat saat hard disk, dan pengendalian stop loss harus dikontrol secara ketat.

Arah optimasi strategi

  1. Mengoptimalkan parameter CCI, menguji efek parameter dari siklus panjang yang berbeda.

  2. Optimalkan parameter EMA untuk mencari panjang siklus EMA yang optimal.

  3. Uji kombinasi parameter yang berbeda untuk menemukan parameter yang optimal.

  4. Dalam kombinasi dengan indikator lain, pertimbangkan untuk membalikkan tren, dan tetapkan stop loss untuk menghindari peningkatan kerugian.

  5. Tambahkan fungsi optimasi parameter otomatis untuk mencari kombinasi parameter optimal berdasarkan varietas yang berbeda.

Meringkaskan

Strategi ini secara keseluruhan merupakan strategi perdagangan yang lebih sederhana untuk mengikuti tren. Ini menggunakan CCI untuk menentukan arah tren dan sensitif terhadap perubahan harga, bekerja sama dengan EMA untuk melakukan filter untuk menghasilkan sinyal perdagangan. Strategi ini memiliki beberapa keuntungan, tetapi ada juga beberapa risiko yang perlu diperhatikan.

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

//@version=4
strategy("CCI with EMA Strategy", overlay=false, pyramiding=1, default_qty_type= strategy.percent_of_equity, default_qty_value = 100, calc_on_order_fills=false, slippage=0,commission_type=strategy.commission.percent,commission_value=0.07)

length = input(20, minval=1)
src = input(close, title="Source")
cciSellPoint = input(0, title = 'CCI Sell Point', type = input.integer) 
cciBuyPoint = input(0, title = 'CCI Buy Buy Point', type = input.integer) 
lengthcci = input(12,"length cci ema", minval=1)

ma = sma(src, length)
cci = (src - ma) / (0.015 * dev(src, length))
cciema=ema(cci,lengthcci)
plot(cci, "CCI", color=#996A15)
plot(cciSellPoint, title = 'CCI  Sell Point', color = color.red, linewidth = 1, style = plot.style_cross, transp = 35)
plot(cciBuyPoint, title = 'CCI Buy Point', color = color.green, linewidth = 1, style = plot.style_cross, transp = 35)
plot(cciema, title = 'CCI EMA', color = color.green, linewidth = 1, transp = 35)
band1 = hline(100, "Upper Band", color=#C0C0C0, linestyle=hline.style_dashed)
band0 = hline(-100, "Lower Band", color=#C0C0C0, linestyle=hline.style_dashed)
fill(band1, band0, color=#9C6E1B, title="Background")

startLongTrade=  cciema >cciBuyPoint 
startShortTrade= cciema <cciSellPoint

//exitLong = cciema <cciSellPoint
//exitShort = cciema >cciBuyPoint 

strategy.entry("long",strategy.long, when = startLongTrade )
//strategy.close( "long", when=exitLong)
strategy.entry("short",strategy.short,when=startShortTrade )
//strategy.close("short", when=exitShort)