Estratégia do operador institucional baseada na ação de preços

Autora:ChaoZhang, Data: 2024-02-23 15:04:39
Tags:

img

Resumo

Esta estratégia é chamada de Estratégia de Traders Institucionais Baseada em Ação de Preço. Tenta tirar proveito de certos padrões de negociação usados por traders institucionais, particularmente sua tendência a colocar ordens em torno de blocos de ordens específicos. A estratégia incorpora elementos de valor justo, liquidez e ação de preços para determinar entradas e saídas do mercado.

Estratégia lógica

O núcleo da estratégia consiste na identificação de blocos de ordens, áreas de preços onde houve atividade de negociação institucional significativa no passado. Estas áreas estão associadas a uma liquidez significativa. Os blocos de ordens são determinados utilizando estruturas de preços e são frequentemente associados a níveis de preços técnicos chave.

O valor justo é definido como o preço razoável de um instrumento baseado em indicadores como médias móveis.

A liquidez é também um fator fundamental, uma vez que os operadores institucionais tendem a executar operações em zonas de elevada liquidez.

A estratégia determina o valor justo através do cálculo de uma média móvel simples. Em seguida, identifica blocos de ordens potenciais de comprimento de 20 períodos. Se a diferença entre o preço de fechamento e o valor justo for inferior a 38,2% da altura total do intervalo do bloco de ordens, um bloco de ordens é determinado.

Os blocos de ordens de alta são considerados sinais de compra. Os blocos de ordens de baixa são considerados sinais de venda.

Análise das vantagens

As principais vantagens da estratégia são a utilização dos padrões de negociação dos traders institucionais, que podem permitir-lhe superar as estratégias mais baseadas em indicadores mecanicistas.

Outras vantagens incluem:

  • Obter uma melhor execução através da liquidez
  • Confiando em conceitos fáceis de visualizar como o fluxo de ordem
  • Fácil de visualizar blocos de ordem em gráficos
  • Flexibilidade para ajustar parâmetros como o comprimento do bloco

Análise de riscos

A estratégia enfrenta igualmente alguns riscos potenciais, tais como:

  • Confiança em julgamentos sobre o comportamento dos preços no passado
  • Pode não funcionar adequadamente em mercados sem fluxo de encomendas
  • Pode produzir sinais falsos.
  • Pode perder tendências de curto prazo

Para mitigar estes riscos, recomenda-se considerar:

  • Combinação com outros indicadores para filtrar falsos sinais
  • Ajustando parâmetros como comprimento do bloco
  • Filtragem dos sinais emitidos para negociação

Orientações de otimização

Aqui estão algumas potenciais otimizações para a estratégia:

  1. Teste e otimize valores de parâmetros-chave como comprimento do bloco e percentagem de desvio do justo valor
  2. Adicionar indicadores e filtros adicionais para melhorar a qualidade
  3. Construir mecanismos de stop loss e take profit
  4. Incorporar mais fontes de dados como a atividade da carteira de pedidos
  5. Testar a robustez em diferentes períodos (intradiário, multidiário, etc.) e mercados
  6. Adicionar previsões de aprendizado de máquina para sinais de filtragem

Resumo

Em resumo, a estratégia oferece uma abordagem única para tirar proveito do comportamento do comerciante institucional. Ele mistura vários elementos e tem certas vantagens. Mas como a maioria das estratégias de negociação, também enfrenta riscos quando as condições do mercado mudam ou ocorre um comportamento inesperado dos preços. Com testes contínuos, otimização e gerenciamento de riscos, a estratégia pode se tornar uma valiosa ferramenta de negociação quantitativa.


/*backtest
start: 2024-01-23 00:00:00
end: 2024-02-22 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("ICT Strategy", overlay=true)

// Input variables
length = input.int(20, minval=1, title="Order Block Length")
fairValuePeriod = input.int(60, minval=1, title="Fair Value Period")

// Calculate fair value
fairValue = ta.sma(close, fairValuePeriod)

// Determine order blocks
isOrderBlock(high, low) =>
    highestHigh = ta.highest(high, length)
    lowestLow = ta.lowest(low, length)
    absHighLowDiff = highestHigh - lowestLow
    absCloseFairValueDiff = (close - fairValue)
    (absCloseFairValueDiff <= 0.382 * absHighLowDiff)

isBuyBlock = isOrderBlock(high, low) and close > fairValue
isSellBlock = isOrderBlock(high, low) and close < fairValue

// Plot fair value and order blocks
plot(fairValue, color=color.blue, title="Fair Value")
plotshape(isBuyBlock, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(isSellBlock, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)

// Strategy logic
if (isBuyBlock)
    strategy.entry("Buy", strategy.long)
    
if (isSellBlock)
    strategy.entry("Sell", strategy.short)


Mais.