Handelsstrategie nach zweifachen Zeitrahmen

Schriftsteller:ChaoZhang, Datum: 2023-09-12 14:22:39
Tags:

Handelsstrategie nach zweifachen Zeitrahmen

Diese Handelsstrategie identifiziert die Trendrichtung über mehrere Zeitrahmen hinweg, um frühzeitig in die Trends zu gelangen.

Strategie Logik:

  1. Berechnen Sie MACD und SRSI auf dem Tagesdiagramm. Wenn der MACD über das Signal und der SRSI %K über das Signal geht, gilt dies als bullisches Signal.

  2. Berechnen Sie MACD und SRSI auf dem 4-Stunden-Chart. Wenn der MACD über das Signal und der SRSI %K über das Signal geht, gilt dies als Aufwärtssignal.

  3. Gehen Sie nur lang, wenn sowohl Tages- als auch 4-Stunden-Bullish-Signale zusammen erscheinen.

  4. Wenn sowohl die Tages- als auch die 4-Stunden-Bullish-Signale verschwinden, schließen Sie die Long-Positionen.

  5. Wenn sowohl Tages- als auch 4-Stunden-Beressignale (MACD und SRSI-Kreuzung unten) zusammen erscheinen, gehen Sie kurz.

  6. Wenn sowohl die täglichen als auch die 4-stündigen Bärensignale verschwinden, schließen Sie die Short-Positionen.

  7. Kontinuierlich zwei Signale überwachen, um Trends zu verfolgen.

Der Vorteil dieser Strategie besteht darin, sich frühzeitig in Trends einzumischen, indem doppelte Filter verwendet werden, um die Signalzuverlässigkeit zu verbessern und falsche Signale in unruhigen Perioden zu vermeiden.

Allerdings besteht ein potenzielles Risiko, dass starke Trends sich auf einem Zeitrahmen aufbauen können, bevor sie sich auf dem zweiten bestätigen, wodurch anfängliche Einträge fehlen. Parameter wie MACD-Länge müssen optimiert werden, um Trends frühzeitig zu erfassen und falsche Signale zu minimieren. Überempfindliche Parameter können zu Überhandel führen.

Insgesamt zielt die Strategie Dual Timeframe Trends Following darauf ab, Trendbewegungen in frühen Stadien zu erfassen.


/*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)


Mehr