Estrategia de media móvil adaptativa


Fecha de creación: 2023-12-07 11:08:18 Última modificación: 2023-12-07 11:08:18
Copiar: 2 Número de Visitas: 753
1
Seguir
1619
Seguidores

Estrategia de media móvil adaptativa

Descripción general

La estrategia de la media móvil adaptativa mala (Mala Adaptive Moving Average Strategy) es una estrategia de negociación cuantitativa basada en el indicador de la media móvil adaptativa de la MESA de John Ehlers. La estrategia utiliza ondas de resonancia para tomar decisiones de negociación, comprando en los puntos bajos y vendiendo en los puntos altos, permitiendo que las ondas de resonancia se adapten a diferentes variedades y entornos de mercado mediante parámetros de ajuste deslizante.

Principio de estrategia

Las ondas positivas se determinan por la sombra que un vector giratorio (que se llama fase) proyecta sobre el eje de la horquilla. Cuando el vector gira 360 grados, completa un ciclo. Cuando el vector pasa por un ángulo, genera una señal de compra, y cuando pasa por otro, genera una señal de venta. De esta manera, las decisiones de negociación están definidas por los ángulos en el rango de frecuencia y no por las características de la onda en el rango de tiempo, lo que puede hacer que la estrategia sea más robusta y se adapte a diferentes variedades y entornos del mercado.

Concretamente, la estrategia primero hace un tratamiento de suavización y destrendización de los precios, y luego calcula dos fracciones de onda positiva: la fracción de identificación I y la fracción de intersección positiva Q. Estas dos fracciones se superponen y se entrecruzan mediante desplazamiento de fase horizontal, obteniendo la información final Re e Im. Re e Im reflejan la frecuencia de la onda positiva, y se puede derivar un período de ciclo a través de atan.

Análisis de las ventajas

Las estrategias de medias móviles adaptativas tienen las siguientes ventajas:

  1. El uso de ondas de sonido y fases como señales de negociación hace que la estrategia sea más robusta y no se vea afectada por las ondas de la zona horaria.

  2. Los ciclos y parámetros se pueden ajustar dinámicamente para adaptarse a los cambios en el mercado, con una gran capacidad de adaptación.

  3. Las curvas MAMA y FAMA dependen únicamente de las características de los precios en sí mismos, no tienen retraso y pueden capturar la conversión de tendencias a tiempo.

  4. La sensibilidad de la estrategia se puede ajustar a través de la configuración de parámetros para que se adapte a diferentes estilos de comerciantes.

  5. La lógica de la estrategia es clara y simple, fácil de entender y modificar, adecuada para el estudio y la enseñanza.

Análisis de riesgos

Las estrategias de medias móviles adaptadas también tienen los siguientes riesgos:

  1. Debido a la dependencia de la fase y el ciclo de la curva de la síntesis, se producen señales erróneas cuando los precios se distorsionan de manera anormal.

  2. Se establece un límite de rigidez en el juicio del ciclo, lo que hace que los cambios de ciclo no sean lo suficientemente suaves.

  3. El efecto de la célula de posición y el ciclo hacen que la curva oscile cerca de los puntos clave, pudiendo perderse las mejores entradas y salidas.

  4. Cuando las fluctuaciones del mercado se intensifican, la capacidad de adaptación de los parámetros y curvas disminuye.

  5. Como indicador técnico, la estrategia es propensa a falsos avances y señales erróneas en las posiciones técnicas importantes.

Estos riesgos pueden mitigarse mediante la configuración de parámetros más suaves, la filtración en combinación con otros indicadores y la adaptación de la escala de la posición.

Dirección de optimización

Las estrategias de medias móviles adaptativas se pueden optimizar en los siguientes aspectos:

  1. Mejorar el método de cálculo de los ciclos y parámetros para que su cambio sea más suave y natural. Por ejemplo, se pueden introducir métodos estadísticos para una mejor modelación de los precios.

  2. La precisión de la señal puede ser mejorada mediante la combinación de indicadores como la frecuencia de oscilación y el volumen de intercambio. También se puede combinar la fiabilidad de la señal con una comprensión básica.

  3. Optimización de la configuración de parámetros y control de puntos de deslizamiento, reducción de los costos de transacción y mejora de la estabilidad del sistema.

  4. La introducción de métodos como el aprendizaje automático y los algoritmos genéticos para optimizar dinámicamente los parámetros del sistema, lo que hace que los parámetros del sistema evolucionen y se actualicen constantemente.

  5. Establecer diferentes entradas y salidas, combinando tendencias y sistemas de inversión, para crear una cartera y mejorar la rentabilidad continua.

Resumir

La estrategia de movimiento de la media adaptable utiliza el análisis de ondas sonoras para generar señales de negociación y permite al sistema adaptarse de forma autónoma a los cambios en el entorno del mercado a través de parámetros de ajuste dinámico. Tiene una mayor robustez y amplia aplicabilidad.

Código Fuente de la Estrategia
/*backtest
start: 2022-11-30 00:00:00
end: 2023-12-06 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/
// © dongyun

//@version=4
strategy("自适应移动平均的MESA系统", overlay=true)

fastlimit = input(0.5,'')
slowlimit = input(0.05,'')

smooth = 0.0
detrender = 0.0
I1 = 0.0
Q1 = 0.0
JI = 0.0
JQ = 0.0
I2 = 0.0
Q2 = 0.0
Re = 0.0
Im = 0.0
period = 0.0
smoothperiod = 0.0
phase = 0.0
deltaphase = 0.0
alpha = 0.0
MAMA = 0.0
FAMA = 0.0
price = 0.0

price := (high + low)/2
PI = 2 * asin(1)

if (bar_index > 5)
	smooth := (4*price + 3*price[1] + 2*price[2] + price[3])/10
	detrender := (.0962*smooth + .5769*nz(smooth[2]) - .5769*nz(smooth[4]) - .0962*nz(smooth[6]))*(.075*nz(period[1]) + .54)

	// compute InPhase and Quadrature components
	Q1 := (.0962*detrender + .5769*nz(detrender[2]) - .5769*nz(detrender[4]) - .0962*nz(detrender[6]))*(.075*nz(period[1]) + .54)

	I1 := nz(detrender[3])

	// advance the pulse of i1 and q1 by 90 degrees
	JI := (.0962*I1 + .5769*nz(I1[2]) - .5769*nz(I1[4]) - .0962*nz(I1[6]))*(.075*nz(period[1]) + .54)
	JQ := (.0962*Q1 + .5769*nz(Q1[2]) - .5769*nz(Q1[4]) - .0962*nz(Q1[6]))*(.075*nz(period[1]) + .54)

	//phase addition for 3-bar averaging 
	I2 := I1 - JQ
	Q2 := Q1 + JI

	//smooth the i and q components before applying
	I2 := .2*I2 + .8*nz(I2[1])
	Q2 := .2*Q2 + .8*nz(Q2[1])

	// hymodyne discriminator
	Re := I2*I2[1] + Q2*nz(Q2[1])
	Im := I2*Q2[1] + Q2*nz(I2[1])
	Re := .2*Re + .8*nz(Re[1])
	Im := .2*Im + .8*nz(Im[1])

	if (Im != 0 and Re != 0)
		period := 2 * PI/atan(Im/Re)

	if (period > 1.5 * nz(period[1]))
		period := 1.5*nz(period[1])

	if (period < .67*nz(period[1]))
		period := .67*nz(period[1])

	if (period < 6)
		period := 6

	if (period > 50)
		period := 50

	period := .2*period + .8*nz(period[1])
	smoothperiod := .33*period + .67*nz(smoothperiod[1])

	if (I1 != 0)
		phase := (180/PI) * atan(Q1/I1)

	deltaphase := nz(phase[1]) - phase

	if (deltaphase < 1)
		deltaphase := 1

	alpha := fastlimit/deltaphase
	if(alpha < slowlimit)
		alpha := slowlimit

	MAMA := alpha*price + (1 - alpha)*nz(MAMA[1])
	FAMA := .5*alpha*MAMA + (1 - .5*alpha)*nz(FAMA[1])

	if (FAMA < MAMA)
		strategy.entry("Long", strategy.long)
	else
		if (FAMA > MAMA)
			strategy.entry("Short", strategy.short)