Strategi Pembalikan CCI 4 Jam


Tarikh penciptaan: 2023-10-13 15:29:05 Akhirnya diubah suai: 2023-10-13 15:29:05
Salin: 2 Bilangan klik: 929
1
fokus pada
1617
Pengikut

Gambaran keseluruhan

Strategi ini adalah strategi untuk melakukan perdagangan terbalik berdasarkan petunjuk CCI. Ia akan melakukan perdagangan terbalik apabila petunjuk CCI muncul di kawasan overbought dan oversold. Secara keseluruhannya, strategi ini menggunakan ciri-ciri overbought dan oversold dalam petunjuk CCI untuk menangkap peluang untuk membalikkan harga.

Prinsip Strategi

Pertama, strategi ini adalah berdasarkan kepada CCI. Formula pengiraan CCI adalah:

CCI = (Typical Price - Simple Moving Average) / (0.015 * perbezaan rata-rata)

Di antaranya, Harga tipikal = (harga tertinggi + harga terendah + harga penutupan) / 3 purata bergerak sederhana = purata bergerak harga tipikal dalam masa n hari Perbezaan rata-rata = rata-rata dari segi kuasa dua penyesuaian harga tipikal dalam masa N hari yang lalu

Strategi ini menggunakan indikator CCI dengan panjang 11, dan menetapkan -150 sebagai kawasan jual lebihan, 150 sebagai kawasan beli lebihan.

Pada setiap penutupan K, penunjuk CCI dengan panjang 11 akan diuji. Jika CCI di bawah tembus 150, isyarat lebih akan dikeluarkan; jika CCI di atas tembus 150, isyarat kosong akan dikeluarkan.

Selepas menerima isyarat, anda membuka kedudukan dengan harga pasaran sahaja. Dan anda menetapkan 1% Stop Stop dan 0.5% Stop Loss.

Kelebihan Strategik

  1. Menggunakan CCI untuk menangkap peluang harga yang berbalik
  2. Parameter CCI boleh disesuaikan untuk menguji parameter yang lebih baik
  3. Menggunakan Stop Loss Rasio Tetap untuk Mengendalikan Risiko
  4. Strategi logik mudah difahami dan mudah dilaksanakan

Risiko dan Penyelesaian

  1. Indeks CCI boleh menghasilkan banyak isyarat palsu, isyarat yang memasuki pasaran tidak semestinya boleh dipercayai
  • Penyelesaian: Optimumkan parameter CCI dengan penapisan lain
  1. Rasio stop loss yang tetap, parameter yang berbeza tidak semestinya munasabah
  • Penyelesaian: Tambahkan Stop Loss Dinamik
  1. Strategi hanya berdasarkan CCI, risiko tunggal, mudah gagal
  • Penyelesaian: Kombinasi Indeks untuk Meningkatkan Kestabilan
  1. Tidak boleh mengambil kira kos urus niaga
  • Penyelesaian: Menambah kawalan titik geser untuk mengurangkan frekuensi transaksi

Arah pengoptimuman

  1. Mengoptimumkan parameter CCI untuk mencari kombinasi parameter yang lebih baik
  2. Tambah MACD, KDJ dan lain-lain untuk penapisan masuk
  3. Membangunkan mekanisme hentian hentian dinamik, dan bukannya purata tetap yang mudah
  4. Strategi pengoptimuman untuk mengurangkan frekuensi transaksi untuk mengurangkan kos transaksi
  5. Melakukan pengoptimuman pengulangan, mencari kombinasi parameter yang optimum, dan bersedia untuk perdagangan cakera keras

ringkaskan

Strategi 4 jam CCI reversal secara keseluruhan adalah strategi mudah untuk melakukan perdagangan reversal menggunakan indikator CCI. Ia mempunyai kelebihan bahawa logik strategi jelas dan mudah dilaksanakan. Tetapi terdapat juga kelemahan seperti ketidakstabilan isyarat CCI, stop loss tidak cukup fleksibel.

Kod sumber strategi
/*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)