Estrategia cuantitativa de flujo de pedidos institucionales de múltiples niveles y sistema de optimización dinámica de almacenes

PCT VOL MA OB
Fecha de creación: 2024-12-27 15:01:36 Última modificación: 2024-12-27 15:01:36
Copiar: 1 Número de Visitas: 519
1
Seguir
1617
Seguidores

Estrategia cuantitativa de flujo de pedidos institucionales de múltiples niveles y sistema de optimización dinámica de almacenes

Descripción general

La estrategia es un sistema de trading inteligente basado en el flujo de órdenes institucionales, que predice posibles puntos de reversión de precios al identificar bloques de órdenes en el mercado. El sistema adopta una solución de gestión dinámica de subalmacenes para optimizar la gestión de posiciones a través de posiciones objetivo de tres niveles para maximizar las ganancias. El núcleo de la estrategia es capturar los rastros de precios generados por el comportamiento comercial institucional e identificar niveles de precios importantes a través del análisis estadístico de puntos altos y bajos.

Principio de estrategia

La estrategia se basa en varios elementos clave:

  1. Identificación de bloques de órdenes: identifique bloques de órdenes de compra y venta analizando patrones de velas utilizando una ventana retrospectiva de 20 períodos. Un bloque de compra se confirma mediante la cooperación de la vela bajista anterior y la vela alcista actual, mientras que lo opuesto es cierto para un bloque de venta.
  2. Control del tiempo de negociación: limita la negociación al período de negociación principal de 09:30 a 16:00, evitando los períodos de apertura y cierre con mayor volatilidad.
  3. Lógica de entrada: abrir una posición larga cuando el precio rompe el bloque de orden de compra y está dentro de la sesión de negociación, y abrir una posición corta cuando el precio rompe el bloque de orden de venta.
  4. Gestión de almacén: adopta un plan de gestión de almacén de tres niveles del 50%-30%-20%, que corresponden a posiciones objetivo del 0,5%, 1,0% y 1,5% respectivamente.

Ventajas estratégicas

  1. Identificación inteligente de órdenes: capture con precisión los puntos de precios clave para que los fondos grandes abran y cierren posiciones a través del análisis dinámico de puntos altos y bajos.
  2. Diversificación de riesgos: el diseño del almacén de tres niveles diversifica eficazmente los riesgos, garantizando que las ganancias se guarden de forma segura y dando a las tendencias un amplio margen para desarrollarse.
  3. Filtrado de tiempo: al limitar el tiempo de negociación, podemos evitar períodos de alta volatilidad del mercado y mejorar la estabilidad de las transacciones.
  4. Soporte de visualización: la estrategia proporciona una visualización clara de los bloques de órdenes, lo que facilita que los operadores comprendan la estructura del mercado.

Riesgo estratégico

  1. Riesgo de falsas rupturas: en un mercado lateral, puede haber múltiples señales de falsas rupturas. Se recomienda filtrarlas en combinación con indicadores de volatilidad.
  2. Impacto del deslizamiento: en un mercado con liquidez insuficiente, la toma de ganancias divididas puede verse afectada por el deslizamiento. Se recomienda ajustar el intervalo de posición objetivo de manera adecuada.
  3. Dependencia de la tendencia: las estrategias funcionan mejor en mercados con tendencia, pero pueden generar operaciones frecuentes en mercados volátiles.

Dirección de optimización de la estrategia

  1. Adaptación de la volatilidad: se recomienda introducir el indicador ATR para ajustar dinámicamente el porcentaje objetivo de acuerdo con las fluctuaciones del mercado.
  2. Análisis del flujo de órdenes: se puede combinar con el análisis de volumen para aumentar la confirmación de bloques de órdenes.
  3. Ventana de tiempo dinámica: considere ajustar dinámicamente el período retrospectivo en función de las condiciones del mercado para mejorar la adaptabilidad de la estrategia.
  4. Control de riesgo mejorado: se agregó un límite de reducción máxima y un límite de pérdida diaria para mejorar la solidez de la estrategia.

Resumir

Esta estrategia construye un sistema comercial completo a través del análisis del flujo de órdenes institucionales y la gestión dinámica del almacén. A través de la identificación de bloques de órdenes y la configuración de stop-profit de múltiples niveles, podemos capturar oportunidades para operaciones de gran capital y lograr un control de riesgos efectivo. Se recomienda que los comerciantes presten atención a la elección del entorno de mercado en el comercio real y ajusten la configuración de los parámetros de acuerdo con las circunstancias específicas.

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


//@version=6
strategy("Institutional Order Flow Strategy", overlay=true)

// Input settings
inputSession = input("0930-1600", "Trading Session") // Trading session
lookbackPeriod = input.int(20, "Order Block Lookback Period", minval=1) // Lookback for Order Blocks
target1Pct = input.float(0.5, "Target 1 (% move)", step=0.1, minval=0.1) // First profit target
target2Pct = input.float(1.0, "Target 2 (% move)", step=0.1, minval=0.1) // Second profit target
target3Pct = input.float(1.5, "Target 3 (% move)", step=0.1, minval=0.1) // Third profit target

// Order Block identification
highestHigh = ta.highest(high, lookbackPeriod)
lowestLow = ta.lowest(low, lookbackPeriod)
orderBlockBuy = ta.valuewhen(close[1] < open[1] and close > open, highestHigh, 0)
orderBlockSell = ta.valuewhen(close[1] > open[1] and close < open, lowestLow, 0)

// Entry logic
inSession = true
longCondition = close > orderBlockBuy and inSession
shortCondition = close < orderBlockSell and inSession

// Strategy entries
if longCondition
    strategy.entry("Long", strategy.long)

if shortCondition
    strategy.entry("Short", strategy.short)

// Calculate targets for scaling out
longTarget1 = strategy.position_avg_price + strategy.position_avg_price * target1Pct / 100
longTarget2 = strategy.position_avg_price + strategy.position_avg_price * target2Pct / 100
longTarget3 = strategy.position_avg_price + strategy.position_avg_price * target3Pct / 100

shortTarget1 = strategy.position_avg_price - strategy.position_avg_price * target1Pct / 100
shortTarget2 = strategy.position_avg_price - strategy.position_avg_price * target2Pct / 100
shortTarget3 = strategy.position_avg_price - strategy.position_avg_price * target3Pct / 100

// Exit logic with scaling out
if strategy.position_size > 0
    strategy.exit("Target 1", from_entry="Long", limit=longTarget1, qty_percent=50)
    strategy.exit("Target 2", from_entry="Long", limit=longTarget2, qty_percent=30)
    strategy.exit("Target 3", from_entry="Long", limit=longTarget3, qty_percent=20)

if strategy.position_size < 0
    strategy.exit("Target 1", from_entry="Short", limit=shortTarget1, qty_percent=50)
    strategy.exit("Target 2", from_entry="Short", limit=shortTarget2, qty_percent=30)
    strategy.exit("Target 3", from_entry="Short", limit=shortTarget3, qty_percent=20)

// Visualize Order Blocks
plot(orderBlockBuy, "Order Block Buy", color=color.green, linewidth=2, style=plot.style_line)
plot(orderBlockSell, "Order Block Sell", color=color.red, linewidth=2, style=plot.style_line)