Strategi Dagangan Mengikut Trend Kerangka Masa Dual

Penulis:ChaoZhang, Tarikh: 2023-09-12 14:22:39
Tag:

Strategi Dagangan Mengikut Trend Kerangka Masa Dual

Strategi dagangan ini mengenal pasti arah trend di pelbagai jangka masa untuk masuk ke trend lebih awal. Ia menggunakan kedua-dua MACD dan Stochastic RSI (SRSI) sebagai penunjuk, dan memasuki perdagangan apabila isyarat yang konsisten dipicu pada jangka masa harian dan 4 jam.

Logik Strategi:

  1. Hitung MACD dan SRSI pada carta harian. Apabila MACD melintasi di atas isyarat dan SRSI %K melintasi di atas isyarat, ia dianggap isyarat menaik.

  2. Hitung MACD dan SRSI pada carta 4 jam. Apabila MACD melintasi di atas isyarat dan SRSI %K melintasi di atas isyarat, ia dianggap isyarat menaik.

  3. Hanya pergi lama apabila kedua-dua isyarat kenaikan harian dan 4 jam muncul bersama.

  4. Jika kedua-dua isyarat kenaikan harian dan empat jam hilang, tutup kedudukan panjang.

  5. Jika kedua-dua isyarat penurunan harian dan empat jam (MACD dan penyeberangan SRSI di bawah) muncul bersama, pergi pendek.

  6. Jika kedua-dua isyarat penurunan harian dan empat jam hilang, tutup kedudukan pendek.

  7. Sentiasa memantau isyarat dua untuk mengikuti trend.

Kelebihan strategi ini adalah masuk ke trend seawal mereka berkembang dengan menggunakan penapis berganda untuk meningkatkan kebolehpercayaan isyarat dan mengelakkan isyarat palsu semasa tempoh yang berbelit-belit.

Walau bagaimanapun, risiko yang berpotensi adalah bahawa trend yang kuat boleh membina pada satu jangka masa sebelum mengesahkan pada yang kedua, dengan itu kehilangan entri awal. Parameter seperti panjang MACD perlu dioptimumkan untuk menangkap trend awal sambil meminimumkan isyarat palsu. Parameter yang terlalu sensitif boleh menyebabkan perdagangan berlebihan.

Secara keseluruhannya, strategi Mengikuti Tren Jangka Masa Berganda bertujuan untuk menangkap pergerakan trend pada peringkat awal. Pengesahan berganda membantu mengelakkan whipsaws tetapi kadang-kadang mungkin terlepas entri awal. Penyesuaian parameter dan pengurusan risiko yang teliti diperlukan.


/*backtest
start: 2023-08-12 00:00:00
end: 2023-09-11 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
// strategy(title='[RS]Khizon (DWTI) Strategy V0', shorttitle='K', overlay=false, pyramiding=0, initial_capital=100000, currency=currency.USD)
trade_size = 10000
//  ||  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=14)
srsi_signal_smooth = input(title='SRSI Signal Smoothing:',  defval=14)
//  ||  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(0, style=circles, color=daily_trigger?blue:na, linewidth=4, transp=65)
plot(0, style=circles, color=h4_trigger?navy:na, linewidth=2, transp=0)

sel_open = daily_trigger and h4_trigger
buy_open = not daily_trigger and not h4_trigger

strategy.entry('sel', long=false,  comment='sel', when=sel_open)
strategy.entry('buy', long=true,  comment='buy', when=buy_open)


Lebih lanjut