Sistema de captura de tendencias de impulso de triple filtro: estrategia combinada ASO-SSL-MBI

ASO SSL MBI ATR SMA
Fecha de creación: 2025-06-16 15:02:06 Última modificación: 2025-06-16 15:02:06
Copiar: 2 Número de Visitas: 304
2
Seguir
319
Seguidores

Sistema de captura de tendencias de impulso de triple filtro: estrategia combinada ASO-SSL-MBI Sistema de captura de tendencias de impulso de triple filtro: estrategia combinada ASO-SSL-MBI

Descripción general

El sistema de captura de tendencias de movimiento de triple resonancia es una estrategia de comercio de tendencias y movimiento basada en reglas que integra tres modelos tecnológicos únicos (ASO, canal SSL y MBI) en un motor integrado. La estrategia está diseñada para los comerciantes que prefieren entradas bien filtradas, menos interferencia de ruido y una estructura de comercio clara.

Principio de estrategia

La lógica central de la estrategia se basa en la interacción de tres indicadores técnicos principales:

  1. El oscilador de emoción de alto nivel (ASO): mide la ventaja de las fuerzas de la oscilación entre la oscilación y la oscilación en el mercado. El ASO calcula la emoción del mercado mediante una fórmula personalizada que combina la presión dentro del disco con la dinámica de la gama de grupos. El indicador tiene tres modos de cálculo que pueden enfatizar de manera flexible diferentes aspectos del mercado.

  2. El canal SSL: es un método clásico de seguimiento de tendencias basado en promedios móviles de puntos altos y bajos. Ayuda a filtrar falsas señales y a mantener las operaciones en consonancia con la dirección más amplia del mercado. Cuando la línea superior de la vía SSL es más alta que la línea inferior, se expresa una tendencia alcista, y viceversa una tendencia bajista.

  3. Indicador de ruptura dinámica ((MBI): busca situaciones en las que el precio ha roto los máximos recientes. Funciona como el desencadenante final después de que otros filtros se alineen. El MBI trabaja examinando si el precio ha roto los máximos/mínimos de un período determinado en el pasado (default 12).

Las señales de negociación sólo se generan si se cumplen las siguientes condiciones:

  • Nuevas tendencias de ASO/SSL están apareciendo
  • La brecha de MBI en la misma dirección
  • La última señal de confirmación de la ASO cruzada (a la baja o a la baja)

Concretamente, las condiciones de entrada de más tiendas son: MBI positivo (indica la ruptura de la subida), ASO positivo (ASO Bulls > ASO Bears), ASO acaba de generar un cruce de puntos, SSL está en un estado positivo. Las condiciones de entrada de tiendas sin tiendas son al revés. Una vez que se activa una operación, el sistema utiliza los múltiplos de ATR para establecer niveles de stop y stop dinámicos, lo que permite a la administración de riesgos adaptarse a la volatilidad del mercado.

Ventajas estratégicas

  1. Mecanismo de confirmación múltiple: la estrategia reduce significativamente las señales falsas y mejora la calidad de las operaciones al requerir la consistencia de tres indicadores independientes. Este método de “triple filtración” asegura que solo las señales de tendencia fuertes desencadenen operaciones.

  2. Gestión de riesgo adaptativa: La estrategia utiliza el ATR para calcular los niveles de stop y stop loss, permitiendo ajustarlos automáticamente según la volatilidad del mercado. Esto asegura la consistencia de las salidas de riesgo en diferentes condiciones de mercado.

  3. Ajustes de parámetros flexibles: las políticas permiten a los usuarios ajustar los parámetros de cada componente, incluidos los ciclos ASO y los métodos de cálculo, el ciclo de promedio móvil SSL, el período de revisión de la ruptura MBI y las configuraciones relacionadas con ATR, para que puedan optimizarse según diferentes entornos de mercado y preferencias de riesgo personales.

  4. Estructura de negociación clara: Las reglas de la estrategia son claras y fáciles de entender, proporcionando a los operadores condiciones claras de entrada y salida, reduciendo la necesidad de juicio subjetivo.

  5. Transacciones sin superposición: La estrategia está diseñada para que no se abran nuevas transacciones hasta que se cierre la transacción actual, lo que ayuda a administrar el riesgo y evitar el exceso de operaciones.

  6. Combinación de tendencias y dinámicas: mediante la combinación de seguimiento de tendencias (SSL) y indicadores de ruptura de dinámicas (MBI), la estrategia es capaz de confirmar la dinámica al mismo tiempo que captura las tendencias, lo que generalmente conduce a una señal de negociación más confiable.

Riesgo estratégico

  1. Riesgo de filtrado excesivo: la estrategia puede perder algunas oportunidades de negociación rentables debido a la necesidad de consistencia de tres indicadores independientes. En ciertas condiciones de mercado, este filtrado estricto puede conducir a una menor frecuencia de negociación.

Solución: Se puede considerar ajustar los parámetros de los indicadores para adaptarse a diferentes entornos de mercado, o flexibilizar adecuadamente ciertas condiciones en mercados altamente volátiles.

  1. Sensibilidad de parámetros: el rendimiento de la estrategia depende en gran medida de los parámetros elegidos. La configuración inadecuada de los parámetros puede causar demasiadas señales falsas o perderse importantes movimientos del mercado.

Solución: Realizar una revisión exhaustiva y optimización de los parámetros para encontrar la combinación de parámetros óptima para un mercado y un marco de tiempo específicos. Considerar el uso de la revisión progresiva para evaluar el impacto de los cambios en los parámetros en el rendimiento.

  1. Riesgo de reversión de la tendencia: durante una fuerte reversión de la tendencia, la estrategia puede experimentar un gran retroceso, ya que requiere que los tres indicadores confirmen la reversión para cambiar de dirección.

Solución: Considere agregar filtros de intensidad de tendencia o mecanismos de regulación de la volatilidad, para ajustar la acción estratégica en condiciones extremas de mercado. También se puede implementar un mecanismo de stop loss más radical para mitigar una potencial retirada masiva.

  1. Punto de deslizamiento y riesgo de ejecución: el precio de ejecución real puede diferir notablemente del precio de la generación de la señal, especialmente en mercados con alta volatilidad.

Solución: Incorporar simulaciones de puntos de deslizamiento en la retroalimentación y usar un listado de precios límite en lugar de un listado de precios de mercado en el comercio en vivo. Considere agregar un margen de seguridad adicional en la estrategia para hacer frente al riesgo de ejecución.

  1. Exceso de dependencia de indicadores técnicos: La estrategia se basa exclusivamente en el análisis técnico y ignora los factores fundamentales, lo que puede ser una limitación en ciertas condiciones de mercado.

Solución: Considere combinar filtros básicos o indicadores de sentimiento del mercado para complementar las señales técnicas. Por ejemplo, puede agregar condiciones de volatilidad para evitar operaciones cuando el mercado fluctúa demasiado.

Dirección de optimización de la estrategia

  1. Ajuste de parámetros dinámicos: Mecanismo que permite ajustar automáticamente los parámetros de la estrategia en función de las condiciones del mercado (como la volatilidad o la intensidad de la tendencia). Por ejemplo, en un entorno de alta volatilidad se puede ampliar el múltiplo ATR, mientras que en un entorno de baja volatilidad se puede reducir.

  2. Añadir filtros de entornos de mercado: Introducir filtros adicionales para identificar el entorno de mercado actual (como tendencia, oscilación o azar) y ajustar el comportamiento estratégico en función de los diferentes entornos. Por ejemplo, en los mercados de oscilación se pueden requerir condiciones de entrada más estrictas, mientras que en los mercados de fuerte tendencia se pueden relajar ciertas condiciones.

  3. Administración de posiciones parciales: Implementación de un sistema de administración de posiciones más complejo, que permite la entrada y salida parcial basada en la intensidad de la señal, la volatilidad del mercado u otros factores. Esto puede ayudar a reducir el riesgo de la estrategia de negociación “todo o nada” y proporcionar un control de riesgo más detallado.

  4. Optimización del filtro de tiempo: mejora la función de filtrado de tiempo de retroceso existente, añade un filtro de tiempo dentro del día o un filtro de tiempo bajo condiciones de mercado específicas. Algunos mercados pueden mostrar características de tendencia más evidentes en determinados períodos de tiempo, y las estrategias de optimización para estos períodos de tiempo pueden mejorar el rendimiento general.

  5. Mejora de indicadores: Considere la mejora o la sustitución de indicadores existentes. Por ejemplo, se puede usar un promedio móvil adaptado en lugar de un promedio móvil simple en SSL, o explorar métodos de cálculo alternativos de ASO para capturar mejor los cambios en el sentimiento del mercado.

  6. Aprendizaje automático: Introducción de algoritmos de aprendizaje automático para optimizar la selección de parámetros o predecir qué estrategias podrían funcionar mejor en las condiciones del mercado. Esto puede ayudar al sistema a aprender de los datos históricos y adaptarse a los cambios futuros del mercado.

  7. Optimización de stop/stop los: para lograr estrategias de stop más complejas, como el seguimiento de los stops o los stops dinámicos basados en los niveles de soporte/resistencia. Asimismo, se puede considerar un mecanismo de stop inteligente basado en la estructura del mercado, y no solo dependiendo de los múltiplos ATR.

Resumir

El sistema de captura de tendencias de triple resonancia es una estrategia de negociación integral que ofrece un método de seguimiento de tendencias rigurosamente filtrado a través de la integración de los indicadores de sentimiento ASO, el canal de tendencias SSL y el indicador de resonancia MBI. La principal ventaja de la estrategia reside en su mecanismo de confirmación múltiple y su sistema de gestión de riesgos auto-adaptativo, que ayuda a reducir las señales falsas y adaptarse a las diferentes condiciones de fluctuación del mercado.

A pesar de la existencia de riesgos potenciales como el exceso de filtración y la sensibilidad de los parámetros, estos problemas pueden mitigarse de manera efectiva con la optimización de los parámetros adecuados y técnicas adicionales de gestión de riesgos. Las direcciones de optimización futuras pueden incluir ajustes de parámetros dinámicos, filtración de entornos de mercado y sistemas de gestión de posiciones más complejos, que tienen el potencial de mejorar aún más el rendimiento y la solidez de las estrategias.

En general, este triple filtro ofrece una herramienta valiosa para los operadores que buscan una estructura clara y señales de negociación confiables. Combinando análisis de sentimiento, identificación de tendencias y confirmación de movimientos, la estrategia permite identificar oportunidades de negociación de alta probabilidad en una variedad de condiciones de mercado, mientras se mantiene una gestión de riesgos prudente.

Código Fuente de la Estrategia
/*backtest
start: 2024-06-16 00:00:00
end: 2025-06-14 08:00:00
period: 3d
basePeriod: 3d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Darkoexe

//@version=5

strategy("PMZ's Triple Filter Trend Strategy {Darkoexe}", overlay=true, initial_capital=10000, pyramiding=2, margin_long=50, margin_short=50)



length=input.int(10,"ASO Period?",minval=1,maxval=100)
mode=input.int(0,"ASO Calculation Method:",minval=0,maxval=2)
intrarange=high-low
grouplow=ta.lowest(low,length)
grouphigh=ta.highest(high,length)
groupopen=open[length-1]
grouprange=grouphigh-grouplow
K1=intrarange==0 ? 1 : intrarange
K2=grouprange==0 ? 1 : grouprange
intrabarbulls=((((close-low)+(high-open))/2)*100)/K1
groupbulls=((((close-grouplow)+(grouphigh-groupopen))/2)*100)/K2
intrabarbears=((((high-close)+(open-low))/2)*100)/K1
groupbears=((((grouphigh-close)+(groupopen-grouplow))/2)*100)/K2
TempBufferBulls= mode==0 ? (intrabarbulls+groupbulls)/2 : mode==1 ? intrabarbulls : groupbulls
TempBufferBears= mode==0 ? (intrabarbears+groupbears)/2 : mode==1 ? intrabarbears : groupbears
ASOBulls=ta.sma(TempBufferBulls,length)
ASOBears=ta.sma(TempBufferBears,length)

//ASO

// Modification
var cross = false

var isASObull = ASOBulls>ASOBears ? true : false

if(ASOBulls>ASOBears and isASObull == false)
    isASObull := true
    cross := true

else if(ASOBulls<ASOBears and isASObull == true)
    isASObull := false
    cross := true

else
    cross := false

//SSL

len=input.int(title="SSL Period", defval=10)
smaHigh=ta.sma(high, len)
smaLow=ta.sma(low, len)
float Hlv = na
Hlv := close > smaHigh ? 1 : close < smaLow ? -1 : Hlv[1]
sslDown = Hlv < 0 ? smaHigh: smaLow
sslUp   = Hlv < 0 ? smaLow : smaHigh



//Modification
var isSSLbull = sslUp>sslDown ? true: false

if(sslUp>sslDown)
    isSSLbull := true

else if(sslUp<sslDown)
    isSSLbull := false


//MBI

per = input(12,title="MBI Period")
H = ta.highest(hl2,per)
hi = H[1]
L = ta.lowest(hl2,per)
lo = L[1]
cl = close

ind = cl>hi? 1 : cl<lo? -1 : 0


//Modification
var longCondition = false
var shortCondition = false

if(ind>0 and isASObull==true and cross==true and isSSLbull==true)
    longCondition := true

else if(ind<0 and isASObull==false and cross==true and isSSLbull==false)
    shortCondition := true

// Define strategy parameters
// risk_percent = input(2, title="Risk Percentage")
targetATR = input(1, title="Take Profit ATR ratio")
stopLossATR = input(1.5, title="Stop loss ATR ratio")
atrPeriod = input(14, title="ATR period")


ATR = ta.atr(atrPeriod)
// Calculate take profit level based on the reward ratio
take_profit_price = longCondition?  close + (targetATR*ATR): shortCondition? close - (targetATR*ATR): 0
stop_loss_price = longCondition?  close - (stopLossATR*ATR): shortCondition? close + (stopLossATR*ATR): 0


if (longCondition and strategy.opentrades == 0)

    // take_profit_price = close + targetATR*ATR
    // stop_loss_price = close - (stopLossATR*ATR)
    strategy.entry("My Long Entry Id", strategy.long)
    strategy.exit("Exit", from_entry="My Long Entry Id", stop=stop_loss_price, limit=take_profit_price)
    longCondition := false

else if (shortCondition and strategy.opentrades == 0)

    // take_profit_price = close - targetATR*ATR
    // stop_loss_price = close + (stopLossATR*ATR)
    strategy.entry("My Short Entry Id", strategy.short)
    strategy.exit("Exit", from_entry="My Short Entry Id", stop=stop_loss_price, limit=take_profit_price)
    shortCondition := false