Double Reversal RSI Momentum-Strategie


Erstellungsdatum: 2023-09-26 15:42:48 zuletzt geändert: 2023-09-26 15:42:48
Kopie: 1 Klicks: 691
1
konzentrieren Sie sich auf
1617
Anhänger

Überblick

Die Strategie ermöglicht eine doppelte Signalfilterung durch die Kombination der 123-Form-Umkehr-Strategie und der RSI-Dynamik-Strategie und ermöglicht hohe Wahrscheinlichkeits-Einträge an Trendwendepunkten.

Ursprüngliche Analyse

123 Umkehrung der Form

Die Strategie stammt aus Ulf Jensens Buch “Wie man dreifache Gewinne am Futures-Markt erzielt” (Seite 183). Die Strategie basiert auf der Beurteilung der Chancen für eine mögliche Trendwende in der Konzentrationsphase.

Insbesondere, wenn der Schlusskurs 2 Tage in Folge höher ist als der Schlusskurs des Vortages und die Slow K-Linie am 9. Tag unter 50 liegt, machen Sie einen Plus; wenn der Schlusskurs 2 Tage in Folge unter dem Schlusskurs des Vortages liegt und die Fast K-Linie am 9. Tag über 50 liegt, machen Sie einen Minus.

Die Strategie basiert also im Wesentlichen darauf, potenzielle Umkehrchancen anhand der schnellen und langsamen Linie der stochastischen Indikatoren zu beurteilen.

RSI-Dynamik-Strategie

Die Strategie verwendet die ROC-Funktion, um die Preisänderungsrate zu berechnen und den RSI-Indikator auf der Grundlage der Preisänderungsrate zu erstellen, um die Dynamik zu bestimmen.

Wenn der RSI unter der Kaufzone liegt, beschleunigt sich die Preisbewegung, und Sie machen einen Überschuss. Wenn der RSI über der Verkaufszone liegt, beschleunigt sich die Preisbewegung, und Sie machen einen Ausfall.

Vorteile

  • 123 Formen-Umkehr-Strategie, die nach der Berechnung einen potenziellen Umkehrpunkt ermittelt
  • Die RSI-Dynamik-Strategie kann Falschbrüche effektiv filtern
  • Zwei Strategie-Signale sammeln sich zu einem starken Einstiegssignal

Die Gefahr

  • 123 Formen sind anfällig für Überschneidungen oder False-Breaks und müssen mit anderen Kennzahlen gefiltert werden
  • Der RSI selbst ist preisbasiert und kann nicht vollständig von der Schädigung abgehalten werden.
  • Bei einer Doppelsignalanlage kann ein besserer Einstiegspunkt verpasst werden.

Die folgenden Punkte können zur Verringerung des Risikos in Betracht gezogen werden:

  1. Anpassung der Parameter des stochastischen Indikators, um Trends mit längeren Perioden zu bestimmen
  2. Anpassung der RSI-Parameter, um eine niedrigere Zone zu kaufen und eine höhere Zone zu verkaufen
  3. Erwägen Sie die Einführung eines einzigen Signals

Optimierungsrichtung

  • Testbare ROC-Zyklusparameter, um die für eine bestimmte Sorte geeigneteren Parameter zu finden
  • Testable 123-Formentscheidungslogiken, z. B. das Anpassen von K-Linien-Schnell- oder Langzeit-Parametern
  • RSI-Bereichsparameter können getestet werden, um geeignete Kauf- und Verkaufszonen zu bestimmen
  • Versuchen Sie andere Indikatoren wie MACD statt Stochastic
  • Testbarkeit mit nur einem Strategie-Signal

Zusammenfassen

Die Strategie ist leicht zu optimieren und die Parameter anzupassen, die Benutzer nach verschiedenen Sorten und Handelspräferenzen testen können. Es ist jedoch zu beachten, dass das Risiko besteht, dass die Doppelsignale den Zeitpunkt des Eintritts verpassen. Insgesamt bietet die Strategie eine Denkweise und einen Rahmen, um die Umkehr zu beurteilen.

Strategiequellcode
/*backtest
start: 2023-08-26 00:00:00
end: 2023-09-25 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 17/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
// This is the new-age indicator which is version of RSI calculated upon 
// the Rate-of-change indicator.
// The name "Relative Strength Index" is slightly misleading as the RSI 
// does not compare the relative strength of two securities, but rather 
// the internal strength of a single security. A more appropriate name 
// might be "Internal Strength Index." Relative strength charts that compare 
// two market indices, which are often referred to as Comparative Relative Strength.
// And in its turn, the Rate-of-Change ("ROC") indicator displays the difference 
// between the current price and the price x-time periods ago. The difference can 
// be displayed in either points or as a percentage. The Momentum indicator displays 
// the same information, but expresses it as a ratio.
//
// 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


RSI_ROC(RSILength,ROCLength,BuyZone,SellZone) =>
    pos = 0.0
    xPrice = close
    nRes = rsi(roc(xPrice,ROCLength),RSILength)
    pos := iff(nRes < BuyZone, -1,
	         iff(nRes > SellZone, 1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & RSI based on ROC", 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, "---- RSI based on ROC ----")
RSILength = input(20, minval=1)
ROCLength = input(20, minval=1)
BuyZone = input(30, minval=1)
SellZone = input(70, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posRSI_ROC = RSI_ROC(RSILength,ROCLength,BuyZone,SellZone)
pos = iff(posReversal123 == 1 and posRSI_ROC == 1 , 1,
	   iff(posReversal123 == -1 and posRSI_ROC == -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 )