Die Ressourcen sind geladen. Beförderung...

Handelsstrategie auf der Grundlage von drei aufeinanderfolgenden bearish Kerzen und doppelten gleitenden Durchschnitten

Schriftsteller:ChaoZhang, Datum: 2024-05-14 17:30:35
Tags:SMASMA200

img

Übersicht

Diese Strategie ist eine Handelsstrategie, die auf drei aufeinanderfolgenden bearish Kerzen und zwei gleitenden Durchschnitten basiert. Die Hauptidee der Strategie ist: Wenn es drei aufeinanderfolgenden bearish Kerzen gibt und der aktuelle Schlusskurs höher als der 200-tägige gleitende Durchschnitt ist, öffnen Sie eine Long-Position; wenn der 10-tägige gleitende Durchschnitt mit dem Preis kreuzt oder der Preis das Take-Profit- oder Stop-Loss-Niveau erreicht, schließen Sie die Position. Die Strategie läuft nur innerhalb eines bestimmten Zeitrahmens.

Strategieprinzip

  1. Berechnen Sie die Anzahl der aufeinanderfolgenden bearish Kerzen. Wenn der Schlusskurs sinkt, erhöht sich die Anzahl der aufeinanderfolgenden bearish Kerzen um 1; andernfalls setzt sie auf 0.
  2. Berechnen Sie die gleitenden 10- und 200-Tage-Durchschnitte.
  3. Bestimmen Sie, ob der aktuelle Schlusskurs über dem gleitenden 10-Tage-Durchschnitt liegt.
  4. Überprüfen Sie, ob die Einstiegsbedingungen erfüllt sind: drei aufeinanderfolgende bearisher Kerzen, die aktuelle Zeit liegt innerhalb des angegebenen Bereichs und der aktuelle Schlusskurs liegt über dem gleitenden 200-Tage-Durchschnitt.
  5. Überprüfen Sie, ob die Ausstiegsbedingungen erfüllt sind: Der gleitende 10-Tage-Durchschnitt kreuzt sich mit dem Preis oder der Preis erreicht die Gewinn- oder Stop-Loss-Level.
  6. Wenn die Eintrittsbedingungen erfüllt sind und es keine aktuelle Position gibt, wird eine Longposition eröffnet.
  7. Wenn die Ausstiegsbedingungen erfüllt sind und eine aktuelle Position besteht, wird die Position geschlossen.

Strategische Vorteile

  1. Sie berücksichtigt Preisbewegungen und gleitende Durchschnittsfaktoren, so dass sie Chancen sowohl in Trend- als auch in Schwankungsmärkten nutzen kann.
  2. Es legt Take-Profit- und Stop-Loss-Niveaus fest, die Risiken wirksam kontrollieren können.
  3. Sie beschränkt die Laufzeit der Strategie und vermeidet übermäßige Risiken in bestimmten bestimmten Zeiten.
  4. Die Code-Logik ist klar und lesbar, sodass sie leicht zu verstehen und zu optimieren ist.

Strategische Risiken

  1. Die Beurteilung von aufeinanderfolgenden bearish Kerzen kann zu einfach sein, leicht falsche Signale auslösen.
  2. Die Festlegung von Take-Profit- und Stop-Loss-Niveaus ist möglicherweise nicht flexibel genug, was zu häufigen Geschäften oder verpassten Gelegenheiten führt, wenn der Markt stark schwankt.
  3. Es fehlt die Berücksichtigung unerwarteter Ereignisse, wichtiger Nachrichten und anderer unkonventioneller Faktoren, die möglicherweise zusätzliche Risiken mit sich bringen.

Strategieoptimierungsrichtlinien

  1. Es sollte in Erwägung gezogen werden, mehr technische Indikatoren wie RSI und MACD einzuführen, um eine robustere Signalbeurteilungslogik aufzubauen.
  2. Optimierung der Festlegung von Take-Profit- und Stop-Loss-Levels durch Einführung dynamischer Take-Profit/Stop-Loss- oder Stop-Loss-Einstellungen auf der Grundlage von Volatilitätsindikatoren wie ATR.
  3. Untersuchen Sie die Auswirkungen verschiedener Parameter-Einstellungen auf die Strategie, wie z. B. die Anzahl der aufeinanderfolgenden bearisher Kerzen, gleitende Durchschnittsperioden usw., um die optimale Parameterkombination zu finden.
  4. Einbeziehung des Positionsmanagements zur dynamischen Anpassung der Positionen an unterschiedliche Marktumgebungen, wodurch die Effizienz der Kapitalverwertung verbessert wird.

Zusammenfassung

Diese Strategie baut ein einfaches und leicht verständliches Handelsmodell durch die Kombination von aufeinanderfolgenden bearish Kerzen und doppelten gleitenden Durchschnitten. Während die Erfassung von Trendchancen, die Strategie setzt auch bestimmte Risikokontrollmaßnahmen. Allerdings gibt es weitere Raum für die Optimierung in Signal Urteil und Risikokontrolle. Durch die Einführung von mehr technischen Indikatoren, die Optimierung von Parameter-Einstellungen, die Implementierung dynamischer Take-Profit / Stop-Loss und Position Management, die Robustheit und Rentabilität der Strategie weiter verbessert werden kann.


/*backtest
start: 2023-05-08 00:00:00
end: 2024-05-13 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)


Verwandt

Mehr