Estrategia cuantitativa de trading bidireccional basada en el patrón de absorción de velas de línea K

OHLC VOL ATR
Fecha de creación: 2024-12-12 11:27:27 Última modificación: 2024-12-12 11:27:27
Copiar: 0 Número de Visitas: 364
1
Seguir
1617
Seguidores

Estrategia cuantitativa de trading bidireccional basada en el patrón de absorción de velas de línea K

Descripción general

Esta estrategia es un sistema de negociación bidireccional basado en el patrón de absorción de la gráfica de líneas K. La estrategia identifica los patrones con características de absorción en el mercado mediante el análisis de la dirección, la amplitud y la relación de volumen de transacción de las líneas K adyacentes, y realiza operaciones en la dirección correspondiente cuando cumple con los requisitos. La estrategia utiliza un método de gestión de fondos porcentual y tiene una lógica de apertura de posición completa.

Principio de estrategia

La lógica central de la estrategia se basa en tres condiciones clave:

  1. La dirección de la línea K adyacente es la inversa: para determinar la dirección de la línea K, comparando el precio de apertura y el precio de cierre, se requiere que dos líneas K adyacentes muestren un movimiento contrario.
  2. Análisis de la relación de impulso: Calcula y compara el impulso de los precios de las dos líneas K ((valor absoluto de la diferencia entre el precio de cierre y el precio de apertura), requiriendo que el impulso de la última línea K sea mayor que el anterior.
  3. Características del volumen de transacciones: se requiere que el volumen de transacciones de la primera línea K sea mayor que el volumen de transacciones de la segunda línea K, mientras que el volumen de transacciones de la segunda línea K sea menor que el volumen de transacciones anterior.

Cuando estas tres condiciones se cumplen al mismo tiempo, la estrategia determina la dirección de la operación en función de la dirección de la línea K más reciente: si la línea es positiva, haga más, si la línea es negativa, haga vacío. La estrategia utiliza la posición completa para operar y rastrea la posición a través de la variable de estado.

Ventajas estratégicas

  1. Análisis multidimensional: combina las tres dimensiones de la forma de los precios, la amplitud y el volumen de transacciones para mejorar la fiabilidad de la señal.
  2. Negociación bidireccional: permite capturar oportunidades bidireccionales en el mercado y aprovechar las fluctuaciones del mismo.
  3. Gestión de riesgos: utiliza la gestión de fondos porcentual y puede establecer condiciones de parada de pérdidas con flexibilidad.
  4. Soporte de visualización: proporciona una visualización gráfica de las señales de negociación para facilitar su análisis y optimización.
  5. Gestión de estado clara: control preciso de la tenencia de la posición a través de las variables de estado, para evitar la reapertura de la posición.

Riesgo estratégico

  1. Riesgo de brechas falsas: puede haber falsas formas de absorción en mercados convulsivos, lo que puede conducir a señales falsas.
  2. Efecto de los puntos de deslizamiento: puede haber un deslizamiento mayor en el mercado cuando hay una gran volatilidad, lo que afecta el efecto de las operaciones reales.
  3. Riesgo de gestión de fondos: el método de negociación de posición completa puede conllevar un mayor margen de riesgo.
  4. La latencia de la señal: la señal se confirma solo después del cierre de la línea K, lo que puede perder el mejor momento de entrada.

Dirección de optimización de la estrategia

  1. Introducir filtros de tendencia: Se recomienda agregar una línea media o un indicador de tendencia como filtro de dirección para mejorar la calidad de la señal.
  2. Optimización de la gestión de fondos: el tamaño de las posiciones se puede ajustar en función de la volatilidad del mercado.
  3. Mecanismos de detención de pérdidas: Se recomienda la configuración de detención dinámica de pérdidas en combinación con los indicadores ATR para mejorar la capacidad de control de riesgos.
  4. Aumentar el filtro de tiempo: se puede agregar un filtro de tiempo de transacción para evitar períodos de baja eficiencia.
  5. Confirmación de la señal de optimización: se puede agregar un indicador de volumen de negocios u otros indicadores técnicos como confirmación auxiliar.

Resumir

La estrategia construye un sistema de negociación completo a través de un análisis multidimensional de la forma de la línea K, la amplitud y el volumen de transacciones. Aunque existe un cierto riesgo, la estabilidad y la confiabilidad de la estrategia se pueden mejorar aún más mediante la orientación de optimización recomendada. La ventaja central de la estrategia radica en su método de análisis multidimensional y un mecanismo de gestión de estado perfeccionado, adecuado para su aplicación en entornos de mercado de gran volatilidad.

Código Fuente de la Estrategia
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-10 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Candle Absorption Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// Условия индикатора
// 1. Две соседних свечи должны быть разнонаправленными
condition1 = (close[1] > open[1] and close < open) or (close[1] < open[1] and close > open)

// 2. Дельта по цене открытия/закрытия у первой свечи меньше, чем у следующей
delta1 = math.abs(close[1] - open[1])
delta2 = math.abs(close - open)
condition2 = delta1 < delta2

// 3. Объем первой свечи должен быть больше, а последней меньше
condition3 = volume[1] > volume and volume < volume[2]

// Проверяем выполнение всех условий
all_conditions = condition1 and condition2 and condition3

// Определяем направление для входа
is_bullish = close > open  // Зеленая свеча больше (бычье поглощение)
is_bearish = close < open  // Красная свеча больше (медвежье поглощение)

// Переменные для отслеживания состояния позиции
var float entryPrice = na
var bool isLong = false
var bool isShort = false

// Логика генерации сигналов
buySignal = all_conditions and is_bullish and not isLong
sellSignal = all_conditions and is_bearish and not isShort

// Обработка лонгового входа
if (buySignal)
    isLong := true
    isShort := false
    entryPrice := close
    strategy.entry("Long", strategy.long)

// Обработка шортового входа
if (sellSignal)
    isLong := false
    isShort := true
    entryPrice := close
    strategy.entry("Short", strategy.short)

// Визуализация точек поглощения
// if all_conditions
//     label.new(bar_index, high, "✔", color=is_bullish ? color.green : color.red, textcolor=color.white, style=label.style_circle, size=size.small)

// Логика сброса состояния при закрытии позиции
if (strategy.position_size == 0)
    isLong := false
    isShort := false
    entryPrice := na

// Дополнительно: можно добавить стоп-лосс и тейк-профит (пример ниже)
// strategy.exit("Exit Long", from_entry="Long", stop=low - atr(14), limit=high + atr(14))
// strategy.exit("Exit Short", from_entry="Short", stop=high + atr(14), limit=low - atr(14))