Mehrperioden-MACD-StochRSI-Kombinationsstrategie


Erstellungsdatum: 2023-09-13 12:05:46 zuletzt geändert: 2023-09-13 12:05:46
Kopie: 0 Klicks: 636
1
konzentrieren Sie sich auf
1617
Anhänger

Diese Strategie kombiniert MACD- und StochRSI-Indikatoren, um die Stabilität und Zuverlässigkeit von Handelsentscheidungen in mehreren Zeiträumen zu verbessern. Sie gehört zu den typischen Multi-Time-Axis-Strategie.

Die Strategie:

  1. MACD und StochRSI werden in Tages- und 4-Stunden-Zyklen berechnet.

  2. Wenn die Tageslinie und die 4-Stunden-Zyklus-Mehrkopf-Anzeige gleichzeitig mehrere Signale zeigen, wird mehrere Operationen durchgeführt.

  3. Wenn die Tageslinie und der 4-Stunden-Fehler gleichzeitig mit einem Auspuffsignal ausgestrahlt werden, wird ein Auspuffvorgang durchgeführt.

  4. Nach dem Eintritt in eine Richtung kann man warten, bis ein Hinweis in die andere Richtung angezeigt wird.

  5. Durch die Kombination mehrerer Zeitlinien werden die Ergebnisse der Kennzahlen verifiziert, um Fehltransaktionen zu reduzieren.

Die Vorteile der Strategie:

  1. Mehrzeit-Kombinationsurteile können die Stabilität des Signals verbessern.

  2. MACD und StochRSI können gegenseitig verifiziert werden, um die Genauigkeit zu verbessern.

  3. Klare Ein- und Ausstiegsregeln für Rückmeldungen und Live-Spielen.

Die Risiken dieser Strategie:

  1. Es gibt eine Verzögerung bei der Beurteilung von mehrfachen Zeitachsen.

  2. Die Optimierung der Kennzahlen ist kompliziert und erfordert mehrere Zyklen.

  3. Die Handelsfrequenz ist möglicherweise niedrig und die Marktchancen werden nicht vollständig erfasst.

Zusammenfassend lässt sich sagen, dass die Strategie durch eine Kombination von mehreren zyklischen Indikatoren beurteilt werden kann, um die Signalqualität zu verbessern, jedoch mit Blick auf die Optimierung der Parameter und die Probleme der Lagerung, um ein Gleichgewicht zwischen Rendite und Risiko zu finden.

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