Strategi Momentum Ganda


Tanggal Pembuatan: 2023-09-28 15:03:57 Akhirnya memodifikasi: 2023-09-28 15:03:57
menyalin: 2 Jumlah klik: 715
1
fokus pada
1617
Pengikut

Ringkasan

Strategi dua dinamika menggunakan dua indikator dinamika cepat dan lambat untuk menghasilkan sinyal perdagangan dan sinyal keluar. Ini adalah strategi responsif cepat yang berlaku untuk varietas tren pada garis harian dan garis 4 jam. Strategi ini diimplementasikan dari aplikasi QuantCT.

Anda dapat mengatur mode operasi untuk multi-kosong atau hanya multi-kepala.

Anda juga dapat mengatur stop loss tetap atau mengabaikan stop loss, sehingga strategi hanya berjalan berdasarkan sinyal masuk dan keluar.

Prinsip Strategi

Strategi ini menggunakan indikator momentum dengan siklus cepat (default 5 hari) dan siklus lambat (default 10 hari).

Ketika kecepatan lambat dan kecepatan cepat sama-sama lebih besar dari 0, menghasilkan sinyal ganda.

Ketika kecepatan lambat atau kecepatan cepat kurang dari 0, menghasilkan sinyal posisi kosong.

Demikian pula, ketika kecepatan lambat dan kecepatan cepat sama-sama kurang dari 0, maka akan ada sinyal kosong. Bila kecepatan lambat atau kecepatan cepat lebih dari 0, maka akan ada sinyal kosong.

Jadi, strategi ini menggunakan dua set dinamisme siklus yang berbeda untuk menangkap perubahan tren dan memungkinkan pelacakan tren.

Analisis Keunggulan

  • Dengan menggunakan indikator dua-dimensi, Anda dapat menangkap perubahan tren pasar dengan lebih akurat dan mengurangi sinyal palsu.

  • Dinamika siklus cepat sensitif terhadap perubahan pasar dan dapat merespons tren dengan cepat; siklus lambat memfilter kebisingan pasar dan memastikan arah perdagangan yang benar.

  • Fleksibel dalam memilih untuk melakukan perdagangan multi atau dua arah, sesuai dengan preferensi perdagangan yang berbeda.

  • Anda dapat memilih untuk menggunakan Stop Loss atau Control Risk.

  • Strategi ini responsif, sangat cocok untuk perdagangan tren di garis matahari atau siklus yang lebih tinggi, dan dapat menghasilkan keuntungan ekstra.

Analisis risiko

  • Strategi dua dinamika untuk menilai tren tergantung pada nilai indikator lebih besar atau kurang dari 0, ada beberapa lag.

  • Strategi ini lebih bergantung pada tren, tidak berkinerja baik di pasar yang terkonsolidasi, mudah menghasilkan terlalu banyak transaksi, yang menyebabkan peningkatan biaya transaksi.

  • Jika tidak menggunakan stop loss, ada risiko kerugian tunggal yang lebih besar.

  • Jenis dan siklus yang tidak tepat juga dapat menyebabkan kinerja strategi yang buruk.

Untuk mengontrol risiko, disarankan untuk menyesuaikan parameter siklus momentum dengan tepat dan mengatur rasio stop loss tetap yang masuk akal. Sementara memilih varietas dengan tren yang jelas dan menjalankan strategi pada garis matahari atau siklus yang lebih tinggi.

Arah optimasi

Strategi ini dapat dioptimalkan dalam beberapa hal:

  1. Menambahkan filter untuk indikator lain, seperti MACD atau RSI, untuk menghindari kesalahan perdagangan pada titik balik tren.

  2. Menambahkan mekanisme penutupan kerugian adaptif, menyesuaikan stop loss secara dinamis sesuai dengan volatilitas pasar.

  3. Mengoptimalkan parameter dinamika, menemukan kombinasi parameter yang lebih cocok untuk varietas yang berbeda. Hal ini dapat dicapai dengan metode seperti optimasi langkah demi langkah, Walk Forward Analysis dan sebagainya.

  4. Menambahkan mekanisme manajemen posisi, menyesuaikan ukuran posisi baru sesuai dengan hasil awal.

  5. Membedakan antara pasar bertopeng dan pasar kosong, dan menggunakan strategi masuk asimetris. Pasar kosong bisa lebih agresif, dan pasar bertopeng bisa lebih berhati-hati.

Meringkaskan

Strategi dua dinamika dapat memperoleh keuntungan tambahan yang lebih baik dengan menilai arah tren dengan cara menginterpretasikan indikator cepat dan lambat, menggunakan indikator sederhana untuk menangkap perubahan tren pasar, cocok untuk melacak tren yang jelas dalam sehari atau dalam sehari. Namun, strategi ini juga memiliki risiko keterlambatan tertentu, yang perlu dikombinasikan dengan stop loss dan indikator lain untuk mengendalikan risiko, dan dioptimalkan untuk varietas dan parameter, sehingga mendapatkan kinerja yang lebih stabil.

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