Strategie zur doppelten Umkehrverfolgung

Schriftsteller:ChaoZhang, Datum: 2023-12-01 15:36:34
Tags:

img

Übersicht

Die Double Reversal Tracking-Strategie erzeugt Handelssignale, indem sie die doppelten Umkehrpunkte der Preise verfolgt. Sie eröffnet eine Short-Position, wenn der Preis ein neues Hoch und eine Long-Position, wenn der Preis ein neues Tief bildet. Diese Echtzeit-Verfolgung von Preisumkehrungen kann Änderungen der Marktdynamik rechtzeitig erfassen.

Strategie Logik

Die Double Reversal Tracking-Strategie verwendet zwei Musterurteile zur Erzeugung von Handelssignalen, darunter das High Buy Reversal Pattern (HHS) und das Low Sell Reversal Pattern (LLB).

  1. HHS-Muster: nahe[0] < nahe[1] und hoch[0] > hoch[1]
  2. LLB-Muster: schließen[0] > schließen[1] und niedrig[0] < niedrig[1]

Wenn die oben genannten Bedingungen erfüllt sind, werden der Barindex und der Preis von HHS und LLB beziehungsweise aufgezeichnet. Danach wird die Strategie in Echtzeit überwachen, ob der Preis den aufgezeichneten Umkehrpreis durchbricht. Wenn der Preis den HHS-Umkehrhochpunkt durchbricht, bedeutet dies, dass das Preismuster in einen Abwärtstrend umgekehrt ist und die Strategie eine Short-Position eröffnet. Im Gegenteil, wenn der Preis den LLB-Umkehrtiefpunkt durchbricht, bedeutet dies, dass das Preismuster in einen Aufwärtstrend umgekehrt ist und die Strategie eine Long-Position eröffnet. Auf diese Weise kann die Double Reversal Tracking-Strategie dynamisch Preisumkehrmöglichkeiten erfassen.

Wenn die Strategie ausgeführt wird, wird sie auch die HHS-, LLB-Muster und Ausbruchssituationen visuell durch Markierungen und Hintergrundfarben anzeigen. Dies ist sehr hilfreich, um die Marktbedingungen intuitiv zu beurteilen und die Strategie zu überprüfen. Zusammenfassend realisiert die Double Reversal Tracking-Strategie den Handel, indem sie die Preisumkehrpunkte dynamisch verfolgt, was die Möglichkeiten zur Preisumkehr effektiv erfassen kann.

Analyse der Vorteile

Die Strategie der doppelten Umkehrverfolgung hat folgende Vorteile:

  1. Im Vergleich zu anderen Strategien, die gleitende Durchschnitte und andere technische Indikatoren verfolgen, hat diese Strategie agilere Reaktionen.

  2. Es erzeugt Handelssignale direkt aus den Preisumkehrfunktionen, ohne zu viele zu optimierende Parameter.

  3. Die Markierung von Mustern und Ausbrüchen ermöglicht die Visualisierung der Strategieoperation und die Überprüfung der Strategieleistung.

  4. Die Codebasis der Strategie ist klein und leicht verständlich und anpassbar.

Zusammenfassend lässt sich sagen, dass die Double Reversal Tracking-Strategie, obwohl sie einfach ist, Preisumkehrungen effektiv erfassen kann und sich als beschleunigte Umkehrstrategie zu verwenden lohnt.

Risikoanalyse

Die Strategie der doppelten Umkehrverfolgung birgt auch einige Risiken, insbesondere:

  1. Das Urteil über die Preisumkehrung beruht auf Einzelpunktinformationen, die eine höhere Wahrscheinlichkeit von Fehleinschätzungen aufweisen.

  2. Es berücksichtigt nicht den größten Trend und kann bei größeren Aufwärtstrends immer noch falsche Kurzsignale erzeugen.

  3. Es gibt keinen Stop-Loss-Mechanismus zur Kontrolle einzelner Handelsverluste. Für den Live-Handel müssen angemessene Stop-Loss-Strategien festgelegt werden, um Verluste auf ein akzeptables Niveau zu halten.

  4. Backtest-Daten können Optimierungsverzerrungen aufweisen und Live-Performance kann unter den Backtests liegen.

Im Allgemeinen, als eine schnelle Umkehrstrategie, hat diese Strategie einfache Implementierungen, hat aber auch eine gewisse Wahrscheinlichkeit von Fehleinschätzungen. Durch die Einführung von Trendfiltern, Stop Loss und anderen Modulen können die Risiken effektiv reduziert werden, um es zu einer stabilen und zuverlässigen Live-Handelsstrategie zu machen.

Verbesserungsbereiche

Um die Wahrscheinlichkeit von Fehleinschätzungen zu verringern und die Stabilität zu verbessern, kann die Strategie in folgenden Aspekten verbessert werden:

  1. Zusätzliche effektive Breakout-Validierung, wie z. B. die Anforderung an den Preis, den Umkehrpunkt um einen bestimmten Prozentsatz zu durchbrechen, bevor Positionen eröffnet werden.

  2. Hinzufügen eines Haupttrendbeurteilungsmoduls, um falsche Kurzsignale während wichtiger Aufwärtstrends zu vermeiden.

  3. Implementieren Sie Stop-Loss-Strategien wie Trailing-Stop-Loss und Zone-Stop-Loss, um Einzelhandelsverluste unter bestimmten Grenzen zu kontrollieren.

  4. Optimierung von Positionsgrößenalgorithmen zur Anpassung der Positionsgröße an die Marktvolatilität und Verringerung der Größe einzelner Positionen in Umgebungen mit hoher Volatilität.

  5. Test länger Zeiträume von Live-Daten, um die Parameterstabilität zu bewerten und mehrfache Optimierungserweiterungen durchzuführen.

Durch Anpassungen in den oben genannten Aspekten können erhebliche Verbesserungen der Live-Leistung und Stabilität dieser Strategie erzielt werden.

Schlussfolgerung

Die Double Reversal Tracking-Strategie erfasst Umkehrchancen durch Echtzeitüberwachung von Kursumkehrpunkten. Sie hat eine einfache Logik, eine einfache Ausführung und kann schnell Positionen entlang Umkehrtrends eröffnen. Aber sie hat auch eine gewisse Wahrscheinlichkeit von Fehleinschätzungen. Durch die Einführung von Trendfiltern, Stop-Loss-Strategien und Parameteroptimierung kann das Fehleinschätzungsrisiko effektiv reduziert werden, um es zu einer stabilen und effizienten Strategie für den Live-Handel zu machen. Sie eignet sich besonders als schnelle Umkehrstrategie.


/*backtest
start: 2023-10-31 00:00:00
end: 2023-11-30 00:00:00
period: 6h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="Rev. FO", shorttitle="Rev. FO", overlay=true, pyramiding=0,calc_on_order_fills=true,calc_on_every_tick=true,default_qty_type=strategy.percent_of_equity,default_qty_value=50,initial_capital=1000,currency="USD",commission_type=strategy.commission.percent,commission_value=0.2,process_orders_on_close=false)

HHS = close[0] < close[1] and high[0] > high[1]
LLB = close[0] > close[1] and low[0] < low[1]

var trade_long = false
var text_status = "Awaiting Trade..."
var index_hhs = 0
var index_llb = 0
var price_hhs = 0.0
var price_llb = 0.0

if (HHS)
    trade_long := false
    text_status := "Trade in Short"
    index_hhs := bar_index
    price_hhs := high
if (LLB)
    trade_long := true
    text_status := "Trade in Long"
    index_llb := bar_index
    price_llb := low

plotshape(HHS, style=shape.labeldown, title="HHS", location=location.abovebar, color=color.red, text="HHS", textcolor=color.white,size=size.tiny)
plotshape(LLB, style=shape.labelup, title="LLB", location=location.belowbar, color=color.white, text="LLB", textcolor=color.white,size=size.tiny)

// HHS_top = line.new(index_hhs-1,price_hhs,bar_index,price_hhs,extend=extend.right,style=line.style_solid,width=1,color=color.red)
// LLB_bot = line.new(index_llb-1,price_llb,bar_index,price_llb,extend=extend.right,style=line.style_solid,width=1,color=color.white)
// line.delete(HHS_top[1])
// line.delete(LLB_bot[1])

//Calculates how far the signal is painted to right. 
hours = 5
lapos_x = timenow+1000*60*60*hours
lapos_y = highest(20)

// lb = label.new(lapos_x, lapos_y, text=text_status,color=trade_long?color.white:color.red,xloc = xloc.bar_time,style=label.style_diamond,textcolor=trade_long?color.white:color.red,size=size.small)
// label.delete(lb[1])

breakout_hhs = crossover(high,price_hhs)
breakout_llb = crossunder(low,price_llb)

bgcolor(breakout_hhs?color.lime:na,transp=50,title="BO HHS")
bgcolor(breakout_llb?color.maroon:na,transp=50,title="BO LLB")

long_condition = breakout_hhs
long_close = close < price_hhs or breakout_llb
short_condition = breakout_llb
short_close = close > price_llb or breakout_hhs

strategy.entry(id="long",long=true,comment="L",when=long_condition)
strategy.close(id="long",when=long_close)
strategy.entry(id="short",long=false,comment="S",when=short_condition)
strategy.close(id="short",when=short_close)



Mehr