Strategi ini menggabungkan penggunaan penunjuk MACD dan penunjuk StochRSI untuk membuat keputusan dalam pelbagai tempoh masa, meningkatkan kestabilan dan kebolehpercayaan keputusan perdagangan. Ia adalah strategi gabungan pelbagai sumbu masa yang tipikal.
Prinsip-prinsip strategi:
MACD dan StochRSI dikira pada garis harian dan kitaran 4 jam.
Apabila garis hari dan 4 jam kitaran penunjuk berbilang mata muncul pada masa yang sama untuk melakukan beberapa isyarat, lakukan beberapa operasi.
Apabila isyarat kosong muncul pada hari yang sama dengan isyarat kosong pada kitaran 4 jam, lakukanlah operasi kosong.
Selepas masuk ke satu arah, anda boleh menunggu petunjuk arah lain muncul untuk melonggarkan kedudukan anda.
Mengurangkan kesalahan transaksi dengan menggunakan gabungan pelbagai waktu.
Kelebihan strategi ini:
Penghakiman gabungan pelbagai tempoh masa dapat meningkatkan kestabilan isyarat.
MACD dan StochRSI boleh saling disahkan, meningkatkan ketepatan.
Peraturan kemasukan dan keluar yang jelas, memudahkan pengesanan semula dan rakaman.
Risiko strategi ini:
Pertimbangan gabungan pelbagai garisan masa adalah ketinggalan.
Pengoptimuman parameter penunjuk lebih rumit, perlu mempertimbangkan beberapa kitaran pada masa yang sama.
Ia mungkin kurang kerap diperdagangkan dan tidak dapat menangkap peluang pasaran sepenuhnya.
Ringkasnya, strategi ini dapat meningkatkan kualiti isyarat dengan menilai beberapa kombinasi indikator kitaran, tetapi perlu memperhatikan pengoptimuman parameter dan masalah ketinggalan, mencari keseimbangan antara pulangan dan risiko.
/*backtest
start: 2023-08-13 00:00:00
end: 2023-09-12 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
// strategy(title='[RS]Khizon (DGAZ) 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 BTC:', defval=1)
buy_trade = input(title='Perform buy trading?', defval=true)
sel_trade = input(title='Perform sell trading?', 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('NGAS', '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('NGAS', '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 daily_trigger and h4_trigger
buy_open = buy_trade and not daily_trigger and not h4_trigger
sel_close = not buy_trade and not daily_trigger and not h4_trigger
buy_close = not sel_trade and daily_trigger and 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)