Strategi Dagangan Momentum Sistem Dwi Landasan


Tarikh penciptaan: 2023-11-22 15:26:28 Akhirnya diubah suai: 2023-11-22 15:26:28
Salin: 0 Bilangan klik: 623
1
fokus pada
1617
Pengikut

Strategi Dagangan Momentum Sistem Dwi Landasan

[trans]

Gambaran keseluruhan

Strategi ini menggunakan MACD dan Stoch RSI untuk menggabungkan kedua-dua indikator, membina sistem perdagangan dua hala, dan membolehkan trend mengikuti dan melampaui keputusan membeli dan membeli. Strategi ini membina penunjuk pada garisan hari dan garisan 4 jam sekaligus, dan membuat keputusan dalam pelbagai jangka masa, untuk mengurangkan kebarangkalian kesalahan.

Prinsip Strategi

Portfolio strategi menggunakan MACD dan Stoch RSI, dua jenis indikator teknikal yang berbeza, untuk konfigurasi. MACD adalah indikator pergerakan yang berbeza, yang menilai kelajuan perubahan harga; Stoch RSI adalah indikator overbought dan oversold, yang menilai harga yang agak kuat.

Strategi ini mula membina indikator MACD dan Stoch RSI pada garis harian dan 4 jam, untuk membuat keputusan mengenai trend dan overbought dan oversold. Apabila indikator kedua-dua tempoh masa mengeluarkan isyarat beli / jual pada masa yang sama, lakukan operasi beli / jual yang sesuai.

Khususnya, membina indikator MACD, garis DIF dan garis DEA membentuk garpu emas untuk membuat keputusan; membina indikator Stoch RSI, garis K dan garis D membentuk garpu emas untuk membuat keputusan. Apabila kedua-dua kumpulan indikator menghasilkan isyarat beli ketika garpu emas pada masa yang sama dan menghasilkan isyarat jual ketika garpu emas pada masa yang sama.

Dengan cara ini, strategi menggunakan pengukuran dua hala dan penilaian pelbagai jangka masa untuk menilai secara menyeluruh kelajuan perubahan harga dan kekuatan relatif, yang dapat meningkatkan ketepatan keputusan dan memperoleh hasil yang lebih baik.

Analisis kelebihan

Strategi ini mempunyai beberapa kelebihan:

  1. Gabungan Indeks Dua Jalur untuk Pertimbangan menyeluruh dan Meningkatkan Ketepatan Keputusan
  2. Menggunakan pelbagai kerangka masa untuk mengurangkan kemungkinan kesalahan
  3. Menggunakan trend-following dan penilaian overbought dan oversold, merangkumi kelajuan perubahan harga dan kekuatan relatif
  4. Parameter penunjuk boleh disesuaikan untuk pelbagai jenis dan keadaan pasaran
  5. Struktur kod jelas, mudah difahami dan diperluaskan

Analisis risiko

Strategi ini juga mempunyai risiko:

  1. Risiko sistemik yang tidak dapat dielakkan sepenuhnya
  2. Tetapan parameter penunjuk yang tidak betul boleh menyebabkan perdagangan yang kerap atau kehilangan peluang yang baik
  3. Kebarangkalian bahawa kedua-dua indikator akan menghantar isyarat yang salah pada masa yang sama, tetapi lebih rendah daripada satu indikator tunggal
  4. Tidak dapat menangani pasaran yang berubah secara mendadak, seperti peristiwa Black Swan yang besar

Kaedah pencegahan:

  1. Optimumkan parameter, sesuaikan syarat-syarat transaksi jual beli, kurangkan kesalahan penilaian
  2. Menggabungkan lebih banyak petunjuk untuk lebih banyak asas penilaian
  3. Meningkatkan strategi hentikan kerugian dan mengawal risiko kerugian tunggal

Arah pengoptimuman

Strategi ini juga boleh dioptimumkan dengan:

  1. Menambah lebih banyak penunjuk untuk digabungkan, membina strategi pelbagai penunjuk
  2. Menambah algoritma pembelajaran mesin untuk mengoptimumkan parameter dinamik
  3. Mengambil kira keadaan pasaran dengan faktor-faktor lain seperti sentimen, berita dan sebagainya
  4. Meningkatkan strategi penangguhan kerugian dan pengendalian wang
  5. Memperluas pelbagai jenis perdagangan untuk mencari peluang perdagangan yang lebih baik

ringkaskan

Strategi ini menggunakan gabungan indikator dua hala dan penilaian pelbagai kerangka masa, untuk menilai secara menyeluruh kelajuan perubahan harga dan kekuatan relatif, dapat memperoleh trend pasaran dengan berkesan, memperbaiki kekurangan penilaian salah satu indikator. Ia juga mempunyai kelebihan seperti fleksibiliti penyesuaian parameter, mudah difahami dan diperluas.

||

Overview

This strategy combines the MACD and Stoch RSI indicators to build a dual-rail trading system for trend tracking and oversold/overbought judgment. The strategy also builds indicators on the daily and 4-hour timeframes to make multi-timeframe judgments to reduce misjudgment probability.

Strategy Principle

The strategy combines the MACD and Stoch RSI indicators, which are different types of technical indicators, for configuration. MACD is a momentum indicator that judges price change velocity; Stoch RSI is an overbought/oversold indicator that judges relative price strength.

The strategy first constructs the MACD and Stoch RSI indicators on the daily and 4-hour timeframes respectively for trend and overbought/oversold judgments. When signals are triggered on both timeframes, corresponding buy/sell operations are performed.

Specifically, the MACD indicator is constructed with the DIF and DEA lines forming golden/dead crosses for judgment; the Stoch RSI indicator is constructed with the K and D lines forming golden/dead crosses for judgment. When both indicator pairs have golden crosses, buy signals are generated; when both have dead crosses, sell signals are generated.

Thus, by comprehensively applying the dual-indicator system and multi-timeframe judgments, the strategy judges price velocity and relative strength thoroughly, which helps improve decision accuracy and gain better returns.

Advantage Analysis

This strategy has the following advantages:

  1. Combining dual-indicator system for comprehensive judgment and higher decision accuracy
  2. Applying multi-timeframe to reduce misjudgment probability
  3. Adopting trend tracking and overbought/oversold judgment for consideration of both price velocity and relative strength
  4. Flexible indicator parameters adjustable for different products and market environments
  5. Clean code structure easy to understand and expand

Risk Analysis

There are also some risks with this strategy:

  1. There exist systemic market risks that cannot be fully avoided
  2. Inappropriate indicator parameter settings may lead to overtrading or missing opportunities
  3. Dual indicators may still give concurrent wrong signals, but less likely than single ones
  4. Unable to cope with drastic market changes like black swan events

Countermeasures:

  1. Optimize parameters and adjust trading conditions to reduce misjudgments
  2. Incorporate more indicators for combined judgments
  3. Add stop loss mechanisms to control single loss risk

Optimization Directions

This strategy can also be improved in the following aspects:

  1. Incorporate more indicators for multi-indicator strategies
  2. Add machine learning algorithms for dynamic parameter optimization
  3. Combine sentiment indicators, news etc. for more comprehensive market condition judgments
  4. Add stop loss, take profit strategies to optimize money management
  5. Expand to more trading products to discover better opportunities

Conclusion

By combined application of the dual-indicator system and multi-timeframe judgments, this strategy judges price velocity and relative strength thoroughly, which can effectively capture market trends and improve deficiencies of single indicators. It also has advantages like flexible parameter tuning, easy understanding and expansion. Further expansions by multi-indicator combination, dynamic parameter optimization, sentiment indicator incorporation etc. can help boost strategy performance. [trans]

Kod sumber strategi
/*backtest
start: 2023-11-14 00:00:00
end: 2023-11-15 10:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy(title='[RS]Khizon (UWTI) Strategy V0', shorttitle='K', overlay=false, pyramiding=0, initial_capital=100000, currency=currency.USD)
//  ||  Inputs:
macd_src = input(title='MACD Source:',  defval=close)
macd_fast = input(title='MACD Fast Length:',  defval=12)
macd_slow = input(title='MACD Slow Length:',  defval=26)
macd_signal_smooth = input(title='MACD Signal Smoothing:',  defval=9)
srsi_src = input(title='SRSI Source:',  defval=close)
srsi_rsi_length = input(title='SRSI RSI Length:',  defval=14)
srsi_stoch_length = input(title='SRSI Stoch Length:',  defval=14)
srsi_smooth = input(title='SRSI Smoothing:',  defval=3)
srsi_signal_smooth = input(title='SRSI Signal Smoothing:',  defval=3)
//  ||  Strategy Inputs:
trade_size = input(title='Trade Size in USD:', type=float, defval=1)
buy_trade = input(title='Perform buy trading?', type=bool, defval=true)
sel_trade = input(title='Perform sell trading?', type=bool, defval=true)
//  ||  MACD(close, 12, 26, 9):     ||---------------------------------------------||
f_macd_trigger(_src, _fast, _slow, _signal_smooth)=>
    _macd = ema(_src, _fast) - ema(_src, _slow)
    _signal = sma(_macd, _signal_smooth)
    _return_trigger = _macd >= _signal ? true : false
//  ||  Stoch RSI(close, 14, 14, 3, 3)  ||-----------------------------------------||
f_srsi_trigger(_src, _rsi_length, _stoch_length, _smooth, _signal_smooth)=>
    _rsi = rsi(_src, _rsi_length)
    _stoch = sma(stoch(_rsi, _rsi, _rsi, _stoch_length), _smooth)
    _signal = sma(_stoch, _signal_smooth)
    _return_trigger = _stoch >= _signal ? true : false
//  ||-----------------------------------------------------------------------------||
//  ||-----------------------------------------------------------------------------||
//  ||  Check Directional Bias from daily timeframe:
daily_trigger = security('USOIL', 'D', f_macd_trigger(macd_src, macd_fast, macd_slow, macd_signal_smooth) and f_srsi_trigger(srsi_src, srsi_rsi_length, srsi_stoch_length, srsi_smooth, srsi_signal_smooth))
h4_trigger = security('USOIL', '240', f_macd_trigger(macd_src, macd_fast, macd_slow, macd_signal_smooth) and f_srsi_trigger(srsi_src, srsi_rsi_length, srsi_stoch_length, srsi_smooth, srsi_signal_smooth))

plot(title='D1T', series=daily_trigger?0:na, style=circles, color=blue, linewidth=4, transp=65)
plot(title='H4T', series=h4_trigger?0:na, style=circles, color=navy, linewidth=2, transp=0)

sel_open = sel_trade and not daily_trigger and not h4_trigger
buy_open = buy_trade and daily_trigger and h4_trigger
sel_close = not buy_trade and daily_trigger and h4_trigger
buy_close = not sel_trade and not daily_trigger and not h4_trigger
strategy.entry('sel', long=false, qty=trade_size, comment='sel', when=sel_open)
strategy.close('sel', when=sel_close)
strategy.entry('buy', long=true, qty=trade_size, comment='buy', when=buy_open)
strategy.close('buy', when=buy_close)