HistoAlert-Strategie mit doppelter Umkehrung des RSI

Schriftsteller:ChaoZhang, Datum: 2024-01-04 17:17:24
Tags:

img

Übersicht

Die Dual Reversion RSI HistoAlert-Strategie erzeugt genauere Handelssignale, indem sie die 123 Reversion-Strategie und die RSI HistoAlert-Strategie kombiniert. Die 123 Reversion-Strategie beurteilt Preisumkehrpunkte und die RSI HistoAlert-Strategie überkaufte und überverkaufte Punkte. Die integrierten Signale beider Strategien können zuverlässigere Handelssignale erzeugen.

Strategie Logik

123 Umkehrstrategie

Die 123 Reverssion-Strategie basiert auf der Hypothese, dass: Preisumkehrsignale oft 2 Tage vor der tatsächlichen Preisumkehr erscheinen.

Die spezifischen Regeln sind:

  • Kaufsignal: Vorheriger Abschluss < vor 2 Tagen Abschluss UND aktueller Abschluss > Vorheriger Abschluss UND 9-tägige langsame K-Linie unter 50
  • Verkaufssignal: Vorheriger Schluß > Vor 2 Tagen Schluß UND Aktueller Schluß < Vorheriger Schluß UND 9-tägiger schneller K-Line über 50

Die K-Linien-Indikatoren filtern einige Rauschensignale.

RSI-HistoAlert-Strategie

Die RSI-HistoAlert-Strategie ändert den RSI-Indikator:

  • Skalieren Sie die RSI-Werte auf -100 bis 100
  • Erstellen von Handelssignalen, wenn der RSI die vorgegebenen Kauf-/Verkaufswarnlinien übersteigt

Es verwendet den absoluten RSI-Wert, um überkaufte/überverkaufte Zustände anzuzeigen und Signale auszulösen.

Vorteile

Diese Strategie vereint zwei verschiedene Strategieideen, um Stärken zu ergänzen und zuverlässigere Signale zu erzeugen:

  1. 123 Die Umkehrstrategie ist gut darin, Preisumkehrpunkte zu erfassen. Die RSI HistoAlert-Strategie ist gut darin, Überkauf/Überverkaufspunkte zu erfassen. Die Kombination führt zu umfassenderen Beurteilungen der Handelschancen.
  2. Die beiden Strategien verwenden unterschiedliche Eingabeindikatoren, wodurch die Wahrscheinlichkeit falscher Signale verringert und die Zuverlässigkeit verbessert wird.
  3. Beide Strategien haben selbst einen Optimierungsraum. Eine weitere Leistungssteigerung kann durch Parameter-Tuning erreicht werden.

Risiken

Die wichtigsten Risiken sind:

  1. Eine Umkehrung der Preise ist nicht gewährleistet. Die Preise können den Trend auch dann fortsetzen, wenn die Regeln des Umkehrsignals erfüllt werden.
  2. Der RSI-Indikator kann eine hohe Rate an falschen Signalen aufweisen.
  3. Beide Strategien können gleichzeitig falsche Signale auslösen, was das Risiko verdoppelt.

Die Lösungen sind:

  1. Feinstimmung 123 Umkehrparameter, um die Signale nur an Umkehrpunkten mit hoher Wahrscheinlichkeit sicherzustellen.
  2. Richten Sie die Position der RSI-HistoAlert-Alarmlinien an, um die Falschsignalrate zu senken.
  3. Hinzufügen anderer Indikatorbestätigungen, um übermäßige Risiken einer falschen Ausrichtung zu vermeiden.

Optimierungsrichtlinien

Die Strategie kann in folgenden Aspekten optimiert werden:

  1. Versuche verschiedene Parameterkombinationen beider Strategien, um optimale Werte zu finden.
  2. Mehr Faktoren wie MA, Volatilitätsindikatoren für die Multi-Faktor-Verifizierung einführen, um mehr falsche Signale auszufiltern.
  3. Verschiedene Haltungszeiten-Systeme testen. Die aktuelle Strategie verwendet Momentum-Holding. Der Trend nach dem Halt kann ausgewertet werden.
  4. Längfristige und kurzfristige Parameter sind getrennt festgelegt.

Schlussfolgerung

Die Dual Reversion RSI HistoAlert Strategie kombiniert Preisumkehrung und Überkauf/Überverkauf von Urteilsstrategien für zuverlässigere Handelssignale im Vergleich zur Verwendung einer einzigen Strategie. Sie hat eine geringere falsche Signalwahrscheinlichkeit und ein umfassenderes Urteil. Es gibt auch großen Raum für Optimierung durch Parameter-Tuning, Multifaktor-Verifizierung, Positionsholding-Schema usw. zur weiteren Steigerung der Stabilität und Rentabilität.


/*backtest
start: 2022-12-28 00:00:00
end: 2024-01-03 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 28/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 simple indicator modified RSI
//
// 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_Hist(RSIPeriod,BuyAlertLevel,SellAlertLevel,RSIHistoModify) =>
    pos = 0.0
    xPrice = close
    RSIMain = (rsi(xPrice, RSIPeriod) - 50) * RSIHistoModify
    pos:= iff(RSIMain > BuyAlertLevel, 1,
    	     iff(RSIMain < SellAlertLevel, -1, nz(pos[1], 0)))
    pos

strategy(title="Combo Backtest 123 Reversal & RSI HistoAlert", 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 HistoAlert ----")
RSIPeriod = input(13, minval=1)
BuyAlertLevel = input(-10)
SellAlertLevel = input(10)
RSIHistoModify = input(1.5)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posRSI_Hist = RSI_Hist(RSIPeriod,BuyAlertLevel,SellAlertLevel,RSIHistoModify)
pos = iff(posReversal123 == 1 and posRSI_Hist == 1 , 1,
	   iff(posReversal123 == -1 and posRSI_Hist == -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