Double Tops Smart Breakout-Strategie

Schriftsteller:ChaoZhang, Datum: 2023-10-08 15:17:51
Tags:

Übersicht

Die Double Tops Smart Breakout Strategie ist eine Kombinationsstrategie, die die 123 Reversal Strategie und die Pivot Detector Oscillator Strategie umfasst.

Grundsätze

Die Strategie besteht aus zwei Teilen:

  1. 123 Umkehrstrategie

    Die 123 Umkehrstrategie stammt aus dem Buch Wie ich mein Geld auf dem Futures-Markt verdreifacht habe von Ulf Jensen, Seite 183.

    Die Logik lautet: Wenn der Schlusskurs 2 aufeinanderfolgende Tage über dem vorherigen Schlusskurs liegt und die 9-tägige Stochastic Slow-Linie unter 50 liegt, gehen Sie lang; wenn der Schlusskurs 2 aufeinanderfolgende Tage unter dem vorherigen Schlusskurs liegt und die 9-tägige Stochastic Fast-Linie über 50 liegt, gehen Sie kurz.

  2. Strategie des Schaltdetektor-Oszillators

    Die Pivot-Detector-Oszillator-Strategie wurde von Giorgos E. Siligardos vorgeschlagen.

    Diese Strategie verwendet eine Kombination aus gleitenden Durchschnitten und dem RSI-Indikator, um die Oszillation zu messen, wenn der Preis sich den oberen oder unteren Bands nähert.

    When price > moving average:
        Indicator value = (RSI value - 35) / (85 - 35)
    When price <= moving average: 
        Indicator value = (RSI value - 20) / (70 - 20)
    
    If indicator value > 50, go long
    If indicator value < 50, go short
    

Durch die Kombination der beiden Strategien, wenn ein doppeltes Top-Muster auftritt, wenn der Indikator ein Signal in die gleiche Richtung ausgibt, wird eine Breakout-Operation ausgeführt.

Analyse der Vorteile

  • Nutzt doppelte Indikatoren für zuverlässigere Signale
  • Erfasst neue Trendentstehung auf wichtigen technischen Ebenen
  • Breakout-Operationen ermöglichen ein größeres Gewinnpotenzial
  • Kombination von Umkehrungen und Indikatorfiltern vermeidet Whipsaws in den Bereichen
  • Anwendbar auf mehrere Produkte mit Flexibilität

Risikoanalyse

  • Doppelte Spitzen können das Risiko eines falschen Ausbruchs nicht vollständig beseitigen
  • Die Einstellung der Anzeige erfordert Erfahrung, falsche Parameter können falsche Signale verursachen
  • Wirksame Stop-Loss-Strategien sind erforderlich, um Einzelverluste zu kontrollieren
  • Versagte Ausbrüche können zu großen Verlusten führen
  • Die Leistung hängt von Parameter-Tuning für verschiedene Produkte ab

Risikomanagement und Optimierung:

  • Optimierung der Indikatorparameter zur Verringerung falscher Signale
  • Um Verluste zu begrenzen, müssen sich die Bewegungs- oder Rückhaltesysteme anpassen.
  • Bewertung der Nachhaltigkeit von Ausbrüchen zur Vermeidung von Rückschlägen
  • Anpassung der Parameter auf der Grundlage verschiedener Produktmerkmale

Optimierungsrichtlinien

Die Strategie kann in folgenden Aspekten optimiert werden:

  1. Verschiedene gleitende Durchschnittssysteme testen, um optimale Parameterkombinationen zu finden

  2. Optimierung der RSI-Parameter zur Verringerung falscher Signale

  3. Fügen Sie Volumenfilter hinzu, um gültige Ausbrüche sicherzustellen

  4. Einbeziehung von Trendindikatoren zur Vermeidung von Gegentrendbrüchen

  5. Verwenden Sie maschinelles Lernen für automatische Parameter-Tuning

  6. Hinzufügen von Stop-Loss-Strategien zur Risikokontrolle

  7. Bewertung der Nachhaltigkeit des Ausbruchs und Festlegung von Gewinnzielen

  8. Analyse verschiedener Produktmerkmale für Parameteranpassungen

Durch die Optimierung der Parameter, die Bewertung der Ausbruchseffekte, die Anpassung der Stop-Loss-Strategien usw. kann die Strategie kontinuierlich verbessert werden, um in verschiedenen Marktumgebungen einen stetigen Gewinn zu erzielen.

Schlussfolgerung

Die Double Tops Smart Breakout-Strategie kombiniert Umkehrmuster und Indikator-Bestätigungsmechanismen, um potenzielle Trendumkehrpunkte auf kritischen technischen Ebenen zu erfassen. Im Vergleich zur reinen Verfolgung von Breakouts ist der Ausführungszeitplan präziser und vermeidet Whipsaws in unterschiedlichen Märkten. In der Zwischenzeit legt die Strategie Wert auf die Risikokontrolle und sollte mit Stop-Loss-Mechanismen verwendet werden. Durch Parameteroptimierung und Kombination technischer Indikatoren können durchgängige Breakout-Signale erhalten werden, um Ausbrüche zu erfassen und große Gewinne an Trendumkehrpunkten zu erzielen. Zusammenfassend kann die Strategie eine genaue Timing-Auswahl und eine solide Risikokontrolle haben.


/*backtest
start: 2023-09-30 00:00:00
end: 2023-10-03 00:00:00
period: 45m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 20/04/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 Pivot Detector Oscillator, by Giorgos E. Siligardos
// The related article is copyrighted material from Stocks & Commodities 2009 Sep
//
// 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


PDO(Length_MA,Length_RSI,UpBand,DownBand,MidlleBand) =>
    pos = 0.0
    xMA = sma(close, Length_MA)
    xRSI = rsi(close, Length_RSI)
    nRes = iff(close > xMA, (xRSI - 35) / (85-35), 
             iff(close <= xMA, (xRSI - 20) / (70 - 20), 0))
    pos:= iff(nRes * 100 > 50, 1,
    	   iff(nRes * 100 < 50, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Pivot Detector Oscillator)", 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, "---- Pivot Detector Oscillator ----")
Length_MA = input(200, minval=1)
Length_RSI = input(14, minval=1)
UpBand = input(100, minval=1)
DownBand = input(0)
MidlleBand = input(50)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posPDO = PDO(Length_MA,Length_RSI,UpBand,DownBand,MidlleBand)
pos = iff(posReversal123 == 1 and posPDO == 1 , 1,
	   iff(posReversal123 == -1 and posPDO == -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