
Esta estrategia calcula primero el promedio móvil rápido ma_fast y el promedio móvil lento ma_slow, y luego combina FRAMA con el promedio móvil adaptado, haciendo más cuando se usa ma_slow en ma_fast, cerrando la posición cuando se usa ma_fast bajo ma_slow o cuando se usa el precio de cierre bajo FRAMA.
Calcula el promedio móvil simple de 13 días ma_fast y el promedio móvil simple de 26 días ma_slow.
La fórmula de cálculo de FRAMA es más compleja, y la idea principal es la suavidad de la línea media de acuerdo con los máximos, mínimos y la dinámica de fluctuación de los precios.
Cuando se usa ma_slow en ma_fast, se hace más. Esto significa que la media corta comienza a subir y gana a la media larga, de acuerdo con las características de la tendencia.
La posición se cierra cuando el precio se cierra bajo ma_slow o ma_fast bajo FRAMA. Esto indica una señal de reversión de tendencia.
La combinación de las ventajas de los sistemas de doble línea recta y los sistemas de línea recta autoadaptados. Los sistemas de doble línea recta son buenos para capturar tendencias, y los sistemas de línea recta autoadaptados pueden filtrar mejor el ruido.
El indicador FRAMA puede ajustar automáticamente los parámetros, evitando la subjetividad de los parámetros seleccionados manualmente.
El uso simultáneo de dos señales de salida permite capturar la reversión de la tendencia en el momento oportuno.
Es posible que haya mal posicionamiento en el cruce de dos líneas equiláteras, lo que puede generar pérdidas intermitentes.
La adaptación a las medias móviles aumenta la cantidad de parámetros de la estrategia, lo que puede conducir a una optimización excesiva.
Si solo consideras el precio y no haces un filtro de volumen de transacciones, podrías perder la oportunidad.
Se puede probar una combinación de líneas medias de diferentes períodos para encontrar el parámetro óptimo.
Se puede agregar la confirmación de la transacción para evitar señales no válidas. Por ejemplo, la condición de aumento de la transacción.
Se pueden optimizar las condiciones de apertura y negociación para que la estrategia sea más estable. Por ejemplo, abrir posiciones solo cuando se rompa la forma continua.
Esta estrategia combina el cruce de dos líneas de equilibrio y la línea de equilibrio de FRAMA, que se adapta automáticamente al entorno del mercado mediante el ajuste dinámico de los parámetros. La línea de equilibrio doble es buena para capturar tendencias y FRAMA puede filtrar el ruido.
/*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())