Estrategia de avance de la oscilación de siete velas

El autor:¿ Qué pasa?, Fecha: 2023-12-15 16:14:32
Las etiquetas:

img

Resumen general

La estrategia de avance de la oscilación de siete velas detecta la persistencia de patrones de candlestick hacia arriba y hacia abajo formados por siete líneas K para determinar las tendencias de oscilación del mercado y realizar operaciones de avance en momentos fijos para obtener ganancias.

Principio de la estrategia

La lógica central de esta estrategia se basa en dos indicadores:

  1. sieteReds: detección de 7 líneas K consecutivas decrecientes, definidas como una tendencia a la baja en la oscilación del mercado
  2. sieteverdes: detección de 7 líneas K ascendentes consecutivas, definidas como una tendencia al alza en la oscilación del mercado

Cuando siete rojos se detecta, ir largo; cuando siete verdes se detecta, ir corto.

Además, la estrategia también cierra posiciones en horarios fijos (horarios de publicación de datos importantes de EE.UU.) todos los días para obtener ganancias.

Análisis de ventajas

La estrategia de avance de oscilación de siete velas tiene las siguientes ventajas:

  1. Captura las tendencias de oscilación del mercado.
  2. La operación cronometrada evita los riesgos sistémicos asociados con grandes diferencias en torno a los datos económicos importantes
  3. La obtención de beneficios oportunos bloquea las ganancias y reduce los retiros

Análisis de riesgos

La estrategia de avance de oscilación de siete velas también tiene algunos riesgos:

  1. Riesgo de error en el reconocimiento de patrones: siete líneas K no pueden filtrar completamente el ruido y pueden generar señales incorrectas
  2. No existen medidas de stop loss para limitar las pérdidas por operación
  3. Tiempos de obtención de beneficios no pueden ajustarse dinámicamente, riesgo de no obtener beneficios a tiempo

Soluciones correspondientes:

  1. Aumentar el número de líneas K, aumentar el umbral de persistencia
  2. Añadir una lógica de stop loss móvil
  3. Ajuste dinámico del tiempo de obtención de beneficios basado en indicadores de volatilidad

Direcciones de optimización

La estrategia de avance de las oscilaciones de siete velas se puede optimizar en los siguientes aspectos:

  1. Añadir múltiples grupos de seguridad para la rotación de índices/sectores
  2. Añadir modelos de aprendizaje automático para ayudar a predecir el régimen del mercado
  3. Incorporar medias móviles para señales de entrada optimizadas
  4. Ajuste dinámico del tamaño de las posiciones basado en el aprovechamiento para controlar el riesgo

Conclusión

La estrategia de avance de oscilación de siete velas obtiene ganancias al capturar tendencias de oscilación a corto plazo en el mercado, mientras utiliza la ejecución cronometrada para evitar riesgos importantes y tomar ganancias para obtener ganancias.


/*backtest
start: 2023-12-07 00:00:00
end: 2023-12-14 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Eliza123123

//@version=5
strategy("Breakeven Line Demo", overlay=true)

// Generic signal (not a viable strategy don't use, just some code I wrote quick for demo purposes only)
red = open > close, green = open < close
sevenReds = red and red[1] and red[2] and red[3] and red[4] and red[5] and red[6]
sevenGreens = green and green[1] and green[2] and green[3] and green[4] and green[5] and green[6]
if sevenReds
    strategy.entry('Buy', direction=strategy.long)
if sevenGreens
    strategy.entry('Sell', direction=strategy.short)
if (hour == 5 and minute == 0 ) or (hour == 11 and minute == 0) or (hour == 17 and minute == 0 ) or (hour == 23 and minute == 0) 
    strategy.close_all("Close")

// Breakeven line for visualising breakeven price on stacked orders.  
var breakEvenLine = 0.0
if strategy.opentrades > 0 
    breakEvenLine := strategy.position_avg_price
else
    breakEvenLine := 0.0
color breakEvenLineColor = na
if strategy.position_size > 0
    breakEvenLineColor := #15FF00
if strategy.position_size < 0
    breakEvenLineColor := #FF000D
plot(breakEvenLine, color = breakEvenLine and breakEvenLine[1] > 0 ? breakEvenLineColor : na, linewidth = 2, style = plot.style_circles)



Más.