Estrategia de negociación cruzada de FraMA y MA basada en el indicador FRAMA

El autor:¿ Qué pasa?, Fecha: 2024-01-15 14:38:48
Las etiquetas:

img

Resumen de las actividades

Esta estrategia calcula la línea de media móvil rápida ma_fast y la línea de media móvil lenta ma_slow primero, y luego se combina con la línea de media móvil adaptativa FRAMA. Se va largo cuando ma_fast cruza sobre ma_slow, y cierra la posición cuando ma_slow cruza por debajo de ma_fast o FRAMA cae por debajo del precio de cierre.

Estrategia lógica

  1. Calcule la media móvil simple de 13 días ma_fast y la media móvil simple de 26 días ma_slow.

  2. La fórmula FRAMA es compleja, la idea principal es ajustar dinámicamente la suavidad α de la media móvil en función del más alto, el más bajo y la volatilidad de los precios.

  3. Ir largo cuando ma_fast cruza ma_slow. Esto indica que la media móvil a corto plazo comienza a subir y se ejecuta más rápido que la a largo plazo, coincidiendo con las características de tendencia.

  4. Posición cerrada cuando ma_slow cruza por debajo de ma_fast o FRAMA cae por debajo del precio de cierre.

Análisis de ventajas

  1. Combina las ventajas del sistema de media móvil dual y el sistema de media móvil adaptativa.

  2. El indicador FRAMA ajusta automáticamente los parámetros, evitando la subjetividad del ajuste manual de parámetros.

  3. El uso de dos señales de salida permite detectar oportunamente las inversiones de tendencia.

Análisis de riesgos

  1. Los cruces de media móvil doble pueden tener flecos, lo que resulta en pérdidas intermitentes.

  2. Las medias móviles adaptativas introducen más parámetros, con el riesgo de sobreajuste.

  3. Solo considera los factores de precios sin filtro de volumen de negociación, por lo que puede perder oportunidades.

Optimización

  1. Probar diferentes períodos de admisión máxima para encontrar la combinación óptima.

  2. Añadir confirmación de volumen para evitar señales falsas, por ejemplo, que requieran picos de volumen.

  3. Optimizar las reglas de entrada y salida para que la estrategia sea más robusta, por ejemplo, tomando solo señales en patrones de continuación.

Conclusión

Esta estrategia combina el doble cruce de promedios móviles y el promedio móvil adaptativo FRAMA, adaptándose automáticamente a las condiciones del mercado ajustando dinámicamente los parámetros.


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

//@version=2
strategy("Fractal Adaptive Moving Average",shorttitle="FRAMA",overlay=true)


ma_fast = sma(close,13)

ma_slow = sma(close,26)
plot(ma_fast,color = green)
plot(ma_slow, color = yellow)
price = input(hl2)
len = input(defval=16,minval=1)
FC = input(defval=1,minval=1)
SC = input(defval=198,minval=1)
len1 = len/2
w = log(2/(SC+1))
H1 = highest(high,len1)
L1 = lowest(low,len1)
N1 = (H1-L1)/len1
H2 = highest(high,len)[len1]
L2 = lowest(low,len)[len1]
N2 = (H2-L2)/len1
H3 = highest(high,len)
L3 = lowest(low,len)
N3 = (H3-L3)/len
dimen1 = (log(N1+N2)-log(N3))/log(2)
dimen = iff(N1>0 and N2>0 and N3>0,dimen1,nz(dimen1[1]))
alpha1 = exp(w*(dimen-1))
oldalpha = alpha1>1?1:(alpha1<0.01?0.01:alpha1)
oldN = (2-oldalpha)/oldalpha
N = (((SC-FC)*(oldN-1))/(SC-1))+FC
alpha_ = 2/(N+1)
alpha = alpha_<2/(SC+1)?2/(SC+1):(alpha_>1?1:alpha_)
out = (1-alpha)*nz(out[1]) + alpha*price
plot(out,title="FRAMA",color=purple,transp=0)
entry() => crossover(ma_fast, ma_slow) and (out < close)
exit() => crossover(ma_slow, ma_fast) or crossunder(out, close)

strategy.entry(id= "MA cross", long = true, when = entry())
strategy.close(id= "MA cross", when = exit())

Más.