Eine doppelte Umkehrungs-Momentum-Index-Handelsstrategie

Schriftsteller:ChaoZhang, Datum: 2024-02-06
Tags:

img

Übersicht

Die Dual Reversal Momentum Index Strategie kombiniert eine 123 Reversal Strategie und eine Relative Momentum Index (RMI) Strategie.

Strategieprinzip

Die Strategie besteht aus zwei Teilen:

  1. 123 Umkehrstrategie

    • Lang, wenn der Schluss von gestern niedriger ist als der der Vortage und der heutige Schluss höher ist als der der Vortage, und 9-tägige Slow K niedriger als 50
    • Kurz, wenn der Schluss von gestern höher ist als der der Vortage und der heutige Schluss niedriger als der der Vortage und 9-tägiger Fast K höher als 50
  2. Strategie für den Relativen Momentumindex (RMI)

    • RMI ist eine Variation des RSI mit einer zusätzlichen Impulskomponente.
    • Long, wenn der RMI unter der überkauften Linie liegt; Short, wenn der RMI über der überverkauften Linie liegt

Die Strategie erzeugt nur Handelssignale, wenn die 123 Reversal und RMI ausgerichtete Doppelsignale geben.

Analyse der Vorteile

Zu den Vorteilen dieser Strategie gehören:

  1. Verbesserte Signalgenauigkeit mit zwei Indikatoren
  2. Umkehrtechniken, die für Bereichsgebundene Märkte geeignet sind
  3. Sensible RMI zur Ermittlung von Wendepunkten starker Trends

Risikoanalyse

Es gibt auch einige Risiken:

  1. Doppelfilter können einige Handelsmöglichkeiten verpassen
  2. Umkehrsignale könnten Fehleinschätzungen haben
  3. Falsche Einstellungen der RMI-Parameter können die Effizienz beeinträchtigen

Diese Risiken könnten durch Anpassung der Parameter und Optimierung der Indikatorenberechnungen verringert werden.

Optimierungsrichtlinien

Die Strategie kann weiter optimiert werden, indem

  1. Verschiedene Parameterkombinationen testen, um die optimale
  2. Versuchung verschiedener Kombinationen von Umkehrindikatoren, z. B. KDJ, MACD
  3. Anpassung der RMI-Formel, um sie empfindlicher zu machen
  4. Hinzufügen von Stop-Loss-Mechanismen zur Kontrolle einzelner Verluste
  5. Kombination des Handelsvolumens zur Vermeidung falscher Signale

Schlussfolgerung

Die Strategie des Dual Reversal Momentum Index kann die Genauigkeit von Handelsentscheidungen effektiv verbessern und die Wahrscheinlichkeit fehlerhafter Signale durch Dual Signal Filterung und Parameteroptimierung reduzieren.


/*backtest
start: 2024-01-06 00:00:00
end: 2024-02-05 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 07/06/2021
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// The Relative Momentum Index (RMI) was developed by Roger Altman. Impressed 
// with the Relative Strength Index's sensitivity to the number of look-back 
// periods, yet frustrated with it's inconsistent oscillation between defined 
// overbought and oversold levels, Mr. Altman added a momentum component to the RSI.
// As mentioned, the RMI is a variation of the RSI indicator. Instead of counting 
// up and down days from close to close as the RSI does, the RMI counts up and down 
// days from the close relative to the close x-days ago where x is not necessarily 
// 1 as required by the RSI). So as the name of the indicator reflects, "momentum" is 
// substituted for "strength". 
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos


RMI(Length,BuyZone, SellZone) =>
    pos = 0.0
    xMU = 0.0
    xMD = 0.0
    xPrice = close
    xMom = xPrice - xPrice[Length]
    xMU := iff(xMom >= 0, nz(xMU[1], 1) - (nz(xMU[1],1) / Length) + xMom, nz(xMU[1], 1))
    xMD := iff(xMom <= 0, nz(xMD[1], 1) - (nz(xMD[1],1) / Length) + abs(xMom), nz(xMD[1], 0))
    RM = xMU / xMD
    nRes = 100 * (RM / (1+RM))
    pos:= iff(nRes < BuyZone, 1,
    	   iff(nRes > SellZone, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Relative Momentum Index", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- Relative Momentum Index ----")
LengthRMI = input(20, minval=1)
BuyZone = input(40, minval=1)
SellZone = input(70, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posRMI = RMI(LengthRMI,BuyZone, SellZone)
pos = iff(posReversal123 == 1 and posRMI == 1 , 1,
	   iff(posReversal123 == -1 and posRMI == -1, -1, 0)) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1 , 1, pos))	   
if (possig == 1 ) 
    strategy.entry("Long", strategy.long)
if (possig == -1 )
    strategy.entry("Short", strategy.short)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )

Mehr