Estratégia quantitativa de fluxo de pedidos institucionais multinível e sistema de otimização dinâmica de depósito

PCT VOL MA OB
Data de criação: 2024-12-27 15:01:36 última modificação: 2024-12-27 15:01:36
cópia: 1 Cliques: 519
1
focar em
1617
Seguidores

Estratégia quantitativa de fluxo de pedidos institucionais multinível e sistema de otimização dinâmica de depósito

Visão geral

A estratégia é um sistema de negociação inteligente baseado no fluxo de ordens institucionais, que prevê potenciais pontos de reversão de preços identificando blocos de ordens no mercado. O sistema adota uma solução dinâmica de gerenciamento de subarmazéns para otimizar o gerenciamento de posições por meio de posições-alvo de três níveis para maximizar os lucros. O cerne da estratégia é capturar os rastros de preços gerados pelo comportamento de negociação institucional e identificar níveis de preços importantes por meio de análise estatística de pontos altos e baixos.

Princípio da estratégia

A estratégia é baseada em vários elementos-chave:

  1. Identificação de blocos de ordens - Identifique blocos de ordens de compra e venda analisando padrões de velas usando uma janela de retrospectiva de 20 períodos. Um bloco de compra é confirmado pela cooperação da vela de baixa anterior e da vela de alta atual, enquanto o oposto é verdadeiro para um bloco de venda.
  2. Controle de tempo de negociação - limite a negociação ao período principal de negociação, das 09h30 às 16h, evitando os períodos de abertura e fechamento com maior volatilidade.
  3. Lógica de entrada: abra uma posição longa quando o preço ultrapassar o bloco de ordens de compra e estiver dentro da sessão de negociação, e abra uma posição curta quando o preço ultrapassar o bloco de ordens de venda.
  4. Gestão de armazém - adota um plano de gestão de armazém de três níveis de 50%-30%-20%, correspondendo a posições-alvo de 0,5%, 1,0% e 1,5%, respectivamente.

Vantagens estratégicas

  1. Identificação Inteligente de Ordens - Capture com precisão os principais pontos de preço para grandes fundos para abrir e fechar posições por meio de análise dinâmica de pontos altos e baixos.
  2. Diversificação de riscos - O design do depósito de três níveis diversifica efetivamente os riscos, garantindo que os lucros sejam embolsados ​​com segurança e, ao mesmo tempo, dando às tendências amplo espaço para se desenvolver.
  3. Filtragem de tempo - Ao limitar o tempo de negociação, podemos evitar períodos de alta volatilidade do mercado e melhorar a estabilidade das transações.
  4. Suporte de visualização - A estratégia fornece uma visualização clara dos blocos de ordens, facilitando a compreensão da estrutura do mercado pelos traders.

Risco estratégico

  1. Risco de falso rompimento - Em um mercado lateral, pode haver vários sinais falsos de rompimento. É recomendado filtrá-los em combinação com indicadores de volatilidade.
  2. Impacto do slippage - Em um mercado com liquidez insuficiente, a tomada de lucro dividida pode ser afetada pelo slippage. É recomendado ajustar o intervalo da posição alvo apropriadamente.
  3. Dependência de tendências - As estratégias têm melhor desempenho em mercados com tendências, mas podem gerar negociações frequentes em mercados voláteis.

Direção de otimização da estratégia

  1. Adaptação da Volatilidade - Recomenda-se introduzir o indicador ATR para ajustar dinamicamente a porcentagem alvo de acordo com as flutuações do mercado.
  2. Análise de fluxo de pedidos - pode ser combinada com análise de volume para aumentar a confirmação de blocos de pedidos.
  3. Janela de tempo dinâmica - Considere ajustar dinamicamente o período de retrospectiva com base nas condições de mercado para melhorar a adaptabilidade da estratégia.
  4. Controle de risco aprimorado - limite máximo de retirada e limite de perda diária adicionados para melhorar a robustez da estratégia.

Resumir

Essa estratégia cria um sistema de negociação completo por meio de análise de fluxo de ordens institucionais e gerenciamento dinâmico de depósitos. Por meio da identificação de blocos de ordens e da definição de stop-profit em vários níveis, podemos capturar oportunidades para grandes operações de capital e obter um controle de risco eficaz. É recomendável que os traders prestem atenção à escolha do ambiente de mercado em negociações reais e ajustem as configurações dos parâmetros de acordo com circunstâncias específicas.

Código-fonte da estratégia
/*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)