Strategie zur Umkehrung der Dynamik auf der Grundlage mehrerer Zeitrahmen

Schriftsteller:ChaoZhang, Datum: 2024-02-27 14:27:49
Tags:

img

Übersicht

Diese Strategie identifiziert Handelschancen, indem sie die Quoten von Kerzenkörper/Wick berechnet und RSI-Indikatoren kombiniert, um überkaufte/überverkaufte Marktbedingungen zu erkennen.

Strategie Logik

Die Kernlogik dieser Strategie beruht auf folgenden Grundsätzen:

  1. Berechnen Sie den Körper-/Wick-Prozentsatz der Kerzen: Durch Berechnen der offenen, schließenden, hohen und niedrigen Preise ermitteln Sie den Prozentsatz, den der Kerzenkörper und die Wick-Prozentsatz unter 20% einnehmen.

  2. Berechnen Sie die interne Preisbewegungsgröße jeder Kerze, um die Kerzenstärke zu bestimmen. Größere Schwankungen bedeuten eine stärkere Dynamik und deuten daher auf stärkere Kerzen hin.

  3. Kombinieren Sie mit dem RSI, um überkaufte/überverkaufte Bedingungen zu identifizieren: Stellen Sie für den RSI überkaufte und überverkaufte Schwellenlinien fest.

  4. Bestimmung der Umkehrsignale: Wenn der Wickelanteil < 20% und die Kerzenstärke > 2 x Durchschnittsstärke zusammen mit dem vorherigen Kerzenschluss höher als dem aktuellen Kerzenschluss sind, signalisiert dies einen kurzen Zustand.

  5. Definition von Stop-Loss und Take-Profit: Festsetzen Sie für lange und kurze Trades einen festgelegten prozentualen Stop-Loss und nehmen Sie Profit-Levels getrennt ein.

Analyse der Vorteile

Zu den Vorteilen dieser Strategie gehören:

  1. Wirksame Identifizierung von Trend und Umkehrungen unter Verwendung von Kerzenkörper-Wick-Verhältnissen.

  2. Höhere Genauigkeit der Umkehrsignale durch Kombination von Kerzenstärkeänderung und RSI. RSI ist einstellbar und bietet eine größere Optimierungsfähigkeit.

  3. Eine angemessene Stop-Loss-/Take-Profit-Konfiguration, um kurzfristige Chancen zu nutzen und gleichzeitig das Handelsrisiko zu senken.

  4. Flexible Einstellbarkeit der Parameter für die Optimierung verschiedener Produkte und Zeitrahmen.

Risikoanalyse

Einige Risiken, die in der Strategie bestehen:

  1. Potenzielle falsche Signale bei starken Trendbruch. Kann durch Optimierung von Kerzen Vergleichsperioden und RSI-Parameter reduziert werden.

  2. Die Wahrscheinlichkeit von fehlgeschlagenen Umkehrungen kann nicht vollständig beseitigt werden.

  3. Bei der Anwendung von hochflüchtigen Produkten ist Vorsicht geboten.

Möglichkeiten zur Verbesserung

Die Strategie kann wie folgt optimiert werden:

  1. Bei der Ermittlung von Überkauf/Überverkauf werden Feinabstimmungsperioden berücksichtigt, um optimale Parameterkombinationen zu ermitteln.

  2. Optimierung der RSI-Schwellenwerte für Überkauf/Überverkauf auf der Grundlage der Produktspezifik.

  3. Test Stop-Loss-/Take-Profit-Verhältnisse zur Ableitung eines idealen Risikomanagementplans.

  4. Für eine zielgerichtete Parameteranpassung werden die Produkte nach Volatilität kategorisiert.

  5. Zusätzliche Filter, die auf anderen Indikatoren basieren, können die Robustheit verbessern.

Schlussfolgerung

Die Strategie ist insgesamt sehr praktisch, um Umkehrungen durch Verständnis von Kerzeninformationen zu erkennen. Als typisches kurzfristiges Handelssystem verfügt es über eine beträchtliche Optimierungsfähigkeit in Produkten und Umgebungen zur Verfolgung mittelfristiger Trends. Eine ausreichende Risikokontrolle durch Stop-Losses ist jedoch unerlässlich.


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

//@version=5
strategy("mecha larga study",overlay = true,  max_bars_back = 600)
//Porcentaje Mecha cuerpo
bodyPercent = math.abs(open - close) / (high - low) * 100
wickPercent = 100 - bodyPercent

plot(bodyPercent, "Porcentaje del cuerpo", color.rgb(163, 76, 175))
plot(wickPercent, "Porcentaje de la mecha", color.red)

VelaDeFuerza =  math.abs(((high[0] - low[0])*100)/high)//PORCENTAJE DE VARIACION DE UNA VELA
plot(VelaDeFuerza, color = color.purple)

Promedio = ((VelaDeFuerza[0] + VelaDeFuerza[1] + VelaDeFuerza[2] + VelaDeFuerza[3] + VelaDeFuerza[4]  + VelaDeFuerza[5] + VelaDeFuerza[6] + VelaDeFuerza[7] + VelaDeFuerza[8] + VelaDeFuerza[9] + VelaDeFuerza[10] + VelaDeFuerza[11] + VelaDeFuerza[12] + VelaDeFuerza[13]  + VelaDeFuerza[14] ) / 15)
plot(Promedio, color = color.yellow)


// rsi 
per_Rsi = input.int(14, "Periodo RSI",minval= 11, maxval=20) //inicializo el rsi en 14 periodos pero doy la posibilidad al usuario de cambiarlo
rsi_Sc = input.int(75,"Sobre Compra",minval=68,maxval=80) //ENTRADA DE SOBRE COMPRA DE RSI
rsi_Sv = input.int(25,"Sobre Venta",minval=20,maxval=33) //ENTRADA DE SOBRE VENTA DE RSI
rsi= ta.rsi(close,per_Rsi)//guardo el rsi con los paramentros anteriores en una variable

//logica
MayorPromedio =   Promedio + 0.800
plot(MayorPromedio, color = color.green)

Venta =   bodyPercent > 80   and VelaDeFuerza > Promedio * 2  and close < close[1]
Compra =   bodyPercent > 80  and VelaDeFuerza > Promedio * 2 and close > close[1]


precioVenta = Venta? close : na
precioCompra = Compra? close : na

tp1 = 0.00
sl  = 0.00
tp1 := 0.003
sl := 0.010

TP1short = precioVenta - (precioVenta * tp1)
Slshort = precioVenta + (precioVenta * sl)

TP1long = precioCompra + (precioCompra * tp1)
SLlong = precioCompra - (precioCompra * sl)


name1 = "tp1"
name2 = "tp2"
name3= "SL"




if ( precioVenta ) 
    strategy.entry("short", strategy.short , comment = "Sell  SL: " + str.tostring(Slshort, "0.000")  + " TP1: " + str.tostring(TP1short,"0.000") ) 
    strategy.exit("exit" , "short", stop = Slshort , limit = TP1short ,qty_percent = 100 )  
if ( precioCompra ) 
    strategy.entry("long", strategy.long , comment = "Buy   SL: " + str.tostring(SLlong, "0.000")  + " TP1: " + str.tostring(TP1long,"0.000") )
    strategy.exit("exit" , "long", stop = SLlong  , limit = TP1long ,qty_percent = 100 )

Mehr