
Idea teras strategi ini adalah menggunakan penunjuk CCI untuk menentukan arah trend pasaran, dan menggunakan penunjuk EMA untuk mengendalikan CCI dengan lancar, untuk mencapai perdagangan mengikut trend. Berbuat lebih banyak apabila CCI melintasi titik beli, kosong apabila CCI melintasi titik jual, mencapai tujuan mengikuti trend pasaran.
Pengiraan Indeks CCI. Indeks CCI digunakan untuk menentukan sama ada harga saham semasa telah dibeli atau dijual dengan berlebihan berdasarkan perbezaan harga penutupan pada hari itu dengan garis rata-rata 20 hari yang lalu. Rumusnya adalah: ((harga tipikal - SMA 20 hari) / (0.015 * 20 hari perbezaan harga tipikal).
EMA diperhalusi untuk CCI, yang menghasilkan kurva CCI-EMA, untuk mengurangkan getaran CCI dan menjadikan isyarat lebih jelas.
Tetapkan titik beli dan jual CCI. Apabila CCI-EMA melintasi titik beli, buat lebih banyak; Apabila CCI-EMA melintasi titik jual, buat kosong.
memegang kedudukan sehingga CCI-EMA menyentuh titik beli atau jual sekali lagi.
Dengan menggunakan CCI untuk menentukan arah trend pasaran, ia digabungkan dengan EMA untuk menyaring isyarat palsu, yang boleh mengesan trend pasaran dengan berkesan.
Indeks CCI sangat sensitif terhadap harga, dan dapat menangkap perubahan trend dengan cepat. Indeks EMA dapat mengurangkan kadar kesalahan. Apabila kedua-duanya digunakan, peluang dapat ditangkap pada peringkat permulaan trend.
Menggunakan strategi trend-following dapat meminimumkan jumlah transaksi, mengurangkan kos transaksi dan kehilangan slippage.
Strategi ini mempunyai kesan yang lebih baik dan mempunyai kebolehan di lapangan.
Indeks CCI mempunyai masalah yang sensitif terhadap kurva, EMA tidak dapat menghapuskan semua isyarat palsu sepenuhnya, dan masih ada risiko salah maklumat.
Trend murni mengikuti strategi, mudah rugi apabila trend bergoyang atau berbalik. Penggunaan indikator penghakiman trend harus dikombinasikan dengan betul.
Strategi dagangan automatik yang tidak dapat menyesuaikan parameter secara fleksibel mengikut keadaan pasaran mempunyai risiko terlalu optimum.
Data pengesanan tidak mencukupi, tidak dapat sepenuhnya mencerminkan prestasi cakera hidup. Parameter harus disesuaikan dengan betul semasa cakera hidup, dan kawalan hentian yang ketat.
Mengoptimumkan parameter CCI, menguji kesan parameter untuk kitaran panjang yang berbeza.
Mengoptimumkan parameter EMA untuk mencari jangka masa EMA yang optimum.
Uji pelbagai kombinasi parameter titik jual beli untuk mencari parameter terbaik.
Dalam kombinasi dengan petunjuk lain, anda boleh menilai trend berbalik dan menetapkan titik henti untuk mengelakkan kerugian daripada berkembang.
Tambah fungsi pengoptimuman parameter automatik untuk mencari kombinasi parameter yang optimum secara automatik mengikut pelbagai jenis.
Strategi ini secara keseluruhannya adalah strategi perdagangan yang lebih sederhana. Ia menggunakan CCI untuk menentukan arah trend dan sensitif terhadap perubahan harga, dengan EMA untuk membuat gelombang untuk menghasilkan isyarat perdagangan. Strategi ini mempunyai kelebihan tertentu, tetapi terdapat beberapa risiko yang perlu diperhatikan.
/*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)