Dynamische Stop-Profit- und Stop-Loss-Handelsstrategie basierend auf drei aufeinanderfolgenden negativen Linien und einem gleitenden Durchschnitt

SMA EMA
Erstellungsdatum: 2024-05-09 16:42:35 zuletzt geändert: 2024-05-09 16:42:35
Kopie: 0 Klicks: 627
1
konzentrieren Sie sich auf
1617
Anhänger

Dynamische Stop-Profit- und Stop-Loss-Handelsstrategie basierend auf drei aufeinanderfolgenden negativen Linien und einem gleitenden Durchschnitt

Überblick

Die Handelsstrategie basiert auf der Form von drei aufeinanderfolgenden Negativlinien und einem Gleichgewichtssystem, um die Handelssignale zu beurteilen. Die Strategie verwaltet das Handelsrisiko durch dynamische Stopps und Stopps, wobei die Stop- und Stop-Loss-Punkte nach der Position der kurzfristigen Mittellinie und dem Prozentsatz der Preisänderung festgelegt werden. Die Strategie handelt nur in einem bestimmten Zeitraum.

Strategieprinzip

  1. Berechnen Sie die Anzahl der aufeinanderfolgenden Schlangen, wenn eine bestimmte Anzahl von aufeinanderfolgenden Schlangen ([Default] 3) vorhanden ist, wird als Mehrfachsignal angesehen.
  2. Es werden zwei Durchschnittslinien verwendet, um Trends und Handelszeiten zu beurteilen. Die 10-Tage-Durchschnittslinie und die 200-Tage-Durchschnittslinie werden standardmäßig verwendet. Nur wenn der Preis oberhalb der 200-Tage-Durchschnittslinie liegt, wird mehr berücksichtigt.
  3. Setzen Sie einen dynamischen Stop-Off- und Stop-Loss-Punkt. Der Stop-Off-Punkt ist ein bestimmter Prozentsatz oberhalb des Eröffnungspreises (default 1,5%), der Stop-Loss-Punkt ist ein bestimmter Prozentsatz unterhalb des Eröffnungspreises (default 1%).
  4. Eine weitere Bedingung für eine Ausgleichsposition ist eine Änderung der Position des Preises gegenüber der 10-Tage-Mittellinie. Wenn ein Mehrheits-Positioner einen Preis von oben auf die Mittellinie nach unten zurücklässt, ist die Ausgleichsposition.
  5. Die Strategie wird nur für einen bestimmten Zeitraum ausgeführt, der je nach Start- und Enddatum bestimmt wird.

Strategische Vorteile

  1. Die Kombination von Preisformeln und einheitlichem Liniensystem ermöglicht eine bessere Erfassung von Trendchancen.
  2. Durch dynamische Stopps und Verluste können Risiken und Gewinne flexibel gesteuert werden. Die Stop-Loss-Punkte werden mit steigenden Preisen erhöht, so dass die Gewinne springen; die Stop-Loss-Punkte begrenzen den maximalen Verlust.
  3. Die positionale Veränderung der kurzfristigen Durchschnittslinie kann als Signal für die Ausgleichslage verwendet werden, um eine plötzliche Preisumkehr schnell zu bewältigen.
  4. Es ist wichtig, die Handelszeiten anzugeben, um die Risiken zu verringern und zu vermeiden, dass Sie während besonderer Zeiten wie Marktschließungen oder Feiertagen handeln.

Strategisches Risiko

  1. Eine Trendwende kann nicht durch die Formulierung einer langen Niederschlagsmethode vollständig bestimmt werden, da nach einer langen Niederschlagsmethode ein weiterer Preisanstieg eintreten kann, der die Strategie zum Scheitern veranlasst.
  2. Ein fester Prozentsatz der Stop-Loss-Punkte ist möglicherweise nicht in der Lage, die starken Schwankungen des Marktes zu bewältigen. Wenn der Trend stark ist, kann der Stop-Loss-Punkt zu niedrig eingestellt werden, was zu einem vorzeitigen Ausstieg führt. Wenn die Schwankungen sich verstärken, kann der Stop-Loss-Punkt zu nahe kommen, was zu häufigen Stop-Losses führt.
  3. Die Beurteilung der Position der kurzfristigen Mittellinie kann verzögert werden, insbesondere bei schnellen Preisveränderungen, bei denen die optimale Stilllegungszeit möglicherweise verpasst wurde.
  4. Die Strategie fehlt an Maßnahmen zur Positionsverwaltung und Risikokontrolle, und die Einstiegspunkte und die Positionsgröße sind fest, was zu einem zu hohen Risiko für einen einzelnen Handel führen kann.

Richtung der Strategieoptimierung

  1. Es können mehr technische Indikatoren eingeführt werden, um die Entscheidung zu unterstützen, wie MACD, RSI und andere, um die Zuverlässigkeit des Signals zu verbessern.
  2. Optimierung der Berechnung von Stopp- und Verlustpunkten, z. B. durch dynamische Anpassung an ATR oder Schwankungsraten oder durch Einstellungen in Kombination mit Unterstützungswiderstandspunkten.
  3. Für das Flachsymbol können weitere Bestätigungsbedingungen, wie beispielsweise die Veränderung der Transaktionsmenge oder der Anteil der Positionen mit mehreren Leerköpfen, in Betracht gezogen werden, um Fehlsignale zu vermeiden.
  4. Einführung von Positionsmanagement- und Risikokontrollmaßnahmen, wie der Anpassung der Positionsgröße pro Handel an den Kontostand und das Risikoniveau, die Festlegung von Gesamtrisikolimits usw.
  5. Für Parameter-Einstellungen wie die Anzahl der aufeinanderfolgenden Schlangen, die Durchschnittsphase usw. können Optimierungstests durchgeführt werden, um die optimale Kombination von Parametern zu finden.

Zusammenfassen

Die Handelsstrategie beurteilt die tendenziellen Handelschancen durch eine Reihe von Negativlinien und einheitlichen Linien, und nutzt gleichzeitig dynamische Stop-Loss- und kurzfristige Gleichgewichtspositionsänderungen, um das Risiko zu kontrollieren. Die Strategie ist klar konzipiert und eignet sich für Händler, die mittelfristige Trends erfassen. Die Strategie hat jedoch auch einige Einschränkungen, wie z. B. Signalzuverlässigkeit, Stop-Loss-Punkt-Einstellung und Positionsverwaltung.

Strategiequellcode
/*backtest
start: 2023-05-09 00:00:00
end: 2024-05-08 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Estrategia de Trading", overlay=true)

// Definir el número de cierres de velas decrecientes consecutivas
var int cierres_decrecientes_consecutivos = 0
num_cierres_decrecientes = input.int(3, title="Número de cierres decrecientes", minval=1)

// Definir el porcentaje de cambio para cerrar la operación
porcentaje_cierre_arriba = input.float(1.5, title="Porcentaje de cierre arriba (%)", step=0.1)
porcentaje_cierre_abajo = input.float(1.0, title="Porcentaje de cierre abajo (%)", step=0.1)

// Definir las medias móviles para el cierre de la operación
periodos_media_movil_cierre = input.int(10, title="Períodos de la media móvil para cierre")
periodos_media_movil_200 = input.int(200, title="Períodos de la media móvil de 200")

// Definir el rango de fechas para la simulación
start_date = timestamp(2024, 1, 1, 0, 0)
end_date = timestamp(2024, 12, 31, 23, 59)

// Calcular la media móvil para el cierre de la operación
sma_cierre = ta.sma(close, periodos_media_movil_cierre)
sma_200 = ta.sma(close, periodos_media_movil_200)

// Calcular si el precio está por encima o por debajo de la media móvil para el cierre de la operación
precio_por_encima_sma_cierre = close > sma_cierre
precio_por_debajo_sma_cierre = close < sma_cierre

// Calcular si se han producido num_cierres_decrecientes consecutivos
if (ta.change(close) < 0)
    cierres_decrecientes_consecutivos := cierres_decrecientes_consecutivos + 1
else
    cierres_decrecientes_consecutivos := 0

es_cierres_consecutivos = cierres_decrecientes_consecutivos >= num_cierres_decrecientes

// Definir condiciones de entrada y salida de la estrategia dentro del rango de fechas y con el precio por encima de la SMA de 200
condicion_entrada = es_cierres_consecutivos and close > sma_200
condicion_cierre_sma = (precio_por_encima_sma_cierre[1] and not precio_por_encima_sma_cierre) or (not precio_por_encima_sma_cierre[1] and precio_por_encima_sma_cierre)

// Calcular precios de salida basados en porcentajes
precio_salida_arriba = strategy.position_avg_price * (1 + porcentaje_cierre_arriba / 100)
precio_salida_abajo = strategy.position_avg_price * (1 - porcentaje_cierre_abajo / 100)

// Ejecutar operación en largo dentro del rango de fechas y con el precio por encima de la SMA de 200
if (condicion_entrada and strategy.opentrades == 0)
    strategy.entry("Long", strategy.long)

// Cerrar operación en largo si se cumple la condición de salida por cambio en el cruce de la media móvil dentro del rango de fechas
if (strategy.position_size > 0 and condicion_cierre_sma)
    strategy.close("Long")

// Cerrar operación en largo si el precio alcanza el porcentaje de cierre arriba o abajo dentro del rango de fechas
strategy.exit("Stop Loss", "Long", limit=precio_salida_arriba, stop=precio_salida_abajo)

// Plot para visualizar la media móvil para el cierre de la operación
plot(sma_cierre, color=color.red)

// Plot para visualizar la SMA de 200
plot(sma_200, color=color.blue)