Estrategia de ruptura de tendencia y seguimiento del impulso en tres etapas

HLOC BAR TRINITY PA TA RANGE Trend
Fecha de creación: 2025-02-17 10:53:49 Última modificación: 2025-02-17 10:53:49
Copiar: 0 Número de Visitas: 372
1
Seguir
1617
Seguidores

Estrategia de ruptura de tendencia y seguimiento del impulso en tres etapas Based on the provided code, I’ll help create an SEO-friendly article analyzing this trading strategy in both Chinese and English.

Descripción general

Esta estrategia se basa en el análisis del comportamiento del precio (Price Action) y en la teoría de la diferenciación de la línea K de Bill Williams, para identificar los puntos de inflexión y la continuidad de las tendencias del mercado mediante el análisis de la relación entre la posición del precio de apertura y el precio de cierre en la línea K de la línea K actual y anterior, para generar señales de negociación. La estrategia se basa completamente en el comportamiento del precio, no depende de ningún indicador técnico, y elimina la desviación emocional en el proceso de negociación mediante un método sistemático.

Principio de estrategia

La lógica central de la estrategia es dividir los rangos de fluctuación de cada línea K en tres partes, para juzgar la tendencia del mercado mediante el análisis de la posición de los precios de apertura y cierre en estos rangos.

  1. Clasificación de líneas K - Divida las líneas K en varios tipos según la posición del precio de apertura y cierre:
    • Vea más formas: 1-3 (abriendo hacia abajo) 2-3 (abriendo hacia arriba) 3-3 (abriendo hacia arriba)
    • Forma de la vista en el aire: 3-1 ((abre y cierra), 2-1 ((abre y cierra), 1-1 ((abre y cierra)
  2. Generación de señales - confirmación de la señal de transacción mediante una combinación morfológica de dos líneas K consecutivas:
    • Señales de compra: la línea K anterior es una forma arbitraria de ver múltiple, la línea K actual es la forma 1-3 o 3-3
    • La señal de venta: la línea K anterior es una forma de vista libre arbitraria, la línea K actual es una forma de 1-1 o 3-1
  3. Ejecución de la operación - orden de mercado ejecutada automáticamente después de la señal de confirmación:
    • Cuando aparezca una señal de compra, borre la posición vacía y obtenga más
    • Cuando aparezca la señal de venta, se borrará el exceso y se vaciará.

Ventajas estratégicas

  1. Puro impulso de precios - basado exclusivamente en el análisis del comportamiento de los precios, evitando el atraso de los indicadores técnicos
  2. Sistematización de las transacciones - Ejecución de las transacciones a través de un sistema de reglas claras, reduciendo la desviación de los juicios subjetivos
  3. Seguimiento de tendencias - Captura de las fluctuaciones de los precios de manera eficaz para aumentar el margen de ganancias individuales
  4. Control de riesgos - mejora de la fiabilidad de la señal mediante el análisis de dos líneas K consecutivas
  5. Sencillo e intuitivo - La lógica de la estrategia es clara, fácil de entender y ejecutar

Riesgo estratégico

  1. No se aplica a las ciudades convulsionadas - puede generar falsas señales frecuentes en situaciones convulsionadas intermitentes
  2. Tiempo de entrada retrasado - Se necesita esperar el cierre de la línea K para confirmar la señal, y se puede perder el mejor punto de entrada
  3. Insuficiencia en la gestión de fondos - La estrategia no incluye un mecanismo de suspensión de pérdidas por sí misma, lo que requiere medidas adicionales de control de riesgos
  4. Dependencia del entorno del mercado - puede tener un mal desempeño en un entorno de escasa liquidez o alta volatilidad
  5. Sensibilidad de parámetros - La elección del ciclo de la línea K tiene un impacto importante en el rendimiento de la estrategia

Dirección de optimización de la estrategia

  1. Introducción de filtros de volatilidad - Ajuste dinámico de la frecuencia de las operaciones en diferentes entornos de mercado mediante la adición de indicadores de volatilidad como el ATR
  2. Control de riesgos perfeccionado - Diseño de un mecanismo de detención de pérdidas dinámico basado en K-line III
  3. Optimización de la confirmación de la señal - considera la introducción de indicadores auxiliares como el volumen de tráfico, la fluctuación y la fiabilidad de la señal
  4. Aumentar el análisis del entorno del mercado - Desarrollar módulos de identificación de estado del mercado que adopten diferentes parámetros de transacción en diferentes entornos del mercado
  5. Mejora en la gestión de las posiciones - Ajuste de la proporción de las posiciones en función de la intensidad de la señal y la dinámica del entorno del mercado

Resumir

La estrategia ha creado un sistema de seguimiento de tendencias simple y eficaz mediante el análisis del comportamiento de los precios mediante un método innovador de la línea K de tres puntos. Si bien existen ciertas limitaciones, se puede obtener un rendimiento estable en un entorno de mercado con una tendencia evidente a través de medidas razonables de optimización y control de riesgos. La ventaja central de la estrategia reside en su metodología sistematizada y en el análisis profundo del comportamiento de los precios, que ofrece una dirección de investigación digna de referencia para el comercio cuantitativo.

Código Fuente de la Estrategia
/*backtest
start: 2025-01-17 00:00:00
end: 2025-02-15 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("TrinityBar", overlay=true, initial_capital=100000, 
     default_qty_type=strategy.percent_of_equity, default_qty_value=200)

//─────────────────────────────────────────────────────────────
// Current Bar Thirds Calculations
//─────────────────────────────────────────────────────────────
cur_range      = high - low
cur_lowerThird = low + cur_range / 3
cur_upperThird = high - cur_range / 3

//─────────────────────────────────────────────────────────────
// Previous Bar Thirds Calculations
//─────────────────────────────────────────────────────────────
prev_range      = high[1] - low[1]
prev_lowerThird = low[1] + prev_range / 3
prev_upperThird = high[1] - prev_range / 3

//─────────────────────────────────────────────────────────────
// Define Bullish Bar Types for Current Bar
//─────────────────────────────────────────────────────────────
is_1_3 = (open <= cur_lowerThird) and (close >= cur_upperThird)
is_3_3 = (open >= cur_upperThird) and (close >= cur_upperThird)
is_2_3 = (open > cur_lowerThird) and (open < cur_upperThird) and (close >= cur_upperThird)

//─────────────────────────────────────────────────────────────
// Define Bearish Bar Types for Current Bar
//─────────────────────────────────────────────────────────────
is_3_1 = (open >= cur_upperThird) and (close <= cur_lowerThird)
is_1_1 = (open <= cur_lowerThird) and (close <= cur_lowerThird)
is_2_1 = (open > cur_lowerThird) and (open < cur_upperThird) and (close <= cur_lowerThird)

//─────────────────────────────────────────────────────────────
// Define Bullish Bar Types for Previous Bar
//─────────────────────────────────────────────────────────────
prev_is_1_3 = (open[1] <= prev_lowerThird) and (close[1] >= prev_upperThird)
prev_is_3_3 = (open[1] >= prev_upperThird) and (close[1] >= prev_upperThird)
prev_is_2_3 = (open[1] > prev_lowerThird) and (open[1] < prev_upperThird) and (close[1] >= prev_upperThird)

//─────────────────────────────────────────────────────────────
// Define Bearish Bar Types for Previous Bar
//─────────────────────────────────────────────────────────────
prev_is_3_1 = (open[1] >= prev_upperThird) and (close[1] <= prev_lowerThird)
prev_is_1_1 = (open[1] <= prev_lowerThird) and (close[1] <= prev_lowerThird)
prev_is_2_1 = (open[1] > prev_lowerThird) and (open[1] < prev_upperThird) and (close[1] <= prev_lowerThird)

//─────────────────────────────────────────────────────────────
// Valid Signal Conditions
//─────────────────────────────────────────────────────────────
// Bullish Signal: If the previous bar is any bullish type (2‑3, 3‑3, or 1‑3)
// and the current bar is either a 1‑3 or a 3‑3 bar.
validBuy = (prev_is_2_3 or prev_is_3_3 or prev_is_1_3) and (is_1_3 or is_3_3)

// Bearish Signal: If the previous bar is any bearish type (2‑1, 1‑1, or 3‑1)
// and the current bar is either a 1‑1 or a 3‑1 bar.
validSell = (prev_is_2_1 or prev_is_1_1 or prev_is_3_1) and (is_1_1 or is_3_1)

//─────────────────────────────────────────────────────────────
// Plot Only the Signal Triangles
//─────────────────────────────────────────────────────────────
plotshape(validBuy, title="Valid Buy", style=shape.triangleup, location=location.belowbar, 
     color=color.green, size=size.small, text="B")
plotshape(validSell, title="Valid Sell", style=shape.triangledown, location=location.abovebar, 
     color=color.red, size=size.small, text="S")

//─────────────────────────────────────────────────────────────
// Market Order Execution Based on Signals
//─────────────────────────────────────────────────────────────
if validBuy
    // Close any short positions.
    strategy.close("Short", comment="")
    // If not already long, enter a market long.
    if strategy.position_size <= 0
        strategy.entry("Long", strategy.long, comment="")
        
if validSell
    // Close any long positions.
    strategy.close("Long", comment="")
    // If not already short, enter a market short.
    if strategy.position_size >= 0
        strategy.entry("Short", strategy.short, comment="")