Strategi Pembalikan CCI 4 Jam

Penulis:ChaoZhang, Tarikh: 2023-10-13 15:29:05
Tag:

Ringkasan

Ini adalah strategi perdagangan pembalikan berdasarkan penunjuk CCI. Ia akan membuka perdagangan pembalikan apabila penunjuk CCI menunjukkan tahap overbought atau oversold. Secara keseluruhan, strategi ini menggunakan ciri-ciri overbought dan oversold penunjuk CCI untuk menangkap peluang pembalikan harga.

Logika Strategi

Pertama, strategi ini berdasarkan kepada penunjuk CCI.

CCI = (Harga Tipikal - Purata Bergerak Sederhana) / (0.015 * Penyimpangan Standard)

Di mana, Harga Tipikal = (Paling Tinggi + Terendah + Tutup) / 3 Purata Bergerak Sederhana = Purata Bergerak Harga Tipikal selama N hari yang lalu
Pengecualian standard = akar kuasa dua dari variasi Harga Tipikal selama N hari yang lalu

Strategi ini menggunakan penunjuk CCI 11 tempoh. dan -150 ditetapkan sebagai tahap oversold, manakala 150 sebagai tahap overbought.

Pada setiap bar ditutup, penunjuk CCI 11 tempoh akan diperiksa. Jika CCI melintasi di bawah -150, isyarat panjang dihasilkan. Jika CCI melintasi di atas 150, isyarat pendek dihasilkan.

Selepas menerima isyarat, pesanan pasaran akan digunakan untuk membuka kedudukan.

Analisis Kelebihan

  1. Menggunakan penunjuk CCI dapat menangkap peluang pembalikan harga dengan berkesan
  2. Parameter CCI boleh diselaraskan untuk pengoptimuman
  3. Sasaran keuntungan tetap dan nisbah stop loss berkesan mengawal risiko
  4. Logik strategi yang mudah dan jelas, mudah difahami dan dilaksanakan

Analisis Risiko

  1. Indikator CCI boleh menghasilkan banyak isyarat palsu, isyarat masuk mungkin tidak boleh dipercayai
  • Penyelesaian: Mengoptimumkan parameter CCI, menambah penapis dengan penunjuk lain
  1. Sasaran keuntungan tetap dan nisbah stop loss mungkin tidak sesuai untuk produk yang berbeza
  • Penyelesaian: Tambah sasaran keuntungan dinamik dan stop loss
  1. Strategi hanya bergantung kepada CCI, risiko tidak berkesan tinggi
  • Penyelesaian: Gabungkan beberapa penunjuk untuk meningkatkan ketahanan
  1. Tiada pertimbangan pada kos dagangan, persembahan langsung mungkin menderita
  • Penyelesaian: Tambah kawalan slippage, mengurangkan kekerapan dagangan

Arahan pengoptimuman

  1. Mengoptimumkan parameter CCI untuk mencari kombinasi parameter yang lebih baik
  2. Tambah penunjuk lain seperti MACD, KDJ untuk penapisan isyarat
  3. Membangunkan sasaran keuntungan dinamik dan hentikan kerugian bukannya nisbah tetap
  4. Mengoptimumkan strategi untuk mengurangkan kekerapan perdagangan, mengurangkan kesan kos perdagangan
  5. Melakukan pengoptimuman backtesting untuk mencari kombinasi parameter terbaik untuk perdagangan langsung

Ringkasan

Strategi pembalikan CCI 4 jam adalah strategi mudah yang menggunakan penunjuk CCI untuk perdagangan pembalikan. Ia mempunyai kelebihan logik yang jelas dan pelaksanaan yang mudah. Tetapi ia juga mempunyai kelemahan seperti isyarat CCI yang tidak boleh dipercayai dan sasaran keuntungan / stop loss yang tidak fleksibel. Penambahbaikan lanjut boleh dibuat dengan mengoptimumkan parameter CCI, menambah penunjuk penapis, membangunkan keluar dinamik, dll. Secara keseluruhan strategi ini memberikan idea berasaskan CCI untuk perdagangan kuantitatif, tetapi memerlukan pengoptimuman lanjut sebelum aplikasi langsung.


/*backtest
start: 2023-09-12 00:00:00
end: 2023-10-12 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("4H CCI Strategy", overlay=true)
length = input( 11 )
overSold = input( -150 )
overBought = input( +150 )
price1 = high
price2 = low
ucci = cci(price1, length)
dcci = cci(price2, length)
vcci = cci(ohlc4, 11)

resCustom = input(title="Timeframe", defval="15")
Length = input(16, minval=1)
xPrice = request.security(syminfo.tickerid, resCustom, hlc3)
xvnoise = abs(xPrice - xPrice[1])
nfastend = 0.666
nslowend = 0.0645
nsignal = abs(xPrice - xPrice[Length])
nnoise = sum(xvnoise, Length)
nefratio = iff(nnoise != 0, nsignal / nnoise, 0)
nsmooth = pow(nefratio * (nfastend - nslowend) + nslowend, 2) 
nAMA = nz(nAMA[1]) + nsmooth * (xPrice - nz(nAMA[1]))
basis1 = nAMA
slope = change(basis1,1)

if (not na(vcci))
    if (crossover(dcci, overSold))
        strategy.entry("CCILE", strategy.long, comment="CCILE")
        strategy.exit("exit", "CCILE", profit = 0.01, loss = 0.005)
    if (crossunder(ucci, overBought))
        strategy.entry("CCISE", strategy.short, comment="CCISE")
        strategy.exit("exit", "CCISE", profit = 0.01, loss = 0.005)
//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)

Lebih lanjut