Strategi Impulse Berganda

Penulis:ChaoZhang, Tarikh: 2023-09-28 15:03:57
Tag:

Ringkasan

Strategi Dual Momentum menggunakan penunjuk momentum cepat dan perlahan untuk menjana isyarat masuk dan keluar. Ia adalah strategi yang bertindak balas dengan cepat yang sesuai untuk instrumen trend pada jangka masa harian dan 4 jam. Pelaksanaan ini berdasarkan aplikasi QuantCT.

Strategi ini membolehkan anda mengkonfigurasi mod panjang / pendek atau hanya panjang. Ia juga membolehkan anda mengaktifkan stop loss tetap atau mengabaikannya supaya strategi hanya bertindak pada isyarat masuk dan keluar.

Logika Strategi

Strategi ini menggunakan momentum tempoh cepat (default 5 hari) dan momentum tempoh perlahan (default 10 hari).

Apabila momentum perlahan dan momentum pantas sama-sama di atas 0, isyarat masuk panjang dihasilkan.

Apabila momentum perlahan atau momentum pantas berada di bawah 0, isyarat keluar dihasilkan.

Begitu juga, apabila momentum perlahan dan momentum pantas berada di bawah 0, isyarat masuk pendek dihasilkan. Apabila momentum perlahan atau momentum pantas melebihi 0, isyarat keluar dihasilkan.

Oleh itu, strategi menangkap perubahan trend menggunakan persilangan dua penunjuk momentum dengan tempoh yang berbeza.

Analisis Kelebihan

  • Menggunakan momentum berganda memberikan pengesanan perubahan trend yang lebih tepat dan lebih sedikit isyarat palsu.

  • Momentum tempoh cepat bertindak balas dengan cepat kepada perubahan pasaran, manakala tempoh perlahan menapis bunyi bising.

  • Mod panjang/pendek atau hanya panjang yang fleksibel sesuai dengan pilihan perdagangan yang berbeza.

  • Pilihan stop loss mengawal risiko.

  • Sifat bertindak balas cepat menjadikannya sesuai untuk perdagangan trend pada jangka masa harian atau lebih tinggi untuk keuntungan yang besar.

Analisis Risiko

  • Momentum berganda bergantung pada nilai penunjuk di atas / di bawah 0, yang mempunyai beberapa kelewatan.

  • Strategi ini lebih bergantung kepada trend dan mungkin kurang berprestasi di pasaran terikat julat dengan lebih banyak whipsaws.

  • Jika tidak menggunakan stop loss, risiko kerugian besar.

  • Pemilihan simbol atau jangka masa yang salah boleh membawa kepada hasil yang buruk.

Untuk mengawal risiko, atur tempoh momentum, gunakan peratusan stop loss tetap yang munasabah, pilih simbol yang mempunyai trend yang kuat dan berjalan pada jangka masa harian atau lebih tinggi.

Peluang Peningkatan

Strategi ini boleh ditingkatkan dengan beberapa cara:

  1. Tambah penapis seperti MACD atau RSI untuk mengelakkan perdagangan yang salah pada titik perubahan trend.

  2. Tambah kerugian hentian penyesuaian untuk menyesuaikan jarak hentian berdasarkan turun naik pasaran.

  3. Mengoptimumkan parameter momentum untuk simbol yang berbeza melalui pengoptimuman langkah demi langkah, analisis berjalan maju dan lain-lain.

  4. Tambah peraturan saiz kedudukan untuk menyesuaikan saiz kedudukan baru berdasarkan prestasi masa lalu.

  5. Membezakan keadaan pasaran panjang dan pendek untuk kemasukan dan keluar yang tidak simetri.

Kesimpulan

Strategi Dual Momentum menangkap arah trend menggunakan silang momentum yang cepat dan perlahan. Menggunakan penunjuk mudah untuk mengesan perubahan trend, ia sesuai untuk menunggang trend intraday atau pelbagai hari dan menjana pulangan yang berlebihan. Kawalan risiko yang betul melalui penghentian kerugian, pengoptimuman simbol / parameter dapat meningkatkan konsistensi.


/*backtest
start: 2023-08-28 00:00:00
end: 2023-09-27 00:00:00
period: 1h
basePeriod: 15m
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/
// © QuantCT

//@version=4
strategy("Momentum Strategy Idea",
         shorttitle="Momentum", 
         overlay=false,
         pyramiding=0,     
         default_qty_type=strategy.percent_of_equity, 
         default_qty_value=100, 
         initial_capital=1000,           
         commission_type=strategy.commission.percent, 
         commission_value=0.075)

// ____ Inputs

fast_period = input(title="Fast Period", defval=5) 
slow_period = input(title="Slow Period", defval=10)
long_only = input(title="Long Only", defval=false)
slp = input(title="Stop-loss (%)", minval=1.0, maxval=25.0, defval=5.0)
use_sl = input(title="Use Stop-Loss", defval=false)

// ____ Logic

mom_fast = mom(close, fast_period)
mom_slow = mom(close, slow_period)
    
enter_long = (mom_slow > 0 and mom_fast > 0)
exit_long = (mom_slow < 0 or mom_fast < 0)
enter_short = (mom_slow < 0 and mom_fast < 0)
exit_short = (mom_slow > 0 or mom_fast > 0)

strategy.entry("Long", strategy.long, when=enter_long)
strategy.close("Long", when=exit_long) 
if (not long_only)
    strategy.entry("Short", strategy.short, when=enter_short)
    strategy.close("Short", when=exit_short) 
   
// ____ SL

sl_long = strategy.position_avg_price * (1- (slp/100))
sl_short = strategy.position_avg_price * (1 + (slp/100))
if (use_sl)
    strategy.exit(id="SL", from_entry="Long", stop=sl_long)
    strategy.exit(id="SL", from_entry="Short", stop=sl_short)
    
// ____ Plots

colors = 
 enter_long ? #27D600 :
 enter_short ? #E30202 :
 color.orange

mom_fast_plot = plot(mom_fast, color=colors)
mom_slow_plot = plot(mom_slow, color=colors)
fill(mom_fast_plot, mom_slow_plot, color=colors, transp=50)








Lebih lanjut