Version 1.1.0 · NinjaTrader 8 Primeiro o contexto. Depois a pressão. A execução por último. Trade less. Trade better. Trade with clarity.
© 2026 TTW Trading Systems PTE. LTD. · Flow.42 Analytics · All rights reserved.
Sobre este guia
Este guia explica o que o Flow.42 AbsorptionMap mostra no seu gráfico, as ideias por trás dele e todas as configurações que você pode mudar. Ele é escrito para traders, não para programadores: você não precisa saber nada dos detalhes internos para usar bem a ferramenta.
O AbsorptionMap é uma ferramenta de contexto e visualização. Ele destaca áreas de preço onde a compra ou a venda agressiva foi absorvida em vez de mover o preço. Não é um sinal de trade automático e não te diz quando comprar ou vender. Use-o como um dos insumos do seu próprio processo.
1. O que o AbsorptionMap faz
O AbsorptionMap encontra e marca os níveis de preço onde a participação agressiva do mercado foi absorvida por um contra-fluxo oculto: os momentos em que os compradores empurraram e empurraram mas o preço não subiu, ou em que os vendedores martelaram para baixo sem fazer novas mínimas.
Ele lê o mercado em três camadas:
- Os desequilíbrios encontram os níveis de preço dentro de cada barra onde um lado do order flow claramente dominou.
- Os clusters agrupam desequilíbrios repetidos em preços próximos em uma única zona de absorção.
- A lógica de absorção então observa cada zona e faz a pergunta-chave: o fluxo agressivo venceu, ou foi absorvido?
Uma camada opcional de DOM Defense lê o book de ofertas ao vivo (Level 2 / Market Depth) e verifica se o lado que absorve também está visível como uma liquidez em repouso incomumente pesada, defendendo o nível.
O AbsorptionMap não é um gatilho de entrada autônomo. Ele mostra onde um nível provavelmente foi defendido, onde uma virada pode estar se formando e onde o respeito ao preço é significativo.
2. O que você vê no gráfico
O AbsorptionMap pode desenhar cinco coisas:
1. Marcadores em losango ficam no nível de preço da absorção. O formato e o preenchimento mostram o quão madura e o quão forte é a leitura:
- Só o anel, sem losango: estágio mais inicial (Live Warning)
- Losango vazado: candidato (inicial, ainda não confirmado)
- Losango preenchido esmaecido: provisório (provável confirmação em breve)
- Losango preenchido sólido: absorção confirmada
- Losango sólido com um anel externo: absorção confirmada forte
2. O tom de fundo do cluster colore a zona subjacente em uma cor de absorção esmaecida, para que o nível fique ancorado no gráfico à medida que o preço se afasta.
3. Um rótulo compacto ABS / DOM ao lado do losango mostra, num relance, a agressão absorvida (ABS) e, quando presente, a defesa de DOM (DOM).
4. O rótulo DOM Defense aparece acima da zona quando o book de ofertas defendeu o nível com uma liquidez significativamente acima da média.
5. O tooltip de hover aparece quando o seu mouse se aproxima de um marcador. Ele mostra o estágio, o contexto de alta ou de baixa, o nível de absorção e os limites da zona, a agressão absorvida em contratos e o Peak Signal Score.
Lógica de cores
- Absorção de baixa → OrangeRed. A compra agressiva foi absorvida por vendedores ocultos. Os compradores se esgotaram contra uma parede. A expectativa é de pressão para baixo.
- Absorção de alta → LimeGreen. A venda agressiva foi absorvida por compradores ocultos. Os vendedores se esgotaram contra uma parede. A expectativa é de pressão para cima.
A cor segue o lado do agressor absorvido, não o lado do movimento esperado: a mesma convenção que as ferramentas de Volume Profile e footprint usam. A leitura direcional segue automaticamente: compradores absorvidos significam um contexto de baixa, vendedores absorvidos significam um contexto de alta.
3. Conceitos centrais
3.1 O que é absorção?
Imagine o mercado como um leilão gigante com dois lados em cada preço: compradores oferecendo para levantar, vendedores oferecendo para bater.
Na maior parte do tempo, quando um lado fica agressivo, o preço se move. Compradores agressivos comem as ofertas e o preço sobe um tick. Vendedores agressivos comem os bids e o preço cai um tick. Comportamento normal.
Mas às vezes o lado agressivo empurra e empurra, e o preço se recusa a andar. Pense numa criança tentando abrir uma porta pesada. Ela empurra uma, duas, três vezes, e a porta não se move, porque alguém do outro lado está segurando ela fechada.
Esse alguém é a parte que absorve:
- Compradores agressivos levantam a oferta de novo e de novo, comendo contratos, mas uma parede de vendedores ocultos reabastece a oferta na mesma velocidade em que os compradores a comem. A agressão é absorvida. Quando os compradores ficam sem convicção, o preço cai: não sobra comprador nenhum e há vendedor de sobra.
- Vendedores agressivos despejam no bid de novo e de novo, mas compradores ocultos reabastecem o bid igualmente rápido. A agressão é absorvida. Quando os vendedores se esgotam, o preço sobe: o bid segurou como uma fortaleza.
A tarefa do AbsorptionMap é identificar esses momentos antes que a virada fique óbvia, combinando três sinais: uma pegada de desequilíbrio (volume agressivo empilhado em um lado), uma falha em romper (o preço não passou da zona depois do empurrão) e a DOM defense opcional (o book em repouso está mais pesado que o normal no lado que absorve). Quando os três se alinham, você tem um marcador de alta confiança. Quando só alguns se alinham, você tem uma leitura mais antecipada e menos certa, e é por isso que o AbsorptionMap usa estágios progressivos.
3.2 Desequilíbrios: os blocos de construção
Para cada barra completa, o AbsorptionMap compara o volume de compra contra o volume de venda diagonalmente entre níveis de preço adjacentes.
Um bid imbalance é o domínio do lado comprador: o volume de compra em um preço é esmagadoramente maior que o volume de venda um nível abaixo. Um ask imbalance é o espelho: o volume de venda em um preço esmagadoramente maior que o volume de compra um nível acima.
O que conta como "esmagadoramente" é definido pelo Imbalance Ratio (padrão 3.0: um lado precisa ser pelo menos três vezes o outro lado na diagonal).
Desequilíbrios isolados são ruidosos. Os futuros de índice produzem dezenas por barra. Eles só ficam úteis quando formam um cluster.
3.3 Clusters: as zonas de absorção
Um cluster é um grupo de desequilíbrios que são próximos em preço (dentro de Cluster Price Tolerance ticks), acontecem dentro de uma janela curta (dentro de Cluster Window (Bars)) e, juntos, atingem uma contagem mínima (Min Imbalances in Cluster) e um volume total mínimo (Min Cluster Volume).
Um cluster representa uma pressão unilateral sustentada em uma zona: o momento da "criança empurrando a porta". A pergunta que vem em seguida é se a porta segurou (absorção) ou abriu (continuação).
Cada cluster mantém uma identidade estável à medida que é reavaliado barra a barra, de modo que um nível pode ser acompanhado ao longo do tempo sem perder o seu histórico.
3.4 Os estágios progressivos
O AbsorptionMap não espera a confirmação completa antes de mostrar algo. Ele revela um nível à medida que ele se desenvolve, para você acompanhar a sua formação em tempo real.
- Live Warning: o primeiro sinal. A leitura cruzou o limiar de alerta. A zona está fresca, a defesa é parcial, nenhuma virada está visível ainda. Trate como "fique de olho neste nível". Desenhado como só um anel.
- Candidate: há evidência mais forte: uma falha em romper, uma pequena resposta contrária, DOM defense ou uma retomada. Trate como "este nível está ativo". Desenhado como um losango vazado.
- Provisional: o período de espera passou e a checagem de absorção disparou, mas a confirmação completa ainda está pendente. Trate como "operável com confirmação". Desenhado como um losango preenchido esmaecido.
- Confirmed: as checagens passaram: uma falha em romper mais uma reação de preço ou continuação. Trate como "absorção comprovada". Desenhado como um losango preenchido sólido.
Os estágios só avançam, nunca retrocedem. Depois que um marcador é confirmado, os seus detalhes congelam para que o visual não pisque nos ticks seguintes. O Live Warning é o único estágio que fica intencionalmente ao vivo e continua se refinando até promover ou expirar. Um desfecho oculto separado, "desconfirmado", cobre os níveis onde o preço claramente rompeu. Esses não são desenhados de forma alguma.
3.5 Absorção forte vs. fraca
Dois limiares, ambos medidos em pontos, definem o nível de força:
- O Weak Threshold é o quanto o preço teria precisado andar para romper a zona. Se o preço ficou dentro ou só saiu de raspão, a absorção é pelo menos fraca: algo segurou.
- O Strong Threshold é o quanto o preço reverteu na direção oposta depois da absorção. Se o preço reverteu além dessa distância da zona, a absorção é forte: algo segurou e depois quicou.
Uma absorção forte é o clássico "a parede segurou mais o quique". Uma absorção fraca é "a parede segurou, o preço ficou de lado", útil como contexto de zona, mas menos acionável para entradas.
Importante para instrumentos que não são de índice: no NinjaTrader, um ponto equivale a uma unidade completa de preço. Para o ES isso são 4 ticks; para o CL são 100 ticks. Os limiares padrão (2.0 / 3.0 pontos) são calibrados para o ES. O CL precisa de valores bem menores. Comece pelo template do CL, veja a Seção 8.
3.6 DOM Defense
A DOM Defense lê o book de ofertas ao vivo e pergunta: o lado que absorve está mostrando uma liquidez em repouso incomumente pesada agora?
A ferramenta aprende uma linha de base móvel de liquidez normal do book ao longo de DOM Baseline Seconds (padrão 300 = cinco minutos). Quando a liquidez atual no lado relevante excede essa linha de base por DOM Defense Multiplier (padrão 2.5×) e permanece assim por DOM Persistence Samples snapshots consecutivos, a zona é marcada como defendida por DOM.
A DOM defense eleva o Peak Signal Score, pode ser exigida antes que um Candidate seja permitido (quando Require DOM Defense For Candidate está ligado) e dispara o seu próprio rótulo DOM Defense acima da zona.
A DOM defense é restrita à sessão por design, mesmo quando o resto do indicador roda o tempo todo. Se você quiser marcadores de DOM fora das janelas de sessão que configurou, ligue o Ignore Session Filter.
3.7 Peak Signal Score
Toda leitura de absorção carrega uma pontuação de 0 a 100 que reflete quanta evidência de apoio está presente. A pontuação sobe com: DOM defense no lado que absorve, uma pequena resposta contrária logo depois do cluster, o quanto da zona o preço retomou, uma falha em romper na direção original e o tamanho do volume agressivo absorvido.
O Peak Signal Score é a maior pontuação que a leitura já atingiu. Ele é grudento: nunca diminui. Você pode filtrar os marcadores visíveis por ele usando o Min Signal Score To Show: coloque em 50 para esconder os Live Warnings mais ruidosos, mantendo todo Candidate e acima.
4. Adaptive Scaling (opcional)
O volume não é constante ao longo do dia. A abertura é barulhenta, o almoço é calmo, o fechamento acelera de novo. Um Min Volume que está certo na abertura vai ser rígido demais no almoço, e um valor que está certo no almoço vai ser frouxo demais na abertura.
O Adaptive Scaling resolve isso escalando o Min Volume e o Min Cluster Volume automaticamente ao longo da curva típica de volume intradiário. Os valores que você define servem de âncora para a fase mais ativa da sessão; durante as fases mais calmas, os limiares efetivos caem em direção aos seus pisos. Carregue pelo menos cinco dias de histórico do gráfico para que a curva fique bem formada.
- Min Volume Floor e Min Cluster Volume Floor definem os limites inferiores. Pontos de partida recomendados são cerca de 50% do Min Volume e cerca de 75% do Min Cluster Volume.
- Use Day Factor adapta adicionalmente ao ritmo geral do dia atual, comparando o volume acumulado de hoje com o volume acumulado típico no mesmo horário. Ajuda em dias incomumente calmos e em meias sessões, e nunca eleva os limiares acima dos seus valores de âncora.
- Adaptive Label mostra uma pequena caixa de status arrastável com o fator adaptativo atual e os limiares efetivos. A maioria dos usuários não vai precisar dela.
Se você prefere um limiar fixo e previsível, deixe o Adaptive Scaling desligado (o padrão).
5. Sessões e saídas de automação
O filtro de sessão limita quando as leituras de absorção podem ocorrer. Duas janelas podem ser configuradas: uma janela de Pre-Market e uma janela de RTH (Regular Trading Hours).
Como as regras se combinam:
- Se o Ignore Session Filter está ligado, todos os horários de sessão são ignorados: as leituras podem ocorrer o tempo todo.
- Se ele está desligado e ao menos uma janela está habilitada, apenas as leituras dentro de uma janela ativa são mantidas.
- Se ele está desligado e ambas as janelas estão desabilitadas, os marcadores de DOM não vão aparecer (o DOM é estritamente restrito à sessão). Os marcadores de absorção ainda podem aparecer, porque, sem nenhuma janela configurada, a lógica de absorção não aplica gating.
Para instrumentos 24/5 como o CL, ligue o Ignore Session Filter ou defina uma janela de RTH longa que cubra as suas horas de operação.
Formato de horário. Os horários de sessão aceitam vários formatos (15:00, 3:00 PM, 15:00:00) e são lidos no fuso horário local do seu sistema. Se um valor não puder ser lido, um aviso aparece na janela Output do NinjaTrader ao carregar o gráfico.
Os horários de sessão de fábrica são placeholders genéricos no seu horário local. Sempre ajuste-os para combinar com o instrumento e o fuso horário que você de fato opera. Os templates descritos na Seção 8 trazem janelas de exemplo no horário da Europa Central.
Saídas de automação
O AbsorptionMap publica três saídas que o BloodHound e ferramentas de automação parecidas conseguem ler. Os nomes das saídas trazem o prefixo BloodHound por razões históricas; qualquer ferramenta capaz de se conectar a um plot de indicador lê essas saídas da mesma forma:
| Saída | Valor |
|---|---|
| BloodHound Absorption Long Signal | +1 em uma leitura long |
| BloodHound Absorption Short Signal | −1 em uma leitura short |
| BloodHound Absorption Signal | +1 ou −1, as duas direções em uma única saída |
As saídas são plotadas de forma transparente, então elas nunca desenham nada no seu gráfico.
Leia a direção com atenção. A saída te dá a direção do trade, não o lado do book em que o desequilíbrio estava. A venda absorvida produz uma saída Long, porque os vendedores não conseguiram mover o preço. A compra absorvida produz uma saída Short, porque os compradores falharam. Isso é o inverso do que a leitura literal de bid e ask sugere, e também é o inverso das saídas do VolImbalance, onde um bid imbalance é de alta. Se você montar um template de automação que use os dois indicadores, ligue cada um pelo nome da própria saída e não presuma que as duas combinam.
Só leituras confirmadas disparam. Uma leitura provisória ainda pode cair, então ela nunca produz uma saída. Isso é proposital. Um sinal que some depois é pior num backtest do que um sinal que chega atrasado.
Espere um atraso. A saída aparece Wait Bars barras depois que o cluster se formou, cinco por padrão. Esse é o tempo que o AbsorptionMap precisa para ver se o preço se afastou da zona ou não.
Depois de uma recarga. As leituras confirmadas que voltam do cache persistente de marcadores são escritas de novo nas suas próprias barras, então as saídas ficam iguais depois de uma recarga do gráfico ao que eram ao vivo.
O histórico precisa de Tick Replay. O AbsorptionMap lê negócios, não barras. Nas barras históricas os negócios só ficam disponíveis quando o Tick Replay está ligado na Data Series (clique com o botão direito no gráfico, Data Series, Tick Replay). Ligado, o histórico carregado é avaliado como uma sessão ao vivo e as saídas são preenchidas em cada barra histórica. Desligado, as barras históricas não carregam footprints, então nenhuma leitura nova pode se formar nelas: o único histórico que você vê são as leituras confirmadas que voltam do cache persistente de marcadores, e as saídas carregam exatamente essas. Se o Tick Replay estiver desligado e o cache não guardar nada para o histórico carregado, o AbsorptionMap mostra uma caixa de aviso no gráfico e escreve uma linha no Control Center Log. A caixa é compartilhada com o VolImbalance no mesmo gráfico, então aparece uma vez por gráfico. Nunca é escrito nada na janela NinjaScript Output.
Todo o histórico é legível. As saídas mantêm seus valores em cada barra carregada (o look-back é ilimitado desde a versão de setembro de 2026), então uma ferramenta de automação pode ler uma barra anterior da sessão ou de um dia anterior, e um NinjaScript pode indexar bem para trás sem erro.
Outros valores são publicados para outros módulos do Flow.42. Eles não têm plot e não podem ser selecionados no BloodHound nem em nenhuma ferramenta parecida.
6. Uso prático
Contexto de entrada conservador: mostre apenas leituras totalmente formadas. Desligue Show Provisional Marker, desligue Show Weak Absorption, coloque Min Signal Score To Show em 60 e ligue Require DOM Defense For Candidate. Você verá menos marcadores, mas os que vir são níveis de virada de maior qualidade.
Consciência de scalp em tempo real: veja as leituras o mais cedo possível, aceitando que algumas não vão vingar. Ligue Show Provisional Marker, ligue Show Weak Absorption, coloque Min Signal Score To Show em 0 e abaixe Live Warning Score (por exemplo, para 30). Você verá os anéis de Live Warning dispararem cedo. Use-os como alertas para observar, não como entradas.
Companheiro de Volume Profile / footprint: destaque apenas as zonas com volume absorvido sério. Aumente Min Absorbed Aggression para um valor adequado ao instrumento, aumente Min Cluster Volume e coloque Min Signal Score To Show em 50. Isso filtra os micro-clusters e mostra apenas as paredes de absorção macro.
Rotina multi-instrumento: comece pelo template de gráfico do instrumento, veja a Seção 8. As configurações mais sensíveis ao instrumento são Min Volume, Min Cluster Volume e os pontos de limiar; ajuste esses primeiro.
7. Referência completa de parâmetros
Toda configuração visível ao usuário está listada abaixo, agrupada pelas seções que você vê no painel de propriedades do NinjaTrader. "Default" é o valor com que o indicador vem de fábrica.
01 Imbalance Filter
| Setting | Default | O que faz |
|---|---|---|
| Min Volume | 50 | O menor volume de negócios necessário em um nível de preço antes que um desequilíbrio possa ser usado. |
| Max Volume | -1 | O maior volume de negócios permitido em um nível de preço. Use -1 para não ter limite superior. |
| Imbalance Ratio | 3.0 | Quantas vezes maior o volume de um lado precisa ser em relação ao outro lado na diagonal para contar como desequilíbrio. 3.0 significa pelo menos três para um. Faixa 1.0 a 10.0. |
| Zero Opposing = Extreme Imbalance | On | Trata o volume oposto diagonal igual a zero como um desequilíbrio extremo, para que a detecção ainda funcione nos extremos de preço, onde um lado nunca imprimiu. |
01a Adaptive Scaling
| Setting | Default | O que faz |
|---|---|---|
| Adaptive Scaling | Off | Escala o Min Volume e o Min Cluster Volume automaticamente com a curva típica de volume intradiário. Os valores que você define ancoram a fase mais ativa. Carregue pelo menos cinco dias de histórico. |
| Min Volume Floor | 25 | Limite inferior para o Min Volume escalado. Recomendado cerca de 50% do Min Volume. |
| Min Cluster Volume Floor | 300 | Limite inferior para o Min Cluster Volume escalado. Recomendado cerca de 75% do Min Cluster Volume. |
| Use Day Factor | Off | Também adapta os limiares ao ritmo do dia atual versus um dia típico. Ajuda em dias calmos e meias sessões. Nunca eleva os limiares acima das suas âncoras. |
| Adaptive Label | Off | Mostra uma pequena caixa de status arrastável com o fator adaptativo atual e os limiares efetivos. A maioria dos usuários não vai precisar dela. |
02 Cluster Detection
| Setting | Default | O que faz |
|---|---|---|
| Cluster Price Tolerance (Ticks) | 3 | Distância máxima de preço, em ticks, para dois desequilíbrios pertencerem ao mesmo cluster. |
| Min Imbalances in Cluster | 3 | O menor número de desequilíbrios necessário para formar um cluster válido. Faixa 2 a 20. |
| Min Cluster Volume | 400 | O menor volume total do cluster (a soma dos volumes dos desequilíbrios que o compõem) antes de o cluster qualificar. |
| Cluster Lookback Bars | 200 | Quantas barras recentes são varridas ao reconstruir os clusters. Valores maiores mantêm os clusters antigos vivos por mais tempo. Faixa 50 a 500. |
| Cluster Window (Bars) | 8 | Distância máxima em barras entre o primeiro e o último desequilíbrio dentro de um cluster. Faixa 1 a 100. |
03 Absorption Detection
| Setting | Default | O que faz |
|---|---|---|
| Enable Absorption Detection | On | Liga a checagem de absorção confirmada, que dispara depois do período de espera. |
| Wait Bars | 5 | Barras a esperar depois que um cluster se forma antes de rodar a classificação final de absorção. Faixa 2 a 20. |
| Weak Threshold (Points) | 2.0 | Tamanho de movimento esperado em pontos. Se o preço não andou tudo isso além da zona, a absorção pode ser classificada como fraca. Um ponto = uma unidade completa de preço (ES = 4 ticks, CL = 100 ticks). |
| Strong Threshold (Points) | 3.0 | Tamanho do movimento oposto (reversão) em pontos. Se o preço reverte por essa distância depois do cluster, a absorção é classificada como forte. Mesma convenção de pontos. |
| Show Provisional Marker | On | Mostra o marcador esmaecido antecipado antes da confirmação final. Desligue para uma exibição só de confirmados. |
| Min Absorbed Aggression | 0 | Esconde os marcadores em que o volume agressivo absorvido está abaixo deste valor. 0 desliga o filtro. |
| Show Weak Absorption | On | Mostra os marcadores fracos de candidato, provisório e confirmado. Os anéis de Live Warning continuam visíveis de qualquer jeito. |
04 Early Absorption
| Setting | Default | O que faz |
|---|---|---|
| Enable Early Absorption | On | Liga as camadas de Live Warning e Candidate, a parte inicial do ciclo de vida progressivo. |
| Early Window Seconds | 6 | Por quantos segundos depois de um cluster o marcador de pontuação inicial permanece ativo. Depois disso, só a confirmação por wait bars pode disparar. Faixa 1 a 30. |
| Min Follow Through Ticks | 3 | Movimento de continuação esperado em ticks. Se o preço não andou tudo isso na direção agressiva original, a checagem de falha em romper eleva a pontuação inicial. Faixa 1 a 20. |
| Reclaim Threshold Percent | 50 | Porcentagem da altura da zona que o preço precisa retomar para ganhar um ponto de retomada. 50 = o meio da zona. Faixa 0 a 100. |
| Min Opposite Response Ticks | 2 | O menor movimento contra a direção do cluster necessário para contar um ponto de resposta. Faixa 1 a 10. |
| Live Warning Score | 35 | Pontuação em que o anel de Live Warning aparece. Faixa 0 a 100. |
| Candidate Score | 60 | Pontuação em que um Live Warning promove a um losango Candidate. Faixa 0 a 100. |
| Min Signal Score To Show | 0 | Esconde todos os marcadores cujo Peak Signal Score está abaixo deste valor. 0 desliga o filtro. |
05 DOM Confluence
| Setting | Default | O que faz |
|---|---|---|
| Enable DOM Confluence | On | Usa a liquidez do book de ofertas ao vivo como contexto extra para os clusters ativos. Exige uma janela de sessão ativa ou Ignore Session Filter = on; caso contrário, os marcadores de DOM não aparecem. |
| DOM Levels | 5 | Número de níveis de bid e de ask (top-N) somados para a contagem de liquidez. Faixa 1 a 20. |
| DOM Sample Interval (ms) | 500 | Milissegundos entre os snapshots do book de ofertas. Menor é mais responsivo, mas usa mais CPU. Faixa 100 a 5000. |
| DOM Baseline Seconds | 300 | Segundos usados para aprender a liquidez normal do book de ofertas. O snapshot atual é comparado à média dessa janela. Faixa 30 a 3600. |
| DOM Defense Multiplier | 2.5 | O quanto mais pesada a liquidez atual precisa ser em relação à linha de base para contar como defesa. 2.5 = 250% do normal. Faixa 1.0 a 20.0. |
| DOM Min Samples | 60 | Mínimo de snapshots antes de a linha de base ser considerada válida. Cerca de 30 segundos no intervalo padrão. |
| DOM Persistence Samples | 3 | Snapshots qualificados consecutivos necessários antes de marcar a DOM defense. Filtra picos de um único tick. Faixa 1 a 20. |
| Show DOM Defense Label | Off | Mostra o rótulo DOM separado perto do marcador. Exige Show Marker Details = on e uma sessão ativa (ou Ignore Session Filter). A pontuação de DOM ainda funciona quando este rótulo está escondido. |
| Require DOM Defense For Candidate | Off | Um portão de promoção: uma leitura só pode virar Candidate quando a DOM defense está presente. Não afeta a visibilidade de Live Warning, Provisional ou Confirmed. |
| Hide Clusters Without DOM Defense | Off | Um filtro completo de visibilidade: clusters que nunca alcançaram a DOM defense ficam totalmente escondidos, sem losango, anel, tom ou rótulo. Mais forte que o portão acima. |
06 Visualization
| Setting | Default | O que faz |
|---|---|---|
| Show Diamond Markers | On | Interruptor mestre de todos os visuais ligados ao cluster. Quando desligado, nenhum losango, anel ou zona tingida é desenhado (o tom de fundo é suprimido independentemente da sua própria configuração). Os rótulos de DOM são controlados à parte. |
| Recolor Cluster Background | On | Tinge a zona do cluster com a cor de absorção. Este é o recurso individual visualmente mais caro. |
| Diamond Size (Pixels) | 12 | Tamanho do marcador em losango, em pixels. Faixa 5 a 30. |
| Marker Opacity % | 80 | Opacidade do preenchimento do marcador, 10 a 100. |
| Bearish Absorption Color | OrangeRed | Cor usada quando a compra agressiva foi absorvida (contexto de baixa). |
| Bullish Absorption Color | LimeGreen | Cor usada quando a venda agressiva foi absorvida (contexto de alta). |
| Marker Background Color | Black | Cor de fundo atrás do rótulo compacto de agressão absorvida. |
| Marker Font Color | White | Cor do texto do rótulo compacto de agressão absorvida. |
07 Marker Details
| Setting | Default | O que faz |
|---|---|---|
| Show Marker Details | On | Mostra o valor compacto de agressão absorvida ao lado de cada marcador. |
| Show Detail Tooltip | On | Mostra o tooltip completo de várias linhas (nível, zona, agressão absorvida, pico de pontuação) quando você passa o mouse perto de um marcador. |
08 Persistent Cache
| Setting | Default | O que faz |
|---|---|---|
| Enable 5-Day Marker Cache | On | Salva os eventos calculados de absorção e de DOM para que reapareçam depois de uma recarga do gráfico. |
| Marker Cache Days | 5 | Número de dias corridos para manter os eventos salvos. Eventos mais antigos são removidos. Faixa 1 a 5. |
09 Session Settings
| Setting | Default | O que faz |
|---|---|---|
| Ignore Session Filter | Off | Quando ligado, nenhum gating de sessão é aplicado: as leituras podem ocorrer a qualquer hora. Também é o jeito mais simples de deixar os marcadores de DOM aparecerem sem configurar nenhuma janela. |
| Use Pre-Market | On | Habilita a janela de sessão Pre-Market. |
| Pre Market Start (HH:mm) | 09:00 | Horário de início do Pre-Market, no seu horário local. |
| Pre Market End (HH:mm) | 13:00 | Horário de fim do Pre-Market, no seu horário local. |
| Use RTH | On | Habilita a janela de Regular Trading Hours. |
| RTH Start (HH:mm) | 15:00 | Horário de início do RTH, no seu horário local. |
| RTH End (HH:mm) | 22:00 | Horário de fim do RTH, no seu horário local. |
10 Auction Engine
Estas duas configurações só fazem algo quando o Flow.42 AuctionEngine está no mesmo gráfico. Sem nenhum engine presente, elas não têm efeito e o indicador se comporta exatamente como antes.
| Setting | Default | O que faz |
|---|---|---|
| Auction Modulation | Subtle | Controla como o contexto do AuctionEngine afeta os marcadores do AbsorptionMap. Marcadores alinhados com a leitura do leilão (continuação) ficam em opacidade total; marcadores contra a leitura são atenuados: de leve enquanto a localização ainda apoia a leitura, e com força assim que a localização a ameaça. Off = sem atenuação. Opções: Off, Subtle, Strong. |
| Auction Context | Live | Qual leitura de leilão dirige a atenuação. Live = a leitura atual do engine, aplicada a todos os marcadores (combina com a operação ao vivo). Historical = cada marcador é julgado pelo leilão como ele estava na própria barra dele, para você estudar o comportamento passado, inclusive num mercado fechado. Historical não aplica atenuação em barras mais antigas que a janela de histórico do engine. |
8. Pontos de partida por instrumento
Não copie configurações de um documento. Cada versão do Flow.42 vem com templates de gráfico e templates de indicador para os instrumentos que nós mesmos operamos: ES, MES, NQ, MNQ, CL, GC e BTCUSD. Esses templates são a referência para as configurações do AbsorptionMap. Eles carregam o ajuste atual e são atualizados a cada versão, por isso não ficam desatualizados como uma tabela em um guia.
O template de gráfico é a versão ativa. Ele carrega o gráfico Flow.42 completo para o instrumento, AbsorptionMap incluído, com as configurações que combinam com aquele instrumento. Clique com o botão direito no gráfico, escolha Templates, depois Load, e selecione o template Flow.42 do seu instrumento.
O template de indicador carrega só o AbsorptionMap. Abra as propriedades do AbsorptionMap, clique em Template na parte de baixo da janela e depois em Load. O nome do arquivo diz para qual tipo de barra as configurações foram feitas, por exemplo NQ 1min ou GC 5min. Em um tipo de gráfico mais lento, escale os limiares de volume para cima. Em um gráfico de tick mais fino, escale-os para baixo.
Os padrões de fábrica da Seção 7 são calibrados para o ES. Em qualquer outro instrumento, comece pelo template, não pelos padrões. As configurações mais sensíveis ao instrumento são Min Volume, Min Cluster Volume e os dois pontos de limiar. Se você ajustar algo à mão, comece por esses. Os pontos de limiar seguem a convenção de pontos da Seção 3.5: um ponto é uma unidade completa de preço. Para o ES isso são 4 ticks, para o CL são 100 ticks. É por isso que o CL precisa de limiares bem menores que os futuros de índice.
Os templates são pontos de partida, não ótimos de backtest. As janelas de sessão nos templates são exemplos no horário da Europa Central. Ajuste-as ao seu próprio fuso horário e valide na sua própria configuração antes de comprometer capital.
Uma rotina de validação para qualquer instrumento
Depois de carregar um template, faça uma checagem de sanidade de uma a duas semanas.
- Contagem de marcadores por sessão RTH. Como guia aproximado, o ES tende a mostrar de 5 a 20 eventos, o NQ de 8 a 25, o CL de 3 a 15. Bem mais que isso significa que as suas configurações estão sensíveis demais; bem menos significa rígidas demais.
- Proporção de forte para fraca. Uma mistura saudável é de cerca de uma forte para cada três a cinco fracas. Se tudo é forte, aumente o Strong Threshold; se nada é, abaixe-o.
- Confira o histórico por amostragem. Escolha alguns dos marcadores de ontem e pergunte honestamente: "eu teria operado isso?". Ajuste a partir daí.
9. Solução de problemas
Não vejo nenhum marcador. Abaixe o Min Volume e o Min Cluster Volume para confirmar que o engine está produzindo alguma coisa. Abaixe um pouco o Imbalance Ratio (digamos, de 3.0 para 2.5). Coloque Min Signal Score To Show em 0 para que nenhum filtro de qualidade esteja escondendo tudo. Confirme que você está dentro de uma janela de sessão configurada, ou ligue o Ignore Session Filter. Cheque a janela Output em busca de avisos.
Os losangos aparecem, mas os rótulos de DOM nunca. O DOM é restrito à sessão: se tanto o Pre-Market quanto o RTH estão desligados e o Ignore Session Filter está desligado, os rótulos de DOM não podem aparecer. Habilite uma janela ou ligue o Ignore Session Filter. O seu feed de dados precisa fornecer Level 2 / Market Depth; alguns feeds de varejo não fornecem. A linha de base de DOM também precisa dos seus snapshots mínimos antes de a defesa poder disparar, então espere cerca de um minuto depois de conectar.
Um marcador aparece ao vivo, mas some na recarga. Confirme que o Enable 5-Day Marker Cache está ligado. Depois de uma atualização, uma reconstrução única do cache é normal: os novos marcadores se formam a partir dos dados ao vivo. Confirme que o Marker Cache Days é grande o bastante para o seu padrão de recarga.
As barras históricas não mostram nenhuma leitura; só as barras ao vivo recebem marcadores. O Tick Replay está desligado na Data Series e o cache persistente de marcadores não guarda nada para o histórico carregado (um instrumento novo, uma instalação recente ou mais dias do que Marker Cache Days). Ligue o Tick Replay para um histórico calculado, ou aceite que as leituras comecem com os dados ao vivo. A caixa de aviso única no gráfico diz em qual caso você está; o indicador não tem defeito nenhum (Seção 5).
Não aparece mais nada na janela NinjaScript Output. É intencional desde a versão de setembro de 2026: o AbsorptionMap não escreve nada ali. Falhas reais chegam ao Control Center Log, uma vez por origem e sessão.
Anéis de Live Warning demais, poucos promovem a Candidate. Aumente o Live Warning Score (digamos, de 35 para 40). Ligue o Require DOM Defense For Candidate para impedir que warnings fracos promovam. Em instrumentos de book fino, abaixe o DOM Defense Multiplier (para perto de 2.0) para que a defesa dispare com mais frequência, ou deixe a exigência off.
Todos os meus eventos são fracos, nenhum é forte. Abaixe o Strong Threshold (Points). Para o CL, o padrão do ES é grande demais. Veja a Seção 8. Confirme também que as barras sob o cluster de fato carregam volume de negócios; com quase nenhum negócio, não há o que reverter.
O gráfico está lento em instrumentos de alto volume. Aumente o DOM Sample Interval (de 500 para 750 ou 1000) para aliviar a carga do book de ofertas. Aumente o Min Volume e o Min Cluster Volume para acompanhar menos desequilíbrios. Desligue o Recolor Cluster Background: a zona tingida é o visual individual mais caro. Se você não precisa de atualizações dentro da barra, considere o modo de cálculo OnBarClose.
10. Notas de performance
OnBarClose é o modo de cálculo mais leve; use-o se você não precisa de atualizações dentro da barra. OnPriceChange é o equilíbrio recomendado para operação ao vivo: ele atualiza a cada tick, mas mantém a renderização eficiente. Aumentar o Min Volume filtra as impressões minúsculas cedo e é o jeito mais barato de reduzir a carga. A renderização é o principal custo por frame, e o Recolor Cluster Background é o recurso individual mais caro. As atualizações de DOM são limitadas pelo DOM Sample Interval. Aumente-o se o seu feed for ruidoso. O cache persistente grava com pouca frequência, então a atividade de disco é desprezível. Rodar muitos gráficos está tudo bem; não há estado compartilhado por gráfico para colidir.
11. Glossário
- Absorção: volume de negócios agressivo que não moveu o preço, porque uma liquidez em repouso oculta ou um contra-fluxo o absorveu.
- Bid imbalance: domínio do lado comprador: volume de compra em um preço muito maior que o volume de venda um nível abaixo.
- Ask imbalance: domínio do lado vendedor: volume de venda em um preço muito maior que o volume de compra um nível acima.
- Cluster: um grupo de desequilíbrios próximos em preço e tempo que juntos formam uma zona de absorção.
- Live Warning: estágio mais inicial; só um anel. A leitura cruzou o limiar de alerta, mas ainda sem nenhuma exigência adicional.
- Candidate: segundo estágio; um losango vazado. Há evidência mais forte e, se exigida, a DOM defense está no lugar.
- Provisional: terceiro estágio; um losango preenchido esmaecido. O período de espera passou e a checagem de absorção disparou, mas a confirmação completa está pendente.
- Confirmed: quarto estágio; um losango preenchido sólido. A checagem final disparou e os detalhes ficam congelados.
- Absorção forte: uma leitura confirmada em que o preço reverteu pelo menos o Strong Threshold além da zona.
- Absorção fraca: uma leitura confirmada em que o preço segurou dentro ou saiu de raspão da zona, sem uma reversão forte.
- DOM (Depth of Market): liquidez em repouso no book de ofertas ao longo de vários níveis.
- DOM Defense: a liquidez atual do book de ofertas no lado que absorve excedendo a sua linha de base móvel pelo DOM Defense Multiplier.
- Peak Signal Score: a maior pontuação que uma leitura atingiu durante a sua vida. Grudento; nunca diminui.
- Agressão absorvida: os contratos agressivos que foram absorvidos na zona; mostrados no rótulo compacto ABS.
12. Changelog
Versão 1.2.0 (versão de setembro de 2026)
- Os ajustes por instrumento agora vêm dos templates do Flow.42 (Seção 8).
- A Seção 5 explica Tick Replay e o histórico. Um recarregamento reproduz as saídas ao vivo.
- Look-back ilimitado em todas as saídas. Nenhuma mensagem na janela NinjaScript Output.
Version 1.1.0
- Saídas de automação para o BloodHound e sistemas parecidos, documentadas na Seção 5: uma saída long, uma short e uma combinada.
- Nota sobre como ler a direção, que é a direção do trade e não o lado bruto de bid ou ask.
Version 1.0.0
Lançamento público inicial do Guia do Usuário do AbsorptionMap.
- Identidade de cluster estável que não se desloca entre os ciclos de detecção.
- Ciclo de vida progressivo de leitura: Live Warning, Candidate, Provisional, Confirmed, mais um nível Strong.
- Adaptive Scaling opcional para o volume por hora do dia e por ritmo do dia.
- Confluência de DOM Defense com uma linha de base móvel e filtragem por persistência.
- Cache persistente de marcadores para que as leituras sobrevivam a uma recarga do gráfico.
- Integração opcional com o Flow.42 AuctionEngine, que atenua marcadores contra a leitura.
- Configurações iniciais sugeridas para ES, NQ e CL.
Flow.42 AbsorptionMap: detecção de absorção de order flow baseada em clusters, com confluência opcional de DOM defense e um cache persistente de marcadores.
© 2026 TTW Trading Systems PTE. LTD. · Flow.42 Analytics · All rights reserved.