Strategi kombinasi indikator persilangan rata-rata bergerak dan indikator pembalikan


Tanggal Pembuatan: 2023-12-13 15:20:20 Akhirnya memodifikasi: 2023-12-13 15:20:20
menyalin: 0 Jumlah klik: 682
1
fokus pada
1621
Pengikut

Strategi kombinasi indikator persilangan rata-rata bergerak dan indikator pembalikan

Ringkasan

Strategi ini menggabungkan tiga indikator Moving Average, Relative Strength Index, dan Commodity Channel Index untuk membentuk strategi pelacakan tren dan kombinasi indikator yang lebih lengkap. Ide dasarnya adalah bahwa indikator tren mengkonfirmasi tren setelah terbentuk, menggunakan indikator sinyal pembalikan untuk mencapai entri yang lebih akurat.

Prinsip Strategi

  1. Menggunakan hl2 untuk menghitung harga rata-rata.

  2. Menghitung indikator CCI 14 siklus untuk menentukan tren tingkat besar. CCI lebih besar dari 0 adalah tren naik, dan kurang dari 0 adalah tren turun.

  3. Hitung garis cepat dari 14 siklus RSI dan garis lambat dari 50 siklus RSI. Ketika garis cepat melewati garis lambat, sinyal beli dihasilkan, dan ketika garis cepat melewati garis lambat, sinyal jual dihasilkan.

  4. Hanya jika indikator CCI pada saat yang sama sesuai dengan arah sinyal indikator RSI, sinyal perdagangan yang sebenarnya akan dihasilkan. Yaitu hanya membeli ketika CCI lebih besar dari 0 dan RSI melewati garis lambat, hanya menjual ketika CCI lebih kecil dari 0 dan RSI melewati garis lambat.

  5. Dengan menghitung apakah harga lebih tinggi atau lebih rendah dari rata-rata bergerak 14 periode hl2 untuk membantu menilai tren detail, sehingga menghindari false breakout. Hanya sinyal beli yang dihasilkan ketika harga lebih tinggi dari hl2 14 periode rata-rata dan RSI indikator melewati, dan hanya sinyal jual yang dihasilkan ketika harga lebih rendah dari hl2 14 periode rata-rata dan RSI indikator di bawah.

Analisis Keunggulan

  1. Strategi ini menggabungkan penilaian tren dan sinyal reversal, yang memungkinkan untuk masuk tepat waktu setelah tren dimulai, dan menilai titik keluar melalui indikator sinyal reversal, sehingga mendapatkan kinerja yang lebih baik.

  2. Indeks saluran komoditas menilai dengan akurat tren skala besar, menghindari pilihan arah perdagangan yang salah.

  3. Lini lintas cepat dan lambat dari indeks kekuatan relatif berfungsi sebagai sinyal yang lebih stabil dan dapat diandalkan, menghindari masalah keterlambatan rata-rata bergerak, dan dapat menangkap perubahan harga secara tepat waktu.

  4. Perbandingan harga dan ukuran median dapat lebih lanjut memfilter sinyal palsu yang disebabkan oleh penembusan palsu.

  5. Secara keseluruhan, strategi ini stabil, menonjol di tengah tren kuat.

Analisis risiko

  1. Strategi ini sangat sensitif terhadap varietas yang diperdagangkan dan memerlukan parameter optimasi untuk varietas tertentu. Jika diterapkan secara buta pada semua varietas, ini dapat menyebabkan kinerja yang tidak stabil.

  2. Pengaturan parameter strategi seperti 14 siklus rata-rata dan 50 siklus rata-rata, dll, perlu disesuaikan dengan pasar yang berbeda. Jika parameter yang tidak tepat juga dapat menyebabkan kinerja yang buruk.

  3. Hanya mengandalkan CCI untuk menilai arah tren tingkat besar belum cukup sempurna, akan ada beberapa keterlambatan.

  4. Ada banyak kombinasi indikator sinyal pembalikan, dan mungkin ada beberapa tingkat overoptimisasi. Ini juga perlu melalui pengujian ulang yang ketat.

Arah optimasi

  1. Pertimbangkan untuk menambahkan lebih banyak indikator untuk menilai tren skala besar, seperti DMI, ADX, dan lain-lain, sehingga penilaian tren lebih akurat.

  2. Meningkatkan logika stop loss. Misalnya, jika harga kembali naik setelah muncul sinyal reversal, Anda dapat mempertimbangkan stop loss untuk keluar dan mengurangi kerugian.

  3. Optimalkan parameter agar lebih sesuai dengan jenis transaksi tertentu. Misalnya, perbesar parameter siklus garis lambat, atau menyesuaikan cara menghitung harga rata-rata.

  4. Membangun portofolio optimasi parameter, memilih parameter optimal untuk varietas yang berbeda, yang dapat meningkatkan kelayakan strategi secara signifikan.

  5. Menambahkan indikator energi untuk menghindari sinyal yang menyesatkan jika energi tidak cukup.

Meringkaskan

Strategi ini memiliki kerangka keseluruhan yang utuh, menggabungkan penilaian tren dan indikator reversal, dan secara teoritis dapat memperoleh kinerja yang lebih baik. Namun, dalam aplikasi praktis, parameter dan model masih perlu dioptimalkan untuk varietas perdagangan, mengurangi risiko over-fit. Jika melewati pemeriksaan statistik yang ketat, diharapkan menjadi strategi stabil yang layak direkomendasikan.

Kode Sumber Strategi
/*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)