
La estrategia de estocado cruzado de medias móviles ponderadas auto-adaptativas (AWMA) es un sistema de seguimiento de tendencias basado en el cruce y la relación de estocado de medias móviles ponderadas de varios períodos (WMA). La estrategia combina hábilmente 6 WMA de períodos cortos y 6 WMA de períodos largos para determinar la dirección y la fuerza de la tendencia del mercado mediante la observación de la relación de cruce y posición relativa entre ellos. La idea central del diseño de la estrategia es capturar la dinámica de una tendencia fuerte, al tiempo que proporciona una señal de salida clara basada en reglas para reducir las pérdidas al invertir la tendencia.
El principio central de la estrategia se basa en el análisis estratificado y el mecanismo de confirmación múltiple de las medias móviles ponderadas:
Calculación de la WMA de varios períodos:
Análisis de parámetros clave:
Condiciones de ingreso:
Condiciones de salida:
Esta estrategia de “cruce de extremos + confirmación de promedio” permite capturar la formación de una tendencia a tiempo y proporcionar una señal de salida suave cuando la tendencia se debilita, reduciendo la interferencia de señales falsas.
Un análisis profundo de la implementación del código de esta estrategia puede resumirse en las siguientes ventajas:
Mecanismo de confirmación múltiple: La estrategia requiere que se cumplan dos condiciones para ejecutar una operación: la señal cruzada y la confirmación de la acumulación, lo que reduce considerablemente el riesgo de falsas rupturas. En particular, la condición de acumulación ((bullAlign/bearAlign) requiere que todos los indicadores de período corto estén en el mismo lado de todos los indicadores de período largo, lo que es una confirmación de tendencia muy fuerte.
Altamente adaptable: Mediante el uso de WMA de varios períodos diferentes, la estrategia puede adaptarse a diferentes entornos de mercado y fluctuaciones de precios. El grupo de corto período capta el dinamismo inmediato, mientras que el grupo de largo período confirma la dirección de la tendencia general.
Reglas claras de entrada y salidaLa estrategia proporciona señales objetivas de entrada y salida basadas en modelos matemáticos, reduciendo la interferencia emocional causada por el juicio subjetivo.
Mecanismo de salida asíncronaLa entrada se basa en el cruce de los extremos y la acumulación, mientras que la salida se basa en el cruce de los promedios. Este diseño permite a la estrategia mantener una posición durante un período prolongado en una tendencia fuerte y salir a tiempo cuando la tendencia se debilita.
Un buen sistema de notificaciónLa estrategia incluye un mecanismo de alerta basado en el formato JSON que puede conectarse a un sistema de bots externo para automatizar las transacciones y la vigilancia remota.
Apoyo visual: La estrategia traza todas las 12 líneas del indicador WMA en el gráfico, lo que permite a los comerciantes observar intuitivamente la estructura del mercado y las señales potenciales.
A pesar de la ingeniosa concepción de la estrategia, existen algunos riesgos y desafíos potenciales:
Sensibilidad de los parámetros: La estrategia utiliza 12 diferentes parámetros de ciclo WMA, cuya elección puede tener un impacto significativo en la actuación de la estrategia. Diferentes mercados o marcos de tiempo pueden requerir diferentes combinaciones de parámetros para obtener un efecto óptimo.
El mercado de la turbulencia no ha funcionado bienComo estrategia de seguimiento de tendencias, en mercados de agitación de ordenamiento horizontal o de alta volatilidad, se pueden producir frecuentes falsas señales y “efecto whipsaw”, que pueden conducir a pérdidas continuas.
Problemas de retraso: Todos los sistemas basados en medias móviles tienen cierto retraso. A pesar de usar un WMA más corto para reducir este problema, es posible que se pierda el mejor punto de entrada o salida en un mercado de inversión rápida.
La complejidad del cálculo: La estrategia requiere calcular y comparar múltiples medias móviles, lo que puede causar problemas de rendimiento en algunas plataformas de negociación, especialmente en un entorno de negociación de bajo tiempo o alta frecuencia.
Las señales están llenas.: En ciertas condiciones del mercado, los WMA a corto y largo plazo pueden cruzarse con frecuencia, lo que provoca demasiadas señales de negociación, aumenta los costos de negociación y puede conducir a un exceso de negociación.
Basado en el análisis anterior, la estrategia puede ser optimizada en los siguientes aspectos:
Ajuste de parámetros dinámicos:
El filtro del entorno del mercado:
Mejora de la gestión de riesgos:
Mejor calidad de la señal:
Marco de retroalimentación y optimización:
La estrategia de estabilización cruzada de medias móviles autogravadas es un sistema de seguimiento de tendencias de diseño refinado que identifica tendencias fuertes y proporciona señales de negociación claras a través de las relaciones de cruce y estabilización de múltiples WMA. La ventaja central de la estrategia radica en su mecanismo de confirmación múltiple y su diseño de salida asíncrona, que permite capturar de manera efectiva tendencias continuas y reducir el riesgo de falsas señales.
Sin embargo, como cualquier estrategia de análisis técnico, también se enfrenta a desafíos como el mal desempeño de los mercados en crisis y la sensibilidad de los parámetros. Se espera que el rendimiento de la estrategia se mejore aún más mediante la introducción de ajustes de parámetros dinámicos, filtros de entornos de mercado y mecanismos de gestión de riesgos mejorados.
Para los operadores, es fundamental comprender los principios y las limitaciones de la estrategia, y se recomienda realizar una adecuada retroalimentación y simulación de operaciones antes de su aplicación en el mercado real, y ajustar los parámetros según el tipo de transacción específico y el entorno del mercado. Al mismo tiempo, la estrategia se utiliza como parte de un sistema de negociación más amplio, combinado con el análisis fundamental y los principios de gestión de riesgos, para lograr un efecto de negociación estable a largo plazo.
/*backtest
start: 2024-06-23 00:00:00
end: 2025-06-21 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=6
strategy("AWMA Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10, calc_on_every_tick=true)
// Inputs
_Period1 = input.int(3, 'WMA1 Period')
_Period2 = input.int(5, 'WMA2 Period')
_Period3 = input.int(8, 'WMA3 Period')
_Period4 = input.int(10, 'WMA4 Period')
_Period5 = input.int(12, 'WMA5 Period')
_Period6 = input.int(15, 'WMA6 Period')
_Period7 = input.int(30, 'WMA7 Period')
_Period8 = input.int(35, 'WMA8 Period')
_Period9 = input.int(40, 'WMA9 Period')
_Period10 = input.int(45, 'WMA10 Period')
_Period11 = input.int(50, 'WMA11 Period')
_Period12 = input.int(60, 'WMA12 Period')
// Calculate WMA
wma1 = ta.wma(close, _Period1)
wma2 = ta.wma(close, _Period2)
wma3 = ta.wma(close, _Period3)
wma4 = ta.wma(close, _Period4)
wma5 = ta.wma(close, _Period5)
wma6 = ta.wma(close, _Period6)
wma7 = ta.wma(close, _Period7)
wma8 = ta.wma(close, _Period8)
wma9 = ta.wma(close, _Period9)
wma10 = ta.wma(close, _Period10)
wma11 = ta.wma(close, _Period11)
wma12 = ta.wma(close, _Period12)
// Max/Min/Average of short and long WMA groups
short_max = math.max(math.max(math.max(math.max(math.max(wma1, wma2), wma3), wma4), wma5), wma6)
short_min = math.min(math.min(math.min(math.min(math.min(wma1, wma2), wma3), wma4), wma5), wma6)
long_max = math.max(math.max(math.max(math.max(math.max(wma7, wma8), wma9), wma10), wma11), wma12)
long_min = math.min(math.min(math.min(math.min(math.min(wma7, wma8), wma9), wma10), wma11), wma12)
avg_short = (wma1 + wma2 + wma3 + wma4 + wma5 + wma6) / 6
avg_long = (wma7 + wma8 + wma9 + wma10 + wma11 + wma12) / 6
// Cross events and trend alignment
bullCross = ta.crossover(short_max, long_min)
bearCross = ta.crossunder(short_max, long_min)
bullAlign = short_min > long_max
bearAlign = short_max < long_min
// State flags
var bool readyLong = false
var bool readyShort = false
if bullCross
readyLong := true
if bearCross
readyShort := true
// Message variables
sym = syminfo.ticker
tf = timeframe.period
price = str.tostring(close)
// Entry and Alerts
if barstate.isconfirmed
if readyLong and bullAlign
strategy.entry("Long", strategy.long, comment="[AWMA] Long Entry")
readyLong := false
if readyShort and bearAlign
strategy.entry("Short", strategy.short, comment="[AWMA] Short Entry")
readyShort := false
// Exit conditions: Avg WMA cross
if ta.crossunder(avg_short, avg_long)
strategy.close("Long", comment="[AWMA] Close Long")
alert('{"text":"Long position closed\nTicker: ' + sym + '\nTimeframe: ' + tf + '\nAvg Short WMA: ' + str.tostring(avg_short) + '\nAvg Long WMA: ' + str.tostring(avg_long) + '\nClose: ' + price + '"}', alert.freq_once_per_bar_close)
if ta.crossover(avg_short, avg_long)
strategy.close("Short", comment="[AWMA] Close Short")
alert('{"text":"Short position closed\nTicker: ' + sym + '\nTimeframe: ' + tf + '\nAvg Short WMA: ' + str.tostring(avg_short) + '\nAvg Long WMA: ' + str.tostring(avg_long) + '\nClose: ' + price + '"}', alert.freq_once_per_bar_close)
// Plotting
plot(wma1, color=color.new(#4fc3d2, 0), title='Short WMA 1')
plot(wma2, color=color.new(#4fc3d2, 0), title='Short WMA 2')
plot(wma3, color=color.new(#4fc3d2, 0), title='Short WMA 3')
plot(wma4, color=color.new(#4fc3d2, 0), title='Short WMA 4')
plot(wma5, color=color.new(#4fc3d2, 0), title='Short WMA 5')
plot(wma6, color=color.new(#4fc3d2, 0), title='Short WMA 6')
plot(wma7, color=color.new(#fe0d5f, 0), title='Long WMA 1')
plot(wma8, color=color.new(#fe0d5f, 0), title='Long WMA 2')
plot(wma9, color=color.new(#fe0d5f, 0), title='Long WMA 3')
plot(wma10, color=color.new(#fe0d5f, 0), title='Long WMA 4')
plot(wma11, color=color.new(#fe0d5f, 0), title='Long WMA 5')
plot(wma12, color=color.new(#fe0d5f, 0), title='Long WMA 6')
// Uncomment if you want to show the averages
// plot(avg_short, color=color.new(#00FF00, 0), title='Avg Short WMA')
// plot(avg_long, color=color.new(#FF0000, 0), title='Avg Long WMA')