Esta estratégia é chamada de
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
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.
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:
A estratégia enfrenta igualmente alguns riscos potenciais, tais como:
Para mitigar estes riscos, recomenda-se considerar:
Aqui estão algumas potenciais otimizações para a estratégia:
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)