
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.
La lógica central de la estrategia se basa en la interacción de tres indicadores técnicos principales:
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.
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.
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:
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
/*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