La primera estrategia de ruptura del rango de precios de media hora: un sistema de seguimiento de tendencias del mercado basado en la identificación del impulso de múltiples períodos

ATR Range Breakout SESSION ANALYSIS momentum Risk-Reward Ratio R:R TIME-BASED TRADING SINGLE ENTRY SYSTEM
Fecha de creación: 2025-07-25 11:57:10 Última modificación: 2025-07-25 11:57:10
Copiar: 0 Número de Visitas: 211
2
Seguir
319
Seguidores

La primera estrategia de ruptura del rango de precios de media hora: un sistema de seguimiento de tendencias del mercado basado en la identificación del impulso de múltiples períodos La primera estrategia de ruptura del rango de precios de media hora: un sistema de seguimiento de tendencias del mercado basado en la identificación del impulso de múltiples períodos

Descripción general

La estrategia de ruptura de la primera media hora es un sistema de negociación basado en análisis de tiempo y ruptura de la franja de precios, diseñado específicamente para operar en gráficos de 15 minutos. La estrategia utiliza la franja de precios formada 30 minutos antes de la fecha de negociación como referencia clave para operar después del punto de ruptura. La idea central de la estrategia es capturar el movimiento de los precios de las primeras horas y, una vez que se haya establecido la dirección del mercado, para el avance, al mismo tiempo que evita el exceso de operaciones y aumenta la tasa de éxito general a través de una estricta restricción de una sola operación al día.

Principio de estrategia

La estrategia se basa en la idea de que los rangos de precios establecidos en el mercado temprano a menudo reflejan los importantes niveles de soporte y resistencia de la actividad comercial del día. El proceso de ejecución es el siguiente:

  1. Formación de las zonas de referenciaEl sistema monitoriza y agrega los datos de las dos líneas K de los 15 minutos anteriores a la fecha de negociación (09:15:00-09:44:59) para registrar los precios más altos y más bajos durante este período, formando los “altos de referencia” y los “bajos de referencia”.

  2. Configuración de las operacionesLa estrategia busca señales de que el precio rompa la línea de referencia durante los siguientes períodos de negociación, incluidos los de 09:15 a 12:00 y 13:00 a 16:00.

  3. Reglas de ingreso

    • Entradas en grupoLa señal de compra se activa cuando el precio sube al punto más alto de referencia o por encima de él.
    • Entradas con la cabeza vacíaLa señal de venta se activa cuando el precio baja a un mínimo de referencia o por debajo.
    • Limitación de las transacciones en un díaUna vez que se ejecuta una transacción, no se abre una nueva posición el mismo día.
  4. Reglas de juego

    • Detener el objetivo: se establece como el precio de entrada más ((múltiples cabezas) o menos ((cabezas vacías) de la distancia entre los intervalos iniciales.
    • Posiciones de paradaEl límite de pérdidas de las operaciones con más titulares se establece en el punto mínimo de referencia y el límite de pérdidas de las operaciones con titulares en blanco en el punto máximo de referencia.
  5. Control de la dirección de la transacción

    • El usuario puede limitar la dirección de la operación a “comprar solo”, “vender solo” o “dos direcciones” mediante la introducción de parámetros para adaptarse a las preferencias personales del mercado o a los juicios de tendencias.

El código de la estrategia asegura la captura precisa de las señales de ruptura y la aplicación estricta de las reglas de gestión de riesgos mediante un control riguroso del tiempo y la detección de las condiciones de precio.

Ventajas estratégicas

Después de analizar el código en profundidad, la estrategia tiene las siguientes ventajas:

  1. DisciplinadoEl objetivo de esta estrategia es evitar el exceso de operaciones y la toma de decisiones emocionales, y reducir los costos y la tensión psicológica que conlleva la frecuencia de las operaciones.

  2. Las reglas son claras.Las condiciones de entrada y salida son claras y transparentes, no se requiere un juicio subjetivo, lo que reduce las dudas y los errores en el proceso de negociación.

  3. La flexibilidad es alta.: Con el parámetro “trade_direction”, el usuario puede preferir el comercio de cara a cara o mantener el comercio de cara a cara, según las tendencias macroeconómicas o el análisis personal, lo que aumenta la adaptabilidad de la estrategia.

  4. Control perfecto de riesgosCada transacción tiene un objetivo predefinido de stop-loss y stop-loss, y la relación entre el riesgo y el rendimiento es clara, lo que ayuda a una gestión de fondos estable a largo plazo.

  5. Eficiencia en el tiempoLa estrategia aprovecha las características del mercado temprano, que suele ser más volátil y direccional, para mejorar la eficiencia de las operaciones al enfocarse en los primeros 30 minutos después de la apertura del mercado.

  6. La estructura del código es clara.: La implementación de la estrategia se realiza mediante la reinstalación de variables y la verificación de condiciones, de forma lógica, fácil de entender y mantener.

Riesgo estratégico

A pesar de la buena concepción de la estrategia, existen los siguientes riesgos potenciales:

  1. Riesgo de una falsa brecha: El mercado puede revertir rápidamente después de la ruptura de la zona de referencia, lo que provoca que se desencadene el stop loss. La solución puede ser la adición de un mecanismo de confirmación, como requerir que el precio se mantenga durante un cierto tiempo después de la ruptura o que se rompa una cierta amplitud antes de ejecutar la operación.

  2. Riesgo de un ancho de banda: Si la oscilación del mercado es demasiado grande durante los primeros 30 minutos de la apertura, esto puede llevar a un estancamiento demasiado largo que no se ajuste a los principios de gestión de riesgos razonables. Se puede considerar la posibilidad de establecer un límite de intervalo máximo o ajustar la dinámica de la tasa de fluctuación histórica.

  3. Riesgo de una franja demasiado estrechaPor el contrario, si el movimiento temprano es demasiado pequeño, puede causar que el objetivo de la parada esté demasiado cerca del punto de entrada y sea difícil cubrir el costo de la operación. La solución es establecer un requisito de intervalo mínimo o optar por abandonar la operación en días de baja volatilidad.

  4. Dependencia del mercado único: Las estrategias están diseñadas para un mercado específico y pueden no funcionar bien en otros mercados o en diferentes condiciones de mercado. Se recomienda realizar un análisis de retroalimentación y adaptabilidad al mercado antes de su aplicación.

  5. Limitaciones de las tasas fijas de riesgo-beneficio: El uso de un índice de riesgo/recompensa fijo en el código ((risk_reward = 1.0), puede no adaptarse a diferentes condiciones de mercado. Se puede considerar un ajuste dinámico en función de la volatilidad del mercado o la intensidad de la tendencia.

Dirección de optimización

Basado en el análisis de código, la estrategia puede ser optimizada en las siguientes direcciones:

  1. Ajuste de las zonas dinámicasLa estrategia actual utiliza una ventana de tiempo fija (los 30 minutos anteriores) para determinar el intervalo de negociación. Se puede considerar la forma en que se forma el intervalo de referencia de acuerdo con la fluctuación del mercado (como el indicador ATR) para adaptarse a diferentes circunstancias del mercado.

  2. Mecanismo de confirmación múltipleAumentar el riesgo de falsas rupturas al agregar indicadores técnicos adicionales o confirmaciones de patrones de precios, que se ejecutan solo cuando la dirección de la ruptura coincide con la tendencia de la media móvil a corto plazo.

  3. Administración de posiciones parcialesModificación del código para implementar estrategias de parada parcial y de parada parcial, como eliminar una parte de las posiciones después de alcanzar un objetivo de ganancias, y establecer un seguimiento de la pérdida para el resto de las posiciones para maximizar la captura de tendencias.

  4. El factor de decaimiento del tiempoIntroducción de un factor de desaceleración temporal que hace que la estrategia aumente gradualmente los requisitos para las señales de ruptura a medida que avanza el día de negociación, ya que, en general, una ruptura temprana tiene más sentido que una ruptura tardía.

  5. Adaptación al riesgo y retorno: Ajuste dinámico de la relación de riesgo-rendimiento según las condiciones del mercado (como la volatilidad, la intensidad de la tendencia), en lugar de usar valores fijos, para adaptarse mejor a diferentes entornos del mercado.

  6. Filtrado por volumen de transaccionesAumentar el mecanismo de confirmación de transacciones, confirmando que una brecha es efectiva solo en caso de un aumento significativo en el volumen de transacciones, lo que reduce aún más el riesgo de una falsa brecha.

Resumir

La estrategia de breakout de la primera media hora es un sistema de negociación simple y eficaz para ejecutar operaciones mediante la captura de los rangos de precios clave establecidos por el mercado temprano y el seguimiento de sus breakouts. La estrategia enfatiza la disciplina, las reglas claras y el control estricto del riesgo, especialmente para los comerciantes que buscan un método de negociación sistematizado.

Las ventajas centrales de la estrategia residen en sus claras reglas de entrada y salida, limitaciones de transacción en un solo día y preferencias de dirección de transacción ajustables, lo que le permite mantener la disciplina de las transacciones sistematizadas y una cierta flexibilidad para adaptarse a diferentes entornos de mercado.

Si bien existen desafíos en la configuración del riesgo de falso avance y el intervalo, estos riesgos pueden mitigarse de manera efectiva a través de direcciones de optimización recomendadas, como la adaptación del intervalo dinámico, los mecanismos de confirmación múltiple y la gestión del riesgo adaptativo.

En general, se trata de un marco estratégico de diseño razonable, lógico y claro, adecuado para que los operadores lo apliquen a las operaciones reales después de su comprensión y ajuste adecuado, especialmente para capturar el movimiento y la dirección de los movimientos tempranos del mercado.

Código Fuente de la Estrategia
/*backtest
start: 2025-06-24 00:00:00
end: 2025-07-12 00:00:00
period: 5m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"SOL_USDT"}]
*/

//@version=6
strategy("HSI1! First 30m Candle Strategy (15m Chart)", overlay=true, default_qty_type=strategy.fixed, default_qty_value=1, calc_on_every_tick=true)

// === CONFIGURATION ===
risk_reward = 1.0
trade_size = 1

// User input to choose direction
trade_direction = input.string("Both", title="Trade Direction", options=["Buy Only", "Sell Only", "Both"])

// === SESSION TIME ===
time_in_session = (time >= timestamp("Asia/Hong_Kong", year, month, dayofmonth, 9, 15) and time <= timestamp("Asia/Hong_Kong", year, month, dayofmonth, 12, 0)) or (time >= timestamp("Asia/Hong_Kong", year, month, dayofmonth, 13, 0) and time <= timestamp("Asia/Hong_Kong", year, month, dayofmonth, 16, 0))

// === FIRST 30-MIN CANDLE AGGREGATION ===
// The first 30m period: 09:15:00 to 09:44:59
start_30m = timestamp("Asia/Hong_Kong", year, month, dayofmonth, 9, 15)
end_30m   = timestamp("Asia/Hong_Kong", year, month, dayofmonth, 9, 45)

// Identify the first bar of a new day for reset
curr_ymd = year * 10000 + month * 100 + dayofmonth
var int first_30m_ymd = na
var float first_30m_high = na
var float first_30m_low  = na
var bool range_locked = false

// Reset all at the start of a new day
if na(first_30m_ymd) or first_30m_ymd != curr_ymd
    first_30m_ymd := curr_ymd
    first_30m_high := na
    first_30m_low := na
    range_locked := false

// If within first 30m window, keep updating highs/lows
if time >= start_30m and time < end_30m
    first_30m_high := na(first_30m_high) ? high : math.max(first_30m_high, high)
    first_30m_low  := na(first_30m_low)  ? low  : math.min(first_30m_low, low)

// Lock the range after the 09:45 bar starts
if not range_locked and time >= end_30m and not na(first_30m_high) and not na(first_30m_low)
    range_locked := true

carry_high = range_locked ? first_30m_high : na
carry_low  = range_locked ? first_30m_low  : na

// === SINGLE TRADE PER DAY LOGIC ===
var int last_trade_ymd = na
var bool traded_today = false

if na(last_trade_ymd) or last_trade_ymd != curr_ymd
    traded_today := false  // New day, reset flag

can_trade = time_in_session and not na(carry_high) and not traded_today

// === TRADE ENTRY/EXIT CONDITIONS ===
long_condition  = can_trade and strategy.position_size == 0 and high >= carry_high and (trade_direction == "Buy Only" or trade_direction == "Both")
short_condition = can_trade and strategy.position_size == 0 and low <= carry_low and (trade_direction == "Sell Only" or trade_direction == "Both")

stop_long  = carry_low
take_long  = carry_high + (carry_high - carry_low) * risk_reward

stop_short = carry_high
take_short = carry_low - (carry_high - carry_low) * risk_reward

if long_condition
    strategy.entry("Long", strategy.long, qty=trade_size, stop=carry_high)
    strategy.exit("TP/SL Long", "Long", stop=stop_long, limit=take_long)
    last_trade_ymd := curr_ymd
    traded_today := true

if short_condition
    strategy.entry("Short", strategy.short, qty=trade_size, stop=carry_low)
    strategy.exit("TP/SL Short", "Short", stop=stop_short, limit=take_short)
    last_trade_ymd := curr_ymd
    traded_today := true

// === PLOTS ===
plot(carry_high, title="First 30m High", color=color.green, linewidth=2, display=display.none)
plot(carry_low,  title="First 30m Low",  color=color.red, linewidth=2, display=display.none)