Strategi ini menilai tren harga dan peluang perdagangan dengan menghitung crossover rata-rata bergerak ganda. Ketika MA cepat melintasi di atas MA lambat, itu dianggap sebagai salib emas untuk pergi panjang. Ketika MA cepat melintasi di bawah MA lambat, itu dianggap sebagai salib kematian untuk pergi pendek. Pada saat yang sama, gabungkan Indikator Volume untuk menilai keandalan crossover untuk menghindari sinyal palsu.
Prinsip-prinsip inti dari strategi ini adalah:
Perhitungkan dua kelompok moving average dengan parameter yang berbeda, satu kelompok merespons dengan cepat terhadap perubahan harga dan yang lainnya bereaksi relatif lambat. Ketika MA cepat melintasi di atas MA lambat, itu menandakan tren harga naik. Ketika MA cepat melintasi di bawah MA lambat, itu menandakan tren harga menurun.
Ketika MAs bersilang, periksa perubahan Indikator Volume. Jika Indikator Volume juga pecah secara signifikan, sinyal crossover dapat diandalkan. Jika tidak ada pecah yang sesuai dalam Volume, itu mungkin sinyal palsu.
Masukkan posisi panjang atau pendek berdasarkan penilaian arah silang dan volume.
Secara khusus, strategi ini menilai tren harga menggunakan crossover MAs ganda 7-periode. Ini menggunakan indikator Volume untuk memeriksa keandalan sinyal. Ketika mendapatkan sinyal yang dapat diandalkan, itu akan panjang atau pendek per SIGNAL. Ini menetapkan target keuntungan untuk mengambil keuntungan.
Keuntungan utama dari strategi ini adalah:
Menggabungkan dua MAs untuk menentukan arah tren dan volume filter untuk menghindari sinyal palsu dan terjebak.
Hanya mengambil posisi ketika Volume mengkonfirmasi, meningkatkan tingkat keberhasilan.
Memiliki mekanisme mengambil keuntungan untuk mengambil keuntungan tepat waktu dan menghindari memberikan kembali keuntungan.
Risiko utama dari strategi ini adalah:
MA crossover delay mungkin kehilangan kesempatan terbaik. dapat mengoptimalkan parameter untuk membuat MA lebih sensitif.
Sulit untuk menilai ketika Volume menyimpang.
Pengaturan stop profit yang tidak benar dapat menyebabkan over trading atau menahan pemenang terlalu lama.
Strategi dapat dioptimalkan dari aspek berikut:
Mengoptimalkan periode MA untuk membuatnya lebih responsif untuk menangkap perubahan harga dalam waktu.
Tambahkan lebih banyak indikator seperti MACD, KD untuk konfirmasi sinyal untuk menghindari sinyal palsu Volume.
Masukkan lebih banyak mekanisme pengambilan keuntungan seperti trail stop, stop persentase, volatility stop untuk pengambilan keuntungan yang dinamis.
Tambahkan mekanisme stop loss untuk mengontrol jumlah kerugian perdagangan tunggal.
Mengoptimalkan ukuran posisi yang dapat disesuaikan dengan lingkungan pasar yang berbeda.
Sebagai kesimpulan, ide inti dari strategi ini adalah menggunakan crossover MA ganda untuk tren dan filter Volume untuk keandalan sinyal. Ini stabil dan mudah diterapkan. Optimasi lebih lanjut pada parameter, penyaringan sinyal, pengambilan keuntungan dan stop loss dapat membuatnya lebih andal dan cerdas untuk perdagangan praktis.
/*backtest start: 2022-12-19 00:00:00 end: 2023-12-25 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("ZendicatoR", overlay=true, calc_on_order_fills= true, calc_on_every_tick=true, default_qty_type=strategy.percent_of_equity, default_qty_value=15, pyramiding=0) dt = input(defval=0.0010, title="Decision Threshold", type=float, step=0.0001) keh=input(title="Double HullMA Cross",defval=7, minval=1) che1=input(title="MA 1",defval=34,minval=1) che2=input(title="MA 2",defval=144,minval=1) che3=input(title="MA 3",defval=377,minval=1) amnt=input(title="TP ($)",defval=4200,minval=1) wma1=wma(close,che1) wma2=wma(close,che2) wma3=wma(close,che3) sma1=sma(close,11) tms=10000000000000 A=request.security(syminfo.tickerid, 'D', close)*tms B=request.security(syminfo.tickerid, 'D', close[1])*tms C=A>B?green:red D=wma2>wma3?green:red plot(wma1,style=line,color=C,linewidth=4) p1=plot(wma2,style=line,color=D) p2=plot(wma3,style=line,color=D) fill(p1, p2, color=D, transp=75) n2ma=2*wma(close,round(keh/2)) nma=wma(close,keh) diff=n2ma-nma,sqn=round(sqrt(keh)) n2ma1=2*wma(close[2],round(keh/2)) nma1=wma(close[2],keh) diff1=n2ma1-nma1,sqn1=round(sqrt(keh)) n1=wma(diff,sqn)*tms n2=wma(diff1,sqn)*tms Q=n1>n2?blue:yellow plot(sma1,style=line,color=Q,linewidth=4) closelong = A*tms<B*tms and n2*tms>n1*tms and strategy.openprofit>amnt if (closelong) strategy.close("Long") closeshort = A*tms>B*tms and n1*tms>n2*tms and strategy.openprofit>amnt if (closeshort) strategy.close("Short") longCondition = A*tms>B*tms and n1*tms>n2*tms if (longCondition) strategy.entry("Long",strategy.long) shortCondition = A*tms<B*tms and n1*tms<n2*tms if (shortCondition) strategy.entry("Short",strategy.short)