Strategi ini menggabungkan purata bergerak dan Bollinger Bands untuk pengesahan isyarat penunjuk ganda untuk menentukan dan menubuhkan trend perdagangan.
Rata-rata bergerak pantas dan perlahan dikira. Apabila garis pantas melintasi di atas garis perlahan, isyarat panjang dihasilkan. Di bawah memberi isyarat pendek. Benda Bollinger Band atas dan bawah juga dikira. Isyarat purata bergerak hanya disahkan apabila harga juga memecahkan Bollinger Bands. Ini mengelakkan whipsaws dari pecah palsu.
Risiko boleh dikendalikan dengan memendekkan purata bergerak dan tempoh Bollinger atau mengoptimumkan kombinasi parameter.
Strategi ini mengesahkan isyarat dengan penunjuk berganda untuk mengurangkan isyarat palsu, sesuai untuk memegang jangka menengah / panjang. penyempurnaan lanjut seperti pengoptimuman parameter dapat meningkatkan prestasi.
/*backtest start: 2023-08-18 00:00:00 end: 2023-09-17 00:00:00 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("MA-Zorrillo",overlay=true) ma_short= sma(close,8) ma_long= sma(close,89) entry_ma = crossover (ma_short,ma_long) exit_ma = crossunder (ma_short,ma_long) BBlength = input(24, minval=1,title="Bollinger Period Length") BBmult = 2 // input(2.0, minval=0.001, maxval=50,title="Bollinger Bands Standard Deviation") BBbasis = sma(close, BBlength) BBdev = BBmult * stdev(close, BBlength) BBupper = BBbasis + BBdev BBlower = BBbasis - BBdev source = close entry_bb = crossover(source, BBlower) exit_bb = crossunder(source, BBupper) vs_entry = false vs_exit = false for i = 0 to 63 if (entry_bb[i]) vs_entry := true if (exit_bb[i]) vs_exit := true entry = entry_ma and vs_entry exit = exit_ma and vs_exit strategy.entry(id="long_ma",long=true,when=entry) strategy.close(id="long_ma", when=exit) strategy.entry(id="short_ma",long=false,when=exit) strategy.close(id="short_ma",when=entry)