Candela de promedio de Fibonacci con estrategia de promedio móvil para el comercio cuantitativo

El autor:¿ Qué pasa?, Fecha: 2024-01-19 14:36:45
Las etiquetas:

img

Resumen general

Esta estrategia construye velas promedio y promedios móviles basados en la secuencia de Fibonacci para implementar el comercio cuantitativo con solo posiciones largas y sin posiciones cortas.

Principio de la estrategia

Las principales etapas de esta estrategia son:

  1. Calcule los precios promedio de cierre, alto, bajo y abierto de los 10 ciclos de Fibonacci más recientes para construir una vela promedio.

  2. Calcular las medias móviles exponenciales (EMA) de 1, 2, 3, 5, 8, 13, 21, 34 y 55 períodos del precio medio de cierre y tomar su media para obtener la EMA media.

  3. Establecer condiciones largas y cerradas: abrir una posición larga cuando la vela promedio muestra patrones alcistas (como cerrar por encima de la apertura, engulfamiento alcista) y cerrar por encima de la EMA promedio; cerrar una posición larga cuando la vela promedio muestra patrones bajistas (como cerrar por debajo de la apertura, engulfamiento bajista) y cerrar por debajo de la EMA promedio.

Al calcular las velas promedio para filtrar las fluctuaciones de precios y combinarlas con indicadores de promedios móviles para generar señales comerciales, esta estrategia puede identificar de manera efectiva las tendencias y controlar los riesgos comerciales.

Ventajas

  1. Las velas promedio basadas en la secuencia de Fibonacci pueden filtrar el ruido aleatorio del precio de manera efectiva e identificar señales de tendencia.

  2. El promedio de múltiples EMA mejora la estabilidad de los niveles de soporte/resistencia y mejora la calidad de la señal.

  3. Solo las posiciones largas reducen el número de operaciones, reducen los costes de negociación y los efectos del deslizamiento.

  4. Se desempeña bien en plazos más largos, adecuado para operaciones a medio y largo plazo.

Los riesgos

  1. La estrategia de solo largo puede incurrir en pérdidas significativas en los mercados bajistas.

  2. Las líneas de la EMA son propensas a retrasarse, potencialmente perdiendo los mejores puntos de entrada.

  3. Buscar excesivamente grandes plazos puede perder oportunidades en plazos más cortos.

  4. El espacio limitado de optimización de parámetros significa que el rendimiento real de las operaciones puede ser inferior a los resultados de las pruebas de retroceso.

Áreas de mejora

  1. Puede probar añadiendo el stop loss apropiado a las posiciones de salida cuando las pérdidas aumentan.

  2. Puede combinar medidas de volatilidad como ATR para ajustar dinámicamente el tamaño de la posición.

  3. Puede probar tomar posiciones cortas apropiadamente durante tendencias bajistas para aumentar las ganancias.

  4. Puede optimizar los parámetros del período EMA para encontrar las mejores combinaciones.

Conclusión

Esta estrategia identifica señales de tendencia para el comercio cuantitativo mediante la construcción de velas promedio de Fibonacci e indicadores de promedio móvil. Se aprovecha de filtrar el ruido de precios con velas promedio y reducir los costos de negociación al ir solo largo. También tiene los riesgos de mercados bajistas para posiciones solo largas y problemas de EMA rezagados. En general, esta estrategia controla los riesgos comerciales desde múltiples aspectos y funciona bien en plazos más largos, adecuados para el comercio a medio y largo plazo.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
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/
// © SoftKill21

//@version=4
strategy("Fibonacci candle", overlay=false  )


//plot of our fibonacci candle
// Fibonacci 
// Fn = Fn-1 + Fn-2
// F10 = 55
// 0 1 2 3 5 8 13 21 34 55

avg_close = (close[0] + close[1] + close[2] + close[3] +close[5] + close[8] + close[13]+ close[21] + close[34] + close[55]) / 10
avg_high = (high[0] + high[1] + high[2] + high[3] +high[5] + high[8] + high[13]+ high[21] + high[34] + high[55]) / 10
avg_low = (low[0] + low[1] + low[2] + low[3] +low[5] + low[8] + low[13]+ low[21] + low[34] + low[55]) / 10
avg_open = (open[0] + open[1] + open[2] + open[3] +open[5] + open[8] + open[13]+ open[21] + open[34] + open[55]) / 10


src = avg_close//input(avg_close, title="Source")


out55 = ema(src, 55)
out1 = ema(src, 1)
out2 = ema(src, 2)
out3 = ema(src, 3)
out5 = ema(src, 5)
out8 = ema(src, 8)
out13 = ema(src, 13)
out21 = ema(src, 21)
out34 = ema(src, 34)

avg_ema = (out55 + out1 + out2 + out3+ out5 + out8 + out13 + out21 + out34)/9

plot(avg_ema)

plotcandle(avg_open, avg_high, avg_low, avg_close, title='Title', color = avg_open < avg_close ? color.green : color.red, wickcolor=color.white)

long = avg_open < avg_close and avg_close > avg_close[1] and avg_high > avg_high[1] and  avg_close[1] > avg_close[2] and avg_high[1] > avg_high[2]
short = avg_open > avg_close and avg_close < avg_close[1] and avg_low < avg_low[1] and avg_close[1] < avg_close[2] and avg_low[1] < avg_low[2]

strategy.entry("long",1,when=long and avg_close > avg_ema)
strategy.close('long',when=short and avg_close < avg_ema)


Más.