
La estrategia de comercio cuantitativa del modelo de triple reversión basada en el ATR de seguimiento de paradas dinámicas es un sistema de comercio cuantitativo diseñado específicamente para identificar señales de agotamiento del mercado a corto plazo. La idea central de la estrategia es capturar las señales de reversión que aparecen después de tres hilos de paradas simultáneos consecutivos y proteger los beneficios mediante un mecanismo de seguimiento de paradas dinámicas basado en el promedio de amplitud de onda real (ATR). La estrategia es especialmente adecuada para períodos de tiempo de corto plazo como 15 minutos, 1 hora y 4 horas, y puede adaptarse automáticamente a las características de la volatilidad de diferentes entornos del mercado, sin necesidad de establecer un stop loss fijo, sino para controlar el riesgo a través de un mecanismo de paradas dinámicas.
La lógica de entrada de la estrategia se basa en la identificación de patrones de precios claros:
Las tres líneas consecutivas de orientación homogénea forman una confirmación direccional:
Los cables de retorno deben tener una entidad lo suficientemente grande, configurada en el código como un tamaño de volumen de al menos el 3% para garantizar que la señal de retorno sea lo suficientemente fuerte
Entradas al cierre de la línea de inversión
La lógica de salida de la estrategia utiliza un mecanismo de bloqueo de seguimiento dinámico basado en ATR:
A través del análisis del código se puede ver que la estrategia no establece un stop loss fijo, sino que depende de un mecanismo de protección después de obtener ganancias para administrar el riesgo. La estrategia permite un máximo de 5 incrementos de la pirámide, el uso del 50% de los intereses de la cuenta en cada transacción y considera una comisión de transacción del 0.05%.
Mecanismo de reconocimiento de inversiones de precisión: mejora la precisión de reconocimiento de inversiones reales y reduce la aparición de señales falsas mediante el modelo combinado de tres inversiones consecutivas de inversiones de conexión simultánea.
Adaptación dinámica a la volatilidad del mercado: el uso de ATR como indicador de la volatilidad permite que la estrategia se adapte automáticamente a las características de la volatilidad en diferentes mercados y diferentes períodos, sin necesidad de ajustar manualmente los parámetros.
Mecanismos inteligentes de protección de fondos: activa el mecanismo de protección solo después de que las operaciones obtienen una cierta ganancia, evita la salida prematura causada por pequeñas sacudidas en el mercado y al mismo tiempo bloquea las ganancias en el momento en que las ganancias se retiran.
Gestión de posiciones flexible: soporte para la acumulación de posiciones en forma de pirámide, para aumentar las posiciones después de la confirmación de la tendencia y aumentar el potencial de ganancias.
Amplia aplicabilidad: El diseño de estrategias es especialmente efectivo en mercados convulsionados y puntos de inflexión de tendencias, y se aplica a mercados con mucha volatilidad como las criptomonedas, el oro y las divisas.
Los parámetros son sencillos y fáciles de ajustar: basta con configurar el porcentaje mínimo de volumen, la longitud del ciclo ATR y los parámetros de seguimiento de la parada para optimizar y adaptarse a diferentes entornos del mercado.
Riesgo de no fijar el stop loss: la estrategia no establece un stop loss en el sentido tradicional, y puede causar grandes pérdidas si el mercado continúa en movimiento desfavorable antes de activar el stop tracking. Para este riesgo, se recomienda a los operadores que consideren agregar un mecanismo de stop loss de emergencia basado en el tiempo o la proporción de la máxima pérdida.
Riesgo de exceso de negociación: debido a que las condiciones de entrada son relativamente relajadas (sólo se necesitan 3 hilos de orientación asimétrica y 1 de orientación inversa), se puede generar demasiadas señales de negociación en un mercado convulso. Se puede reducir la negociación innecesaria mediante la adición de condiciones de filtración adicionales, como la combinación de indicadores de tendencia o puntos de resistencia de soporte.
Riesgo de la pirámide: la estrategia admite un máximo de 5 posiciones, lo que puede provocar grandes pérdidas acumuladas si el mercado se invierte repentinamente. Se recomienda reducir el número de posiciones de manera adecuada o establecer condiciones más estrictas de posiciones de acuerdo con la tolerancia al riesgo personal.
Dependencia de las condiciones del mercado: la estrategia funciona mejor en mercados con una agitación evidente o al final de una tendencia, pero puede desencadenar frecuentemente señales erróneas en mercados con una tendencia fuerte. Se debe considerar la adición de un filtro de tendencia y aplicar la estrategia solo en un entorno de mercado adecuado.
Sensibilidad de los parámetros: los pequeños cambios en los parámetros del multiplicador de ATR pueden afectar significativamente la performance de la estrategia, lo que requiere una optimización y retroalimentación completa de los parámetros para diferentes mercados y períodos de tiempo.
// 趋势过滤器示例
ema200 = ta.ema(close, 200)
adx = ta.adx(14)
inUptrend = close > ema200 and adx > 25
inDowntrend = close < ema200 and adx > 25
// 初始止损示例
initialStopLoss = strategy.position_size > 0 ? longEntry - 2 * atr :
strategy.position_size < 0 ? shortEntry + 2 * atr : na
Aumentar el filtro de los períodos de negociación: algunos mercados pueden tener una volatilidad excesiva o excesiva en determinados períodos de tiempo, lo que afecta el rendimiento de la estrategia. Se puede agregar un filtro de los períodos de negociación para negociar solo en los mejores períodos de tiempo.
Optimización de las condiciones de confirmación de reversión: se puede considerar la combinación de indicadores de volumen de tráfico o de movimiento para fortalecer la fiabilidad de la señal de reversión. La señal de reversión idealmente debe ir acompañada de un aumento de volumen de tráfico o el alejamiento del indicador de movimiento.
Parámetros de ajuste dinámico: Se puede diseñar un mecanismo para ajustar automáticamente los parámetros del multiplicador ATR en función de la situación del mercado para adaptarse a diferentes fases del mercado. Por ejemplo, aumentar la distancia de seguimiento durante la alta volatilidad y reducir la distancia de seguimiento durante la baja volatilidad.
Aumento de los objetivos de ganancias: además de rastrear los paros, se puede configurar un beneficio parcial basado en la resistencia de soporte o el reajuste de Fibonacci para lograr un bloqueo parcial de ganancias en los precios importantes.
Optimización de la gestión de riesgos: limitar el riesgo de una sola transacción a un porcentaje fijo de la cuenta, en lugar de usar un interés fijo del 50%, se puede lograr de la siguiente manera:
// 动态仓位大小计算
riskPerTrade = 1 // 风险1%账户
posSize = (strategy.equity * riskPerTrade / 100) / (atr * 2)
La estrategia de comercio cuantitativa de triple reversión basada en el ATR Dynamic Tracking Stop es un sofisticado sistema de negociación inversa a corto plazo que captura los puntos de inflexión del mercado mediante la identificación de tres patrones de reversión consecutivos después de una barra de orientación simultánea. Su principal característica es la adopción de un mecanismo de detención de seguimiento dinámico basado en el ATR, que permite a la estrategia adaptarse a las características de la volatilidad en diferentes condiciones del mercado, al tiempo que mantiene suficiente espacio para obtener ganancias y bloquear los beneficios obtenidos a tiempo.
La estrategia es especialmente adecuada para aplicaciones en mercados convulsivos y ambientes de mercado con mucha volatilidad, como los mercados de criptomonedas, oro y divisas. Al agregar las recomendaciones de optimización presentadas en este artículo, como filtros de tendencia, paros inteligentes y ajustes de parámetros dinámicos, los operadores pueden mejorar aún más la estabilidad y la rentabilidad de la estrategia.
Cabe señalar que, a pesar de la capacidad de la estrategia para adaptarse automáticamente a los cambios en el mercado, se requiere que el comerciante optimice y ajuste los parámetros de acuerdo con las características específicas del mercado y las preferencias personales de riesgo. Antes de la aplicación en el mercado real, se recomienda realizar una adecuada recuperación histórica y simulación de operaciones para verificar el rendimiento de la estrategia en diferentes entornos de mercado.
/*backtest
start: 2024-05-19 00:00:00
end: 2025-04-11 00:00:00
period: 5d
basePeriod: 5d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDC"}]
*/
//@version=5
// ========================================================================
// 📌 CMA Technologies – 3-Bar Reversal Detection Bot (ATR Trailing TP)
// 🌐 Developed by CMA Technologies | Visit: cmatech.co
// 🔄 Short-term reversal entry with dynamic ATR-based trailing TP
// 🔍 Strategy by @CMATechnologies
// ========================================================================
strategy("CMA Technologies – 3-Bar Reversal Detection Bot", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=1, pyramiding=5, commission_type=strategy.commission.percent, commission_value=0.05)
// === INPUTS ===
minBodyPct = input.float(3, title="Minimum Body Size (%)")
atrLen = input.int(14, title="ATR Length")
trailStartATR = input.float(1.5, title="Start Trailing After (x ATR)")
trailOffsetATR = input.float(1.0, title="Trailing Offset (x ATR)")
// === ATR ===
atr = ta.atr(atrLen)
// === FUNCTION ===
isBearish(closeVal, openVal) =>
closeVal < openVal
isBullish(closeVal, openVal) =>
closeVal > openVal
bodyPct(closeVal, openVal) =>
math.abs(closeVal - openVal) / openVal * 100
// === CONDITIONS ===
bullishReversal = isBearish(close[3], open[3]) and isBearish(close[2], open[2]) and isBearish(close[1], open[1]) and isBullish(close, open) and bodyPct(close, open) > minBodyPct
bearishReversal = isBullish(close[3], open[3]) and isBullish(close[2], open[2]) and isBullish(close[1], open[1]) and isBearish(close, open) and bodyPct(close, open) > minBodyPct
// === ENTRY ===
if (bullishReversal)// and strategy.position_size == 0)
strategy.entry("3Bar Long", strategy.long)
if (bearishReversal)// and strategy.position_size == 0)
strategy.entry("3Bar Short", strategy.short)
// === ATR-BASED TRAILING TP ===
longEntry = strategy.opentrades.entry_price(0)
shortEntry = strategy.opentrades.entry_price(0)
maxHigh = ta.highest(close, 20)
minLow = ta.lowest(close, 20)
startTrailLong = longEntry + trailStartATR * atr
startTrailShort = shortEntry - trailStartATR * atr
longTrailExit = close < (maxHigh - trailOffsetATR * atr) and close > startTrailLong
shortTrailExit = close > (minLow + trailOffsetATR * atr) and close < startTrailShort
if (strategy.position_size > 0 and longTrailExit)
strategy.close("3Bar Long", comment="ATR Trailing TP Hit")
if (strategy.position_size < 0 and shortTrailExit)
strategy.close("3Bar Short", comment="ATR Trailing TP Hit")
// === PLOTS ===
plotshape(bullishReversal, title="3-Bar Bull Reversal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.tiny)
plotshape(bearishReversal, title="3-Bar Bear Reversal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.tiny)