Strategi kombinasi crossover rata-rata bergerak dan indikator pembalikan

Penulis:ChaoZhang, Tanggal: 2023-12-13 15:20:20
Tag:

img

Gambaran umum

Strategi ini mengintegrasikan rata-rata bergerak, indeks kekuatan relatif dan indeks saluran komoditas, membentuk strategi pelacakan tren dan kombinasi indikator yang relatif lengkap.

Prinsip Strategi

  1. Gunakan hl2 untuk menghitung harga tengah.

  2. Hitung indikator CCI 14 periode untuk menilai tren utama. Ketika CCI lebih besar dari 0, tren naik. Ketika kurang dari 0, tren turun.

  3. Hitung garis cepat dari indikator RSI 14 periode dan garis lambat dari indikator RSI 50 periode. Ketika garis cepat melintasi di atas garis lambat, sinyal beli dihasilkan. Ketika garis cepat melintasi di bawah garis lambat, sinyal jual dihasilkan.

  4. Sinyal perdagangan yang sebenarnya hanya dihasilkan ketika indikator CCI juga sesuai dengan arah sinyal indikator RSI. Artinya, beli hanya ketika CCI lebih besar dari 0 dan RSI garis cepat melintasi di atas garis lambat, dan menjual hanya ketika CCI kurang dari 0 dan RSI garis cepat melintasi di bawah garis lambat.

  5. Bandingkan harga dengan rata-rata bergerak 14 periode hl2 untuk membantu menilai tren minor, sehingga menghindari pecah palsu. Sinyal beli hanya dihasilkan ketika harga berada di atas rata-rata bergerak 14 periode hl2 dan indikator RSI melintasi ke atas. Sinyal jual hanya dihasilkan ketika harga berada di bawah rata-rata bergerak 14 periode hl2 dan indikator RSI melintasi ke bawah.

Analisis Keuntungan

  1. Strategi ini mengintegrasikan penilaian tren dan sinyal pembalikan untuk masuk tepat waktu setelah awal tren, dan menggunakan indikator sinyal pembalikan untuk menentukan titik keluar, sehingga mendapatkan pengembalian yang lebih baik.

  2. Indeks saluran komoditas secara akurat menentukan arah tren utama, menghindari pilihan arah perdagangan yang salah.

  3. Perpindahan garis cepat dan lambat dari indeks kekuatan relatif berfungsi sebagai sinyal yang dapat diandalkan, menghindari masalah lag dari moving average, dan dapat menangkap pembalikan harga tepat waktu.

  4. Membandingkan harga dengan garis median dapat lebih lanjut menyaring pecah palsu yang menyebabkan sinyal yang salah.

  5. Secara keseluruhan, strategi ini memiliki stabilitas yang baik dan berkinerja baik dalam tren yang kuat.

Analisis Risiko

  1. Strategi ini sensitif terhadap varietas perdagangan, membutuhkan optimasi parameter untuk varietas tertentu.

  2. Pengaturan parameter seperti rata-rata bergerak 14 periode dan rata-rata bergerak 50 periode perlu disesuaikan sesuai dengan pasar yang berbeda. Pengaturan parameter yang tidak tepat juga dapat menyebabkan kinerja yang buruk.

  3. Mengandalkan CCI saja untuk menentukan arah tren utama masih belum cukup sempurna, dengan beberapa keterlambatan.

  4. Kombinasi indikator sinyal pembalikan relatif besar, yang dapat menyebabkan tingkat tertentu dari over-optimasi.

Arahan Optimasi

  1. Pertimbangkan untuk menambahkan lebih banyak indikator untuk menilai tren utama, seperti DMI, ADX, dll, untuk membuat penilaian tren lebih tepat.

  2. Peningkatan logika stop loss. Misalnya, setelah sinyal pembalikan muncul, jika harga callback lagi dengan amplitudo tertentu, stop loss exit dapat dianggap untuk mengurangi kerugian.

  3. Mengoptimalkan parameter untuk membuatnya lebih cocok untuk varietas perdagangan tertentu. Misalnya, meningkatkan parameter siklus garis lambat, atau menyesuaikan metode perhitungan harga pertengahan, dll.

  4. Membangun kombinasi optimasi parameter untuk memilih parameter optimal untuk varietas yang berbeda, yang dapat sangat meningkatkan penerapan strategi.

  5. Tambahkan indikator momentum untuk menghindari sinyal yang menyesatkan ketika momentum tidak cukup.

Kesimpulan

Kerangka kerja keseluruhan strategi ini lengkap, mengintegrasikan penilaian tren dan indikator pembalikan, yang secara teoritis dapat memperoleh kinerja yang sangat baik. Tetapi dalam aplikasi yang sebenarnya, masih membutuhkan optimasi parameter dan model untuk varietas perdagangan untuk mengurangi risiko overfit. Jika melewati pengujian statistik yang ketat, itu memiliki potensi untuk menjadi strategi yang stabil yang layak direkomendasikan.


/*backtest
start: 2022-12-06 00:00:00
end: 2023-12-12 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © SuchitRaju

//@version=4
strategy("MA RSI CCI")

price_up = if(close > open and close > sma(hl2,14))
    1
else
    0

price_down = if(open > close and close < sma(hl2,14))
    1
else
    0
// 

cci_indicator = cci(hl2, 14)
// plot(cci_indicator, color=color.blue)

rsi_slow = sma(rsi(close, 14), 50)
// plot(rsi_slow, color=color.red)

rsi_fast = rsi(close, 14)
// plot(rsi_fast, color=color.green)

isCrossover = if(rsi_fast > rsi_slow and cci_indicator > 0)
    1
else
    0
// plotshape(isCrossover, style = shape.arrowup, color = color.green, size = size.huge)

isCrossunder = if(rsi_fast < rsi_slow and cci_indicator < 0)
    1
else
    0
// plotshape(isCrossunder, style = shape.arrowup, color = color.red, size = size.huge)

// start = timestamp("GMT-5", 2016,9,1,0,0)
// end = timestamp("GMT-5", 2017,9,1,0,0)

// strategy.entry("Long", strategy.long, 1, when = isCrossover and price_up)
// strategy.entry("Short", strategy.short, 1, when = isCrossunder and price_down)
// strategy.close("Long", when = isCrossunder and price_down)
// strategy.close("Short", when = isCrossover and price_up)

strategy.entry("Long", strategy.long, 1, when = isCrossover)
strategy.entry("Short", strategy.short, 1, when = isCrossunder)
strategy.close("Long", when = isCrossunder)
strategy.close("Short", when = isCrossover)

Lebih banyak