Strategi ini mengintegrasikan purata bergerak, indeks kekuatan relatif dan indeks saluran komoditi, membentuk strategi pengesanan trend dan kombinasi penunjuk yang agak lengkap.
Gunakan hl2 untuk mengira harga pertengahan.
Mengira penunjuk CCI 14 tempoh untuk menilai trend utama. Apabila CCI lebih besar daripada 0, trendnya naik. Apabila kurang dari 0, trendnya menurun.
Mengira garis pantas dari 14-period RSI indikator dan garis perlahan dari 50-period RSI indikator. Apabila garis pantas melintasi di atas garis perlahan, isyarat beli dihasilkan. Apabila garis pantas melintasi di bawah garis perlahan, isyarat jual dihasilkan.
Isyarat dagangan sebenar dihasilkan hanya apabila penunjuk CCI juga sepadan dengan arah isyarat penunjuk RSI. iaitu, beli hanya apabila CCI lebih besar daripada 0 dan RSI garis cepat melintasi di atas garis perlahan, dan menjual hanya apabila CCI kurang daripada 0 dan RSI garis cepat melintasi di bawah garis perlahan.
Bandingkan harga dengan purata bergerak 14 tempoh hl2 untuk membantu menilai trend kecil, untuk mengelakkan pecah palsu. Isyarat beli dihasilkan hanya apabila harga di atas purata bergerak 14 tempoh hl2 dan penunjuk RSI melintasi ke atas. Isyarat jual dihasilkan hanya apabila harga di bawah purata bergerak 14 tempoh hl2 dan penunjuk RSI melintasi ke bawah.
Strategi ini menggabungkan penilaian trend dan isyarat pembalikan untuk masuk tepat pada masanya selepas permulaan trend, dan menggunakan petunjuk isyarat pembalikan untuk menentukan titik keluar, dengan itu mendapatkan pulangan yang lebih baik.
Indeks saluran komoditi dengan tepat menentukan arah trend utama, mengelakkan pilihan arah perdagangan yang salah.
Persalinan garis cepat dan perlahan indeks kekuatan relatif berfungsi sebagai isyarat yang boleh dipercayai, mengelakkan masalah lag purata bergerak, dan dapat menangkap pembalikan harga tepat pada masanya.
Membandingkan harga dengan garis median dapat menapis lebih lanjut pecah palsu yang menyebabkan isyarat yang salah.
Secara keseluruhan, strategi ini mempunyai kestabilan yang baik dan berprestasi dengan baik dalam trend yang kuat.
Strategi ini sensitif terhadap varieti perdagangan, memerlukan pengoptimuman parameter untuk varieti tertentu.
Tetapan parameter seperti purata bergerak 14 tempoh dan purata bergerak 50 tempoh perlu diselaraskan mengikut pasaran yang berbeza. tetapan parameter yang tidak betul juga boleh menyebabkan prestasi yang buruk.
Mengandalkan CCI semata-mata untuk menentukan arah trend utama masih tidak cukup sempurna, dengan beberapa kelewatan.
Gabungan penunjuk isyarat pembalikan agak besar, yang boleh membawa kepada tahap tertentu terlalu optimum.
Pertimbangkan untuk menambah lebih banyak penunjuk untuk menilai trend utama, seperti DMI, ADX, dan lain-lain, untuk membuat penilaian trend lebih tepat.
Tambah logik stop loss. Sebagai contoh, selepas isyarat pembalikan muncul, jika harga callback lagi dengan amplitudo tertentu, keluar stop loss boleh dianggap untuk mengurangkan kerugian.
Mengoptimumkan parameter untuk menjadikannya lebih sesuai untuk jenis perdagangan tertentu. Sebagai contoh, meningkatkan parameter kitaran garis perlahan, atau menyesuaikan kaedah pengiraan harga pertengahan, dll.
Membina kombinasi pengoptimuman parameter untuk memilih parameter optimum untuk pelbagai jenis, yang dapat meningkatkan penerapan strategi.
Tambah penunjuk momentum untuk mengelakkan isyarat yang mengelirukan apabila momentum tidak mencukupi.
Rangka kerja keseluruhan strategi ini lengkap, mengintegrasikan penilaian trend dan penukaran penunjuk, yang secara teori dapat memperoleh prestasi yang sangat baik. Tetapi dalam aplikasi sebenar, ia masih memerlukan parameter dan pengoptimuman model untuk jenis perdagangan untuk mengurangkan risiko terlalu banyak.
/*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)