
La estrategia de parada parcial de confirmación de movimiento de la cruz EMA es una estrategia de negociación cuantitativa avanzada que combina la señal de parada parcial de movimiento de la cruz EMA, la confirmación de movimiento y el análisis de la estructura del mercado. La estrategia tiene un enfoque especial en la seguridad de las transacciones y protege el capital invertido a través de un mecanismo de parada parcial innovador.
La estrategia funciona en base a un mecanismo de confirmación de varias capas:
Identificación de las tendenciasUtiliza un cruce entre un EMA rápido (de 8 ciclos) y un EMA lento (de 21 ciclos) para determinar la dirección de la tendencia general. Se identifica como una tendencia al alza cuando el EMA de 8 atraviesa el EMA de 21; se identifica como una tendencia a la baja cuando el EMA de 8 atraviesa el EMA de 21
Señales de entradaLa estrategia no es entrar inmediatamente en el cruce del EMA inicial, sino esperar la señal de la “prima continuación de la tendencia”.
Gestión de riesgosLa estrategia introdujo un mecanismo de suspensión parcial de pérdidas basado en el análisis de la estructura del mercado:
Las estrategias de salidaLa señal final de salida total es el cruce bajista de la EMA, es decir, 21 EMA por debajo de 8 EMA, en este momento la liquidación de todas las posiciones restantes.
La estrategia utiliza variables de gestión de estado en el proceso de ejecución para rastrear el estado de las transacciones, el tipo de señales activadas y los puntos de conversión de la estructura del mercado, para garantizar la consistencia y la precisión de la ejecución lógica.
Un análisis profundo del código de la estrategia puede resumir las siguientes ventajas significativas:
Mecanismo de confirmación múltipleLa combinación de EMA cruzado, desvalorización de la dinámica y señales de continuación de la tendencia reduce significativamente el riesgo de falsas rupturas y señales erróneas. Este diseño de filtración en múltiples capas mejora considerablemente la calidad y la fiabilidad de las operaciones.
Gestión inteligente de los fondosEl punto fuerte de esta estrategia es el mecanismo de parada parcial de pérdidas, que permite a los comerciantes proteger parte de sus ganancias en caso de deterioro de la estructura del mercado, mientras se mantiene la posición restante para capturar una posible recuperación de la tendencia, logrando un equilibrio entre el riesgo y la ganancia.
Adaptabilidad de la estructura del mercadoLa estrategia permite identificar cambios en la estructura del mercado, lo que hace que se muestre estable en diferentes entornos de mercado.
Diseño parametrizado flexibleLa estrategia ofrece varios parámetros ajustables, incluida la longitud de EMA, el multiplicador de sensibilidad y la configuración de retroceso del eje, lo que permite a los operadores optimizar según las diferentes condiciones del mercado y las preferencias de riesgo personales.
El principio de respeto a las tendenciasEl diseño de la estrategia sigue el principio de “hacer lo que sea” y solo hace más en la tendencia alcista confirmada, evitando el alto riesgo que conlleva el comercio a la inversa.
A pesar de su excelente diseño, la estrategia tiene algunos riesgos y limitaciones potenciales:
Riesgo de una admisión tardíaDebido a la necesidad de esperar la señal de “primera continuación de la tendencia”, la estrategia puede perderse la parte inicial de la tendencia, lo que puede causar un precio de entrada más alto en un evento de ruptura rápida.
El error de juicio de la estructura del mercadoEn un entorno de alta volatilidad, la formación de altos y bajos puede no ser lo suficientemente clara, lo que lleva a juicios erróneos sobre la estructura del mercado y a pérdidas parciales innecesarias.
Sensibilidad de los parámetrosEl rendimiento de la estrategia depende en gran medida de parámetros como la longitud de la EMA, el multiplicador de la sensibilidad ATR, etc. La configuración inadecuada de los parámetros puede causar un exceso de negociación o perder una señal efectiva.
Después de la suspensión de pérdidas, se perdió la entrada.La estrategia no define un mecanismo de reingreso claro después de la activación de la parada parcial de pérdidas, lo que puede perder oportunidades de aumento después de la recuperación de la tendencia.
Basado en el análisis de código, la estrategia puede ser optimizada en las siguientes direcciones:
Ajuste de parámetros dinámicos: La longitud y el factor de sensibilidad de la EMA actual son fijos, y se puede considerar ajustar automáticamente estos parámetros según la volatilidad del mercado. Por ejemplo, usar un factor de sensibilidad más pequeño en un entorno de baja volatilidad y un valor más alto en un entorno de alta volatilidad. Esto puede adaptar mejor la estrategia a diferentes condiciones del mercado.
Aumentar las calificaciones de la estructura de mercado cuantitativaEl análisis de la estructura del mercado actual es relativamente sencillo, pero puede desarrollarse un sistema de calificación de la estructura del mercado más complejo, que tenga en cuenta la posición relativa, la velocidad y la amplitud de la formación de varios puntos altos y bajos, para determinar con mayor precisión la intensidad de la tendencia y la potencial reversión.
Confirmación del volumen de transacciones consolidadoLas estrategias actuales se basan únicamente en el movimiento de los precios y se pueden agregar análisis de volumen de transacciones como un factor de confirmación adicional. Por ejemplo, se puede solicitar un aumento en el volumen de transacciones para desencadenar una señal de compra, o un aumento en el volumen de transacciones como una señal de advertencia más fuerte cuando la estructura del mercado se rompe.
Estrategias de gestión para la optimización de la pérdida parcialEn la actualidad, la administración de fondos de las instituciones financieras está en proceso de modernización, y la administración de fondos de las instituciones financieras está en proceso de modernización.
Añadir análisis de múltiples marcos de tiempoPor ejemplo, solo se permite hacer más en un marco de tiempo más pequeño cuando la línea del sol está en tendencia al alza, lo que reduce el riesgo de negociar en contra de una tendencia mayor.
La estrategia de suspensión parcial de confirmación de movimiento cruzado de la EMA es un sistema de negociación cuantitativo avanzado que combina análisis técnico y gestión de riesgos. Su principal ventaja es su mecanismo de confirmación multicapa e innovador diseño de suspensión parcial, que permite controlar el riesgo de manera efectiva mientras se captura la tendencia. La estrategia reduce considerablemente la posibilidad de falsas rupturas al esperar la señal de “primera continuación de la tendencia”, mientras que la suspensión parcial basada en la estructura del mercado ofrece un mecanismo de protección de fondos flexible.
Esta estrategia es especialmente adecuada para un entorno de mercado moderado y de tendencias evidentes, y tiene un alto valor de referencia para los comerciantes cuantitativos que desean introducir un control de riesgo más preciso en el comercio de tendencias. Hay mucho espacio para el desarrollo y la mejora de esta estrategia mediante la optimización adicional de los métodos de análisis de la estructura del mercado, el ajuste de los parámetros dinámicos y la integración de múltiples marcos de tiempo.
En última instancia, la aplicación exitosa de esta estrategia requiere que el comerciante tenga un profundo conocimiento del mercado y la capacidad de ajustar adecuadamente los ajustes de parámetros en función de las diferentes condiciones del mercado, aumentando su adaptabilidad y estabilidad, al tiempo que se mantiene la lógica central de la estrategia.
/*backtest
start: 2024-06-30 00:00:00
end: 2025-06-28 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT","balance":50000000}]
*/
//@version=5
// This strategy buys on the 'First Continuation' signal and adds a
// partial stop-loss that triggers on a lower-low and lower-high market structure break.
// This version corrects the 'strategy.close' argument error.
strategy("First Continuation Strategy w/ Partial SL (Corrected)",
overlay=true,
default_qty_type=strategy.percent_of_equity,
default_qty_value=10,
commission_type=strategy.commission.percent,
commission_value=0.1)
// --- INPUTS ---
emaLength = input.int(21, "Slow EMA Length")
shortEmaLength = input.int(8, "Fast EMA Length")
sensitivityMultiplier = input.float(1.5, title="Sensitivity Multiplier")
pivotLeft = input.int(5, title="Pivot Lookback Left")
pivotRight = input.int(5, title="Pivot Lookback Right")
// --- CALCULATIONS ---
ema21 = ta.ema(close, emaLength)
ema8 = ta.ema(close, shortEmaLength)
atr = ta.atr(14)
distance = close - ema21
threshold = atr * sensitivityMultiplier
// --- STATE MANAGEMENT ---
var bool inEmaUptrend = false, var bool inEmaDowntrend = false
var bool firstBuySignalFired = false, var bool firstSellSignalFired = false
var bool firstContinuationBuyFired = false, var bool firstContinuationSellFired = false
// State management for the new stop-loss logic
var float lastHigh = na, var float secondLastHigh = na
var float lastLow = na, var float secondLastLow = na
var bool partialStopTriggered = false
bool bullishCross = ta.crossover(ema8, ema21)
bool bearishCross = ta.crossunder(ema8, ema21)
// Reset state on trend changes
if (bullishCross)
inEmaUptrend := true, inEmaDowntrend := false
firstBuySignalFired := false, firstContinuationBuyFired := false
if (bearishCross)
inEmaUptrend := false, inEmaDowntrend := true
firstSellSignalFired := false, firstContinuationSellFired := false
// --- PIVOT & TRIGGER LOGIC ---
// Detect new swing points
float newPivotHigh = ta.pivothigh(high, pivotLeft, pivotRight)
float newPivotLow = ta.pivotlow(low, pivotLeft, pivotRight)
// If in a trade, track the last two swing points
if (strategy.position_size > 0)
if not na(newPivotHigh)
secondLastHigh := lastHigh
lastHigh := newPivotHigh
if not na(newPivotLow)
secondLastLow := lastLow
lastLow := newPivotLow
// Stop-Loss Condition: A confirmed lower high AND lower low have formed
bool marketStructureBreak = not na(lastHigh) and not na(secondLastHigh) and not na(lastLow) and not na(secondLastLow) and lastHigh < secondLastHigh and lastLow < secondLastLow
// Reset pivot history and stop-loss flag when position is closed
if (strategy.position_size == 0 and strategy.position_size[1] != 0)
lastHigh := na, secondLastHigh := na
lastLow := na, secondLastLow := na
partialStopTriggered := false
// Standard V8 Trigger Logic
bool isMomentumBar = math.abs(distance) >= (threshold / 1.5)
bool isPositiveMomentumBar = isMomentumBar and distance > 0
bool buySignal = inEmaUptrend and isPositiveMomentumBar
bool buyTrigger = buySignal and not buySignal[1]
bool initialBuyTrigger = buyTrigger and not firstBuySignalFired
bool firstContinuationBuy = buyTrigger and firstBuySignalFired and not firstContinuationBuyFired
if (initialBuyTrigger)
firstBuySignalFired := true
if (firstContinuationBuy)
firstContinuationBuyFired := true
// --- STRATEGY EXECUTION ---
// ENTRY: Buy only on the first continuation 'b' signal and when flat.
if (firstContinuationBuy and strategy.position_size == 0)
strategy.entry("Long", strategy.long)
// PARTIAL EXIT (NEW): Close 50% of the position if market structure breaks down.
if (strategy.position_size > 0 and marketStructureBreak and not partialStopTriggered)
qtyToClose = strategy.position_size * 0.5
strategy.close(id="Long", qty=qtyToClose, comment="SL 50% on Structure Break") // CORRECTED ARGUMENT
partialStopTriggered := true // Ensure this only triggers once per trade
// FULL EXIT: Close any remaining position on a bearish cross.
if (strategy.position_size > 0 and bearishCross)
strategy.close("Long", comment="Exit on Bearish Cross")
// --- PLOTTING ---
plot(ema8, "Fast EMA", color=color.new(color.blue, 0), linewidth=2)
plot(ema21, "Slow EMA", color=color.new(color.orange, 0), linewidth=2)
// Plot pivots to visualize the market structure
plot(newPivotHigh, "Pivot High", color=color.new(color.red, 50), style=plot.style_circles, offset=-pivotRight)
plot(newPivotLow, "Pivot Low", color=color.new(color.green, 50), style=plot.style_circles, offset=-pivotRight)