Estrategia de tendencia de media móvil binomial

El autor:¿ Qué pasa?, Fecha: 2023-12-08 14:55:19
Las etiquetas:

img

Resumen general

El promedio móvil binomial (BMA) es un nuevo tipo de indicador de promedio móvil.

Esta estrategia combina BMA rápido y BMA lento para generar señales comerciales como el MACD, perteneciente a la estrategia de seguimiento de tendencias.

Detalles de la estrategia

Nombre de la estrategia

Estrategia de tendencia de media móvil binomial

Estrategia lógica

  1. Calcula el promedio móvil binomial (BMA). Según el período establecido por el usuario, calcula los coeficientes binomiales y toma la mitad de ellos como pesos a los precios promedio. Por ejemplo, con el período 5, calcula 9 coeficientes binomiales y toma su mitad como promedio ponderado. Esto da más peso a las velas recientes y una mejor suavidad.

  2. Establece un período de BMA rápido y un período de BMA lento.

  3. Cuando el BMA rápido supera el BMA lento, se abre la posición larga. Cuando el BMA rápido cae por debajo del BMA lento, se abre la posición corta. Mantenga la posición hasta que aparezca la señal opuesta.

Análisis de ventajas

La mayor ventaja de esta estrategia radica en el cálculo innovador de BMA. Mejora las fortalezas de los promedios móviles con una mayor suavidad y practicidad. En comparación con EMA y SMA, BMA da más peso a las velas recientes mientras retiene más información histórica. Esto le permite capturar mejor las tendencias y generar menos señales falsas.

Además, la combinación rápida y lenta de BMA aprovecha al máximo las ventajas de las medias móviles. Filtra mucho ruido y solo produce señales en los puntos de inflexión de la tendencia.

Análisis de riesgos

Los principales riesgos de esta estrategia incluyen:

  1. Como todas las estrategias de seguimiento de tendencias, puede conducir a pérdidas cuando la tendencia se invierte.

  2. La configuración inadecuada de los parámetros de BMA también afecta el rendimiento de la estrategia. Un BMA rápido demasiado sensible puede generar señales falsas mientras que un BMA lento rezagado puede perder oportunidades de tendencia. Se necesitan pruebas extensas para encontrar la combinación óptima de parámetros.

  3. La estrategia por defecto utiliza la posición completa. El tamaño de la posición se puede añadir de acuerdo con la preferencia de riesgo para limitar la pérdida por operación.

Direcciones de optimización

Las principales direcciones de optimización son las pruebas del propio BMA y la combinación de parámetros.

  1. Configuración del período: Pruebe diferentes períodos de BMA rápido y lento para encontrar la combinación óptima.

  2. Peso BMA: Prueba diferentes esquemas de ponderación, como distribuir completamente la mitad de los coeficientes binomiales o poner más peso en las velas recientes.

  3. Se pueden añadir condiciones de filtro como las rupturas y el aumento del volumen para evitar señales irrazonables.

  4. El mecanismo de stop loss y el dimensionamiento de la posición también se pueden probar para controlar mejor los riesgos.

Conclusión

Esta estrategia propone en primer lugar el indicador único de promedio móvil binomial. Mejora el cálculo de promedios móviles y mejora la utilidad y estabilidad general de la estrategia. Los cruces entre BMA rápido y lento generan señales comerciales simples pero efectivas. Queda espacio para una mayor optimización en la suavidad de los parámetros y el control de riesgos. Es una estrategia muy prometedora de seguimiento de tendencias.


/*backtest
start: 2022-12-07 00:00:00
end: 2023-12-07 00:00:00
period: 1d
basePeriod: 1h
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/
// © HosseinDaftary

//@version=4
strategy("Binomial Moving Average","BMA", overlay=true, margin_long=100, margin_short=100 ,max_bars_back=96)
//Binomial Moving Average:This type of moving average that is made by myself and i did not see anywhere before uses the half of binomial cofficients for
//averaging the prices for example if the period be 5 then we use the 9 degree binomial cofficients(that yields 10 cofficients) and use half of them.
//we use 126/256 for last bar,84/256,36/256,9/256 and finally use 1/256 for 5th bar. Seemingly this MA works better than EMA.
fa_ma=input(title='Fast MA',defval=10)
sl_ma=input(title='Slow MA',defval=30)

fac(n)=>
    fact=1
    for i= 1 to n
        fact:=fact*i
    fact
cof= array.new_float(sl_ma) 

hn_ma(price,length)=>
    sum=1.0
    sum1=0.0
    array.set(cof,length-1,1)
    for i=2 to length
        array.set(cof,length-i,fac(2*length-1)/(fac(i-1)*fac(2*length-i)))
        sum:=sum+array.get(cof,length-i)
    for i=0 to length-1
        array.set(cof,i,array.get(cof,i)/sum)
        sum1:=sum1+array.get(cof,i)*price[i]
    sum1
hn1=plot(hn_ma(close,sl_ma) , color=#00ff00)
hn2=plot(hn_ma(close,fa_ma) ,color=#ff0000)
fill(hn1,hn2,color=hn_ma(close,fa_ma)>hn_ma(close,sl_ma)?color.green:color.red)


longCondition = crossover(hn_ma(close, fa_ma), hn_ma(close, sl_ma))
if (longCondition)
    strategy.entry("Long", strategy.long)

shortCondition = crossunder(hn_ma(close, fa_ma), hn_ma(close, sl_ma))
if (shortCondition)
    strategy.entry("Short", strategy.short)

Más.