
La estrategia de comercio cuantitativo de zonas de desplazamiento de alto nivel es un sistema de comercio automatizado basado en el análisis técnico de filtración, cuya idea central es la de generar señales de negociación mediante la identificación de formas específicas de líneas de desplazamiento y cuando los precios entran en estas zonas de desplazamiento. La estrategia busca oportunidades potenciales de compra y venta en el mercado mediante el análisis de la relación entre las entidades de la línea de desplazamiento y las líneas de sombra, en combinación con el comportamiento del precio.
El principio central de esta estrategia es identificar y utilizar una zona de precios especial llamada “zona de desplazamiento” para negociar.
Identificación de hilos desplazadosLa estrategia primero:isBullishDisplacement()yisBearishDisplacement()Las funciones identifican las líneas de derivación de alza y bajada. Estas líneas de derivación se caracterizan por un número específico de veces que la entidad es mayor que la línea de sombra (controlada por un parámetro de sensibilidad).
Excluyendo las estrellas cruzadasAprobado:isDoji()La función filtra las líneas cruzadas con mayor incertidumbre y se centra en señales de tendencia claras. El criterio para determinar la cruz es que la proporción de la entidad con el rango total es menor que el umbral establecido (el 10% por defecto).
Construcción de las zonas de desplazamientoLa estrategia registra los máximos y mínimos de las dos líneas de cambio de posición más recientes y construye los límites superiores y inferiores de la zona de cambio.
Seguimiento de estado regionalVariables de estado de uso:inBearZoneyinBullZone) para rastrear si el precio está dentro de la zona de desplazamiento.
Generación de señales de entrada: Genera una señal de negociación cuando el precio entra en una zona de desplazamiento desde una dirección específica:
Ejecución automática de las operaciones: Una vez que se activa la señal, la estrategia ejecuta automáticamente la operación y establece las posiciones fijas de stop ((12 puntos) y stop loss ((1 punto)).
Al analizar el código de esta estrategia, podemos resumir las siguientes ventajas significativas:
Claridad de lógica basada en la estructura de preciosLa estrategia se basa en los conceptos de cartografía y zonas de desplazamiento, la lógica de negociación es intuitiva, clara y fácil de entender y aplicar.
Flexibilidad de la parametrización: permite que las estrategias se adapten a diferentes entornos de mercado y a las preferencias de riesgo personales a través de dos parámetros ajustables: el factor de sensibilidad y el umbral de las estrellas cruzadas.
Automatización de la gestión de riesgosEl mecanismo de stop loss fijo incorporado, con una relación de riesgo-retorno por transacción de 12: 1, ayuda a la gestión de fondos estable a largo plazo.
Señales de negociación visuales: La estrategia muestra claramente las señales de compra y venta y los límites de las zonas de desplazamiento a través de marcas gráficas, lo que facilita a los comerciantes una comprensión intuitiva de la situación del mercado.
Combinación de estrategias de rebote y reboteEl análisis de los movimientos de precios de las divisas de divisas en el mercado de divisas ha permitido identificar las zonas de desplazamiento, pero también ha mejorado la calidad de la señal.
Evite el ruido del mercadoEn la actualidad, el mercado de los productos de la industria de la telefonía móvil está en pleno apogeo de la industria de la telefonía móvil.
A pesar de la buena concepción de la estrategia, existen los siguientes riesgos potenciales:
Pequeño riesgo de pérdidaLa estrategia se establece en un solo punto de stop loss, que puede ser demasiado apretado en mercados de alta volatilidad y fácilmente se activa por el ruido del mercado, lo que provoca un alto nivel de stop loss frecuente. Solución: Ajuste el multiplicador de stop loss según las características de la volatilidad de la variedad de negociación.
Sensibilidad de los parámetros: La configuración incorrecta de los factores de sensibilidad puede causar una generación de señales excesiva o insuficiente. Solución: encontrar la combinación óptima de parámetros en un entorno de mercado específico mediante la retroalimentación de los parámetros de optimización.
Riesgo de pérdidas continuas: En un mercado convulso, las zonas de desplazamiento pueden formarse con frecuencia pero no pueden desarrollarse continuamente como tendencias, lo que provoca un paro continuo. Solución: agregar condiciones de filtración del entorno del mercado, como la confirmación de indicadores de tendencia.
Falta de pérdida dinámicaLa solución: Implementar un mecanismo de detención dinámico basado en el ATR o la volatilidad.
Exceso de dependencia en el desplazamiento históricoSolución: Considere ampliar el rango de tiempo de registro de los movimientos de posición.
Basado en el análisis de código, la estrategia tiene las siguientes direcciones de optimización:
Gestión de riesgos dinámicosLa ventaja de esto es que reduce el stop loss prematuro durante la baja volatilidad y proporciona suficiente protección durante la alta volatilidad.
Aumentar el tiempo de filtradoIncorporar en la estrategia la verificación de la efectividad del tiempo. Si la zona de desplazamiento se forma durante demasiado tiempo pero no se activa la señal, se debe reubicarla o reducir su importancia. Esto evita tomar decisiones comerciales basadas en información obsoleta.
Introducción de la confirmación de las entregasEl volumen de transacciones es un indicador auxiliar para la confirmación de la señal, y la calidad de la transacción se mejora al recibir la señal solo cuando aumenta el volumen de transacciones. El volumen de transacciones puede verificar la efectividad de la acción del precio.
Análisis de marcos de tiempo múltiplesLa combinación de señales en el marco de tiempo actual con la dirección de la tendencia en el marco de tiempo superior, y el comercio sólo cuando la dirección coincide, mejora la tasa de éxito.
Sistema de parámetros adaptados: Implementación de mecanismos para ajustar automáticamente los parámetros de sensibilidad basados en el comportamiento reciente del mercado, lo que permite que las estrategias se adapten a la transformación del mercado. Esto se debe a que las diferentes fases del mercado (trend, oscilación intermedia) requieren diferentes configuraciones de parámetros.
Aumento de la protección contra pérdidas continuasDiseñar un mecanismo para suspender la negociación por un tiempo o ajustar los parámetros después de un número determinado de paradas consecutivas para evitar pérdidas continuas en condiciones de mercado desfavorables.
La estrategia de comercio cuantitativa de zonas de desplazamiento de alto nivel es un método de comercio sistematizado basado en la estructura de precios y la morfología de los gráficos de pared, que genera señales de comercio mediante la identificación de líneas de derivación específicas y patrones de comportamiento de precios. La estrategia controla el riesgo a través de mecanismos de parada y pérdida fijos y ayuda a la decisión de negociación a través de herramientas visuales.
Las principales ventajas de esta estrategia residen en la claridad lógica, la flexibilidad de los parámetros y la automatización de la gestión de riesgos, pero también existen riesgos potenciales, como la configuración de stop loss demasiado pequeña y la sensibilidad de los parámetros. Mediante la introducción de medidas de optimización como la gestión de riesgos dinámicos, el filtro de tiempo, la confirmación de la transacción, el análisis de marcos temporales múltiples y el sistema de parámetros adaptativos, se puede mejorar significativamente la robustez y la rentabilidad de la estrategia.
Las estrategias de zonas de alto desplazamiento ofrecen un marco digno de consideración para los inversores que buscan realizar transacciones sistematizadas basadas en análisis técnico, especialmente cuando se combinan con las correspondientes optimizaciones para tener una mayor probabilidad de mantener un rendimiento estable en diferentes entornos de mercado.
/*backtest
start: 2025-01-01 00:00:00
end: 2025-05-11 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"DOGE_USDT"}]
*/
//@version=6
strategy("Advanced Displacement Zone Strategy", overlay=true)
// === PARAMETERS ===
sensitivity = input.float(1.2, title="Displacement Strength Multiplier")
dojiThreshold = input.float(0.1, title="Doji Body-to-Range Threshold (e.g., 0.1 = 10%)")
// === FUNCTIONS ===
isDoji() =>
candleRange = high - low
body = math.abs(close - open)
candleRange > 0 and (body / candleRange) <= dojiThreshold
isBullishDisplacement() =>
body = close - open
wick = (high - low) - math.abs(body)
not isDoji() and body > 0 and body > wick * sensitivity
isBearishDisplacement() =>
body = open - close
wick = (high - low) - math.abs(body)
not isDoji() and body > 0 and body > wick * sensitivity
// === STATE TRACKING ===
var float lastBullWick = na
var float secondLastBullWick = na
var float lastBearWick = na
var float secondLastBearWick = na
var bool inBearZone = false
var bool inBullZone = false
// === DETECT DISPLACEMENT CANDLES ===
if isBullishDisplacement()
secondLastBullWick := lastBullWick
lastBullWick := high
inBullZone := true
inBearZone := false
if isBearishDisplacement()
secondLastBearWick := lastBearWick
lastBearWick := low
inBearZone := true
inBullZone := false
// === WAITING ZONE BOUNDARIES ===
bullZoneHigh = math.max(lastBullWick, secondLastBullWick)
bullZoneLow = math.min(lastBullWick, secondLastBullWick)
bearZoneHigh = math.max(lastBearWick, secondLastBearWick)
bearZoneLow = math.min(lastBearWick, secondLastBearWick)
// === ZONE LOGIC ===
inBullZoneNow = close > bullZoneLow and close < bullZoneHigh
inBearZoneNow = close > bearZoneLow and close < bearZoneHigh
wasBelowBearZone = close[1] < bearZoneLow and close > bearZoneLow and not inBearZoneNow
wasAboveBullZone = close[1] > bullZoneHigh and close < bullZoneHigh and not inBullZoneNow
// === SIGNAL CONDITIONS ===
sellSignal = inBearZone and wasBelowBearZone
buySignal = inBullZone and wasAboveBullZone
// === STRATEGY EXECUTION ===
if buySignal
strategy.entry("Buy", strategy.long)
strategy.exit("Sell", from_entry="Buy", stop=close - 1, limit=close + 12) // Fixed Stop Loss at 5 points, Take Profit at 12 points
if sellSignal
strategy.entry("Sell", strategy.short)
strategy.exit("Buy", from_entry="Sell", stop=close + 1, limit=close - 12) // Fixed Stop Loss at 5 points, Take Profit at 12 points
// === PLOTS ===
plotshape(buySignal, title="Buy", location=location.belowbar, style=shape.arrowup, color=color.green, size=size.small, text="BUY")
plotshape(sellSignal, title="Sell", location=location.abovebar, style=shape.arrowdown, color=color.red, size=size.small, text="SELL")
plot(inBullZone ? bullZoneHigh : na, title="Bull Zone High", color=color.green, linewidth=1)
plot(inBullZone ? bullZoneLow : na, title="Bull Zone Low", color=color.green, linewidth=1)
plot(inBearZone ? bearZoneHigh : na, title="Bear Zone High", color=color.red, linewidth=1)
plot(inBearZone ? bearZoneLow : na, title="Bear Zone Low", color=color.red, linewidth=1)