Version 1.1.0 · NinjaTrader 8 Prima il contesto. Poi la pressione. L'esecuzione per ultima. Trade less. Trade better. Trade with clarity.
© 2026 TTW Trading Systems PTE. LTD. · Flow.42 Analytics · All rights reserved.
Informazioni su questa guida
Questa guida spiega cosa mostra Flow.42 AbsorptionMap sul tuo grafico, le idee che ci stanno dietro e ogni impostazione che puoi modificare. È scritta per i trader, non per i programmatori: non hai bisogno di sapere nulla del funzionamento interno per usare bene lo strumento.
AbsorptionMap è uno strumento di contesto e visualizzazione. Evidenzia le aree di prezzo dove acquisti o vendite aggressive sono stati assorbiti invece di muovere il prezzo. Non è un segnale di trading automatico e non ti dice quando comprare o vendere. Usalo come uno degli elementi del tuo processo decisionale.
1. Cosa fa AbsorptionMap
AbsorptionMap individua e segna i livelli di prezzo dove una partecipazione aggressiva del mercato è stata assorbita da un flusso contrario nascosto: i momenti in cui i compratori hanno spinto e spinto senza far salire il prezzo, o in cui i venditori hanno martellato al ribasso senza segnare nuovi minimi.
Legge il mercato su tre livelli:
- Gli squilibri individuano, all'interno di ogni barra, i livelli di prezzo dove un lato dell'Order Flow ha chiaramente dominato.
- I cluster raggruppano squilibri ripetuti a prezzi vicini in un'unica zona di assorbimento.
- La logica di assorbimento osserva poi ogni zona e si pone la domanda chiave: il flusso aggressivo ha vinto, oppure è stato assorbito?
Un livello opzionale di DOM Defense legge il book degli ordini in tempo reale (Level 2 / Market Depth) e verifica se il lato che assorbe è visibile anche come liquidità in attesa insolitamente pesante a difesa del livello.
AbsorptionMap non è un trigger di ingresso a sé stante. Mostra dove un livello è stato probabilmente difeso, dove può formarsi un'inversione e dove il rispetto del prezzo ha un significato.
2. Cosa vedi sul grafico
AbsorptionMap può disegnare cinque cose:
1. Marcatori a rombo posizionati sul livello di prezzo dell'assorbimento. La forma e il riempimento indicano quanto è maturo e quanto è forte il segnale:
- Solo anello, nessun rombo: stadio iniziale (Live Warning)
- Rombo vuoto: candidato (in anticipo, non ancora confermato)
- Rombo pieno sbiadito: provvisorio (probabile conferma a breve)
- Rombo pieno compatto: assorbimento confermato
- Rombo pieno con anello esterno: assorbimento confermato forte
2. Tinta di sfondo del cluster colora la zona sottostante con un colore di assorbimento sbiadito, così il livello resta ancorato sul grafico mentre il prezzo si allontana.
3. Etichetta compatta ABS / DOM accanto al rombo mostra a colpo d'occhio l'aggressione assorbita (ABS) e, quando presente, la difesa del book (DOM).
4. Etichetta DOM Defense compare sopra la zona quando il book degli ordini ha difeso il livello con una liquidità nettamente superiore alla media.
5. Tooltip al passaggio del mouse compare quando avvicini il puntatore a un marcatore. Mostra lo stadio, il contesto rialzista o ribassista, il livello di assorbimento e i limiti della zona, l'aggressione assorbita in contratti e il Peak Signal Score.
Logica dei colori
- Assorbimento ribassista → OrangeRed. Acquisti aggressivi sono stati assorbiti da venditori nascosti. I compratori si sono esauriti contro un muro. Ci si aspetta pressione al ribasso.
- Assorbimento rialzista → LimeGreen. Vendite aggressive sono state assorbite da compratori nascosti. I venditori si sono esauriti contro un muro. Ci si aspetta pressione al rialzo.
Il colore segue il lato dell'aggressore assorbito, non il lato del movimento atteso: la stessa convenzione usata dagli strumenti Volume Profile e footprint. La lettura direzionale ne segue in automatico: compratori assorbiti significa contesto ribassista, venditori assorbiti significa contesto rialzista.
3. Concetti fondamentali
3.1 Cos'è l'assorbimento?
Immagina il mercato come una gigantesca asta con due lati a ogni prezzo: compratori che offrono di sollevare, venditori che offrono di colpire.
La maggior parte delle volte, quando un lato diventa aggressivo, il prezzo si muove. I compratori aggressivi mangiano le offerte e il prezzo sale di un tick. I venditori aggressivi mangiano le domande e il prezzo scende di un tick. Comportamento normale.
Ma a volte il lato aggressivo spinge e spinge, e il prezzo si rifiuta di muoversi. Pensa a un bambino che cerca di aprire una porta pesante. Spinge una, due, tre volte, e la porta non si muove, perché qualcuno dall'altra parte la tiene chiusa.
Quel qualcuno è la parte che assorbe:
- I compratori aggressivi sollevano l'offerta più e più volte, mangiando contratti, ma un muro di venditori nascosti riempie di nuovo l'offerta con la stessa rapidità con cui i compratori la mangiano. L'aggressione viene assorbita. Quando ai compratori finisce la convinzione, il prezzo scende: non restano compratori e i venditori sono in abbondanza.
- I venditori aggressivi scaricano sulla domanda più e più volte, ma compratori nascosti riempiono di nuovo la domanda con la stessa velocità. L'aggressione viene assorbita. Quando i venditori si esauriscono, il prezzo sale: la domanda ha tenuto come una fortezza.
Il compito di AbsorptionMap è cogliere questi momenti prima che l'inversione diventi evidente, combinando tre segnali: un'impronta di squilibrio (volume aggressivo accumulato su un lato), un mancato breakout (il prezzo non è andato oltre la zona dopo la spinta) e una DOM defense opzionale (il book in attesa è più pesante del normale sul lato che assorbe). Quando i tre elementi si allineano, ottieni un marcatore ad alta affidabilità. Quando se ne allineano solo alcuni, ottieni una lettura più anticipata e meno certa: è per questo che AbsorptionMap usa stadi progressivi.
3.2 Squilibri: i mattoni
Per ogni barra completata, AbsorptionMap confronta il volume in acquisto con il volume in vendita, in diagonale tra livelli di prezzo adiacenti.
Un bid imbalance è un dominio del lato acquisti: il volume in acquisto a un prezzo è nettamente maggiore del volume in vendita un livello sotto. Un ask imbalance è lo specchio: volume in vendita a un prezzo nettamente maggiore del volume in acquisto un livello sopra.
Cosa conta come "nettamente" è definito da Imbalance Ratio (default 3.0: un lato deve essere almeno tre volte l'altro lato in diagonale).
I singoli squilibri sono rumorosi. I future sugli indici ne producono decine per barra. Diventano utili solo quando formano un cluster.
3.3 Cluster: le zone di assorbimento
Un cluster è un gruppo di squilibri vicini nel prezzo (entro i tick di Cluster Price Tolerance), che avvengono in una finestra breve (entro Cluster Window (Bars)) e che insieme raggiungono un conteggio minimo (Min Imbalances in Cluster) e un volume totale minimo (Min Cluster Volume).
Un cluster rappresenta una pressione prolungata su un solo lato in una zona: il momento del "bambino che spinge la porta". La domanda che segue è se la porta ha tenuto (assorbimento) o si è aperta (continuazione).
Ogni cluster mantiene un'identità stabile mentre viene rivalutato barra dopo barra, così un livello può essere seguito nel tempo senza perdere la sua storia.
3.4 Gli stadi progressivi
AbsorptionMap non aspetta la conferma completa prima di mostrare qualcosa. Rivela un livello man mano che si sviluppa, così puoi vederlo formarsi in tempo reale.
- Live Warning: il primo segnale. La lettura ha superato la soglia di allerta. La zona è fresca, la difesa è parziale, nessuna inversione è ancora visibile. Consideralo come "tieni d'occhio questo livello". Disegnato solo come anello.
- Candidate: sono presenti prove più forti: un mancato breakout, una piccola reazione contraria, una DOM defense o un recupero. Consideralo come "questo livello è attivo". Disegnato come rombo vuoto.
- Provisional: il periodo di attesa è trascorso e il controllo di assorbimento è scattato, ma la conferma completa è ancora in sospeso. Consideralo come "operabile con conferma". Disegnato come rombo pieno sbiadito.
- Confirmed: i controlli sono passati: un mancato breakout più una reazione del prezzo o una prosecuzione. Consideralo come "assorbimento dimostrato". Disegnato come rombo pieno compatto.
Gli stadi avanzano soltanto, non tornano mai indietro. Una volta confermato un marcatore, i suoi dettagli si congelano così il visuale non tremola sui tick successivi. Live Warning è l'unico stadio che resta volutamente attivo e continua a rifinirsi finché non promuove o scade. Un esito nascosto separato, "disconfirmed", copre i livelli dove il prezzo ha chiaramente sfondato: quelli non vengono disegnati affatto.
3.5 Assorbimento forte vs. debole
Due soglie, entrambe misurate in punti, definiscono il livello di forza:
- Weak Threshold è quanto il prezzo avrebbe dovuto viaggiare per rompere la zona. Se il prezzo è rimasto dentro o ne è uscito appena, l'assorbimento è almeno debole: qualcosa ha tenuto.
- Strong Threshold è quanto il prezzo si è invertito nella direzione opposta dopo l'assorbimento. Se il prezzo si è invertito oltre questa distanza dalla zona, l'assorbimento è forte: qualcosa ha tenuto e poi ha rimbalzato.
Un assorbimento forte è il classico "il muro ha tenuto più rimbalzo". Un assorbimento debole è "il muro ha tenuto, prezzo piatto": utile come contesto della zona, ma meno operabile per gli ingressi.
Importante per gli strumenti non indicizzati: in NinjaTrader, un punto equivale a un'intera unità di prezzo. Per ES sono 4 tick; per CL sono 100 tick. Le soglie di default (2.0 / 3.0 punti) sono tarate per ES. CL richiede valori molto più piccoli. Parti dal template CL, vedi la Sezione 8.
3.6 DOM Defense
DOM Defense legge il book degli ordini in tempo reale e chiede: il lato che assorbe sta mostrando in questo momento una liquidità in attesa insolitamente pesante?
Lo strumento apprende una baseline mobile della liquidità normale del book su DOM Baseline Seconds (default 300 = cinque minuti). Quando la liquidità corrente sul lato rilevante supera quella baseline di DOM Defense Multiplier (default 2.5×), e vi resta per DOM Persistence Samples rilevazioni consecutive, la zona viene segnalata come difesa dal DOM.
La DOM defense alza il Peak Signal Score, può essere richiesta prima che sia consentito un Candidate (quando Require DOM Defense For Candidate è attivo) e attiva la propria etichetta DOM Defense sopra la zona.
La DOM defense è per progetto vincolata alla sessione, anche quando il resto dell'indicatore lavora 24 ore su 24. Se vuoi i marcatori DOM al di fuori delle finestre di sessione configurate, attiva Ignore Session Filter.
3.7 Peak Signal Score
Ogni lettura di assorbimento porta con sé un punteggio da 0 a 100 che riflette quante prove concordanti sono presenti. Il punteggio sale con: la DOM defense sul lato che assorbe, una piccola reazione contraria subito dopo il cluster, quanta parte della zona il prezzo ha recuperato, un mancato breakout nella direzione originale e la dimensione del volume aggressivo assorbito.
Il Peak Signal Score è il punteggio più alto che la lettura abbia mai raggiunto. È persistente: non diminuisce mai. Puoi filtrare i marcatori visibili con Min Signal Score To Show: impostalo su 50 per nascondere i Live Warning più rumorosi mantenendo ogni Candidate e superiore.
4. Adaptive Scaling (opzionale)
Il volume non è costante durante la giornata. L'apertura è rumorosa, il pranzo è tranquillo, la chiusura riprende. Un Min Volume fisso giusto in apertura sarà troppo rigido a pranzo, e un valore giusto a pranzo sarà troppo largo in apertura.
Adaptive Scaling risolve la cosa scalando automaticamente Min Volume e Min Cluster Volume lungo la tipica curva del volume intraday. I valori che imposti fanno da ancora per la fase più attiva della sessione; nelle fasi più tranquille le soglie effettive scendono verso i loro minimi. Carica almeno cinque giorni di storico del grafico così la curva è ben formata.
- Min Volume Floor e Min Cluster Volume Floor definiscono i limiti inferiori. I punti di partenza consigliati sono circa il 50% di Min Volume e circa il 75% di Min Cluster Volume.
- Use Day Factor adatta inoltre le soglie al ritmo complessivo della giornata in corso, confrontando il volume cumulato di oggi con il tipico volume cumulato alla stessa ora. Aiuta nelle giornate insolitamente tranquille e nelle mezze sessioni, e non alza mai le soglie oltre i tuoi valori di ancoraggio.
- Adaptive Label mostra un piccolo riquadro di stato trascinabile con il fattore adattivo corrente e le soglie effettive. La maggior parte degli utenti non ne avrà bisogno.
Se preferisci una soglia fissa e prevedibile, lascia Adaptive Scaling disattivato (il default).
5. Sessioni e output di automazione
Il filtro di sessione limita quando possono avvenire le letture di assorbimento. Si possono configurare due finestre: una finestra Pre-Market e una finestra RTH (Regular Trading Hours).
Come si combinano le regole:
- Se Ignore Session Filter è attivo, tutti gli orari di sessione vengono ignorati: le letture possono avvenire 24 ore su 24.
- Se è disattivo e almeno una finestra è abilitata, vengono mantenute solo le letture all'interno di una finestra attiva.
- Se è disattivo ed entrambe le finestre sono disabilitate, i marcatori DOM non compaiono (il DOM è rigorosamente vincolato alla sessione). I marcatori di assorbimento possono comunque comparire, perché senza alcuna finestra configurata la logica di assorbimento non applica alcun vincolo.
Per gli strumenti 24/5 come CL, attiva Ignore Session Filter oppure imposta una lunga finestra RTH che copra i tuoi orari di trading.
Formato dell'ora. Gli orari di sessione accettano diversi formati (15:00, 3:00 PM, 15:00:00) e vengono letti nel fuso orario locale del tuo sistema. Se un valore non può essere letto, compare un avviso nella finestra Output di NinjaTrader al caricamento del grafico.
Gli orari di sessione di fabbrica sono segnaposto generici nella tua ora locale. Impostali sempre in base allo strumento e al fuso orario che effettivamente operi. I template descritti nella Sezione 8 contengono finestre di esempio in Central European Time.
Output di automazione
AbsorptionMap pubblica tre output che BloodHound e strumenti di automazione simili possono leggere. I nomi degli output portano il prefisso BloodHound per ragioni storiche; qualsiasi strumento in grado di agganciarsi al plot di un indicatore li legge allo stesso modo:
| Output | Valore |
|---|---|
| BloodHound Absorption Long Signal | +1 su una lettura long |
| BloodHound Absorption Short Signal | −1 su una lettura short |
| BloodHound Absorption Signal | +1 o −1, entrambe le direzioni in un solo output |
Gli output sono plottati in modo trasparente, quindi non disegnano mai nulla sul tuo grafico.
Leggi la direzione con attenzione. L'output ti dà la direzione del trade, non il lato del book su cui stava lo squilibrio. Le vendite assorbite producono un output Long, perché i venditori non sono riusciti a muovere il prezzo. Gli acquisti assorbiti producono un output Short, perché i compratori non ci sono riusciti. È il contrario di quello che suggerisce la dicitura grezza bid e ask, ed è anche il contrario degli output di VolImbalance, dove un bid imbalance è rialzista. Se costruisci un template di automazione che usa entrambi gli indicatori, collega ciascuno tramite il proprio nome di output e non dare per scontato che i due coincidano.
Scattano solo le letture confermate. Una lettura provvisoria può ancora venire meno, quindi non produce mai un output. È una scelta voluta. Un segnale che sparisce a posteriori è peggio, in un backtest, di un segnale che arriva tardi.
Aspettati un ritardo. L'output compare Wait Bars barre dopo la formazione del cluster, cinque per impostazione predefinita. È il tempo che serve ad AbsorptionMap per vedere se il prezzo si è allontanato dalla zona oppure no.
Dopo un ricaricamento. Le letture confermate che tornano dalla cache persistente dei marcatori vengono riscritte sulle proprie barre, così gli output appaiono dopo un ricaricamento del grafico esattamente come dal vivo.
Lo storico ha bisogno di Tick Replay. AbsorptionMap legge scambi, non barre. Sulle barre storiche gli scambi sono disponibili solo se Tick Replay è attivo per la Data Series (clic destro sul grafico, Data Series, Tick Replay). Se è attivo, lo storico caricato viene valutato come una sessione live e gli output vengono riempiti su ogni barra storica. Se è disattivato, le barre storiche non portano footprint, quindi su di esse non può formarsi nessuna nuova lettura: l'unico storico che vedi sono le letture confermate che tornano dalla cache persistente dei marcatori, e gli output portano esattamente quelle. Se Tick Replay è disattivato e la cache non contiene nulla per lo storico caricato, AbsorptionMap mostra un riquadro di avviso sul grafico e scrive una riga nel Control Center Log. Il riquadro è condiviso con VolImbalance sullo stesso grafico, quindi compare una volta per grafico. Nella finestra NinjaScript Output non viene mai scritto nulla.
L'intero storico è leggibile. Gli output mantengono i loro valori su ogni barra caricata (il look-back è illimitato dalla build di settembre 2026), quindi uno strumento di automazione può leggere una barra precedente della sessione o di un giorno prima, e un NinjaScript può indicizzare molto indietro senza errori.
Ulteriori valori vengono pubblicati per altri moduli Flow.42. Non hanno alcun plot e non sono selezionabili in BloodHound né in alcuno strumento simile.
6. Uso pratico
Contesto di ingresso conservativo: mostra solo letture completamente formate. Disattiva Show Provisional Marker, disattiva Show Weak Absorption, imposta Min Signal Score To Show su 60 e attiva Require DOM Defense For Candidate. Vedrai meno marcatori, ma quelli che vedi sono livelli di inversione di qualità più alta.
Consapevolezza per scalping in tempo reale: vedi le letture il prima possibile, accettando che alcune non andranno a buon fine. Attiva Show Provisional Marker, attiva Show Weak Absorption, imposta Min Signal Score To Show su 0 e abbassa Live Warning Score (per esempio a 30). Vedrai gli anelli Live Warning scattare in anticipo. Usali come allerte da osservare, non come ingressi.
Compagno di Volume Profile / footprint: evidenzia solo le zone con volume assorbito serio. Alza Min Absorbed Aggression a un valore adatto allo strumento, alza Min Cluster Volume e imposta Min Signal Score To Show su 50. Questo filtra i micro-cluster e mostra solo i muri di assorbimento macro.
Routine multi-strumento: parti dal template di grafico dello strumento, vedi la Sezione 8. Le impostazioni più sensibili allo strumento sono Min Volume, Min Cluster Volume e i punti delle soglie; regola prima quelli.
7. Riferimento completo dei parametri
Di seguito sono elencate tutte le impostazioni visibili all'utente, raggruppate secondo le sezioni che vedi nel pannello delle proprietà di NinjaTrader. "Default" è il valore con cui l'indicatore viene distribuito.
01 Imbalance Filter
| Setting | Default | Cosa fa |
|---|---|---|
| Min Volume | 50 | Volume minimo di scambio richiesto a un livello di prezzo prima che uno squilibrio possa essere usato. |
| Max Volume | -1 | Volume massimo di scambio consentito a un livello di prezzo. Usa -1 per nessun limite superiore. |
| Imbalance Ratio | 3.0 | Quante volte più grande deve essere il volume di un lato rispetto all'altro lato in diagonale per contare come squilibrio. 3.0 significa almeno tre a uno. Intervallo 1.0 a 10.0. |
| Zero Opposing = Extreme Imbalance | On | Tratta un volume opposto in diagonale pari a zero come uno squilibrio estremo, così il rilevamento funziona anche ai prezzi estremi dove un lato non ha mai stampato. |
01a Adaptive Scaling
| Setting | Default | Cosa fa |
|---|---|---|
| Adaptive Scaling | Off | Scala automaticamente Min Volume e Min Cluster Volume con la tipica curva del volume intraday. I valori che imposti fanno da ancora per la fase più attiva. Carica almeno cinque giorni di storico. |
| Min Volume Floor | 25 | Limite inferiore per il Min Volume scalato. Consigliato circa il 50% di Min Volume. |
| Min Cluster Volume Floor | 300 | Limite inferiore per il Min Cluster Volume scalato. Consigliato circa il 75% di Min Cluster Volume. |
| Use Day Factor | Off | Adatta inoltre le soglie al ritmo della giornata in corso rispetto a una giornata tipica. Aiuta nelle giornate tranquille e nelle mezze sessioni. Non alza mai le soglie oltre le tue ancore. |
| Adaptive Label | Off | Mostra un piccolo riquadro di stato trascinabile con il fattore adattivo corrente e le soglie effettive. La maggior parte degli utenti non ne avrà bisogno. |
02 Cluster Detection
| Setting | Default | Cosa fa |
|---|---|---|
| Cluster Price Tolerance (Ticks) | 3 | Distanza massima di prezzo, in tick, perché due squilibri appartengano allo stesso cluster. |
| Min Imbalances in Cluster | 3 | Numero minimo di squilibri necessari a formare un cluster valido. Intervallo 2 a 20. |
| Min Cluster Volume | 400 | Volume totale minimo del cluster (la somma dei volumi degli squilibri che lo compongono) perché il cluster sia valido. |
| Cluster Lookback Bars | 200 | Quante barre recenti vengono esaminate nel ricostruire i cluster. Valori più alti mantengono in vita più a lungo i cluster più vecchi. Intervallo 50 a 500. |
| Cluster Window (Bars) | 8 | Distanza massima in barre tra il primo e l'ultimo squilibrio all'interno di un cluster. Intervallo 1 a 100. |
03 Absorption Detection
| Setting | Default | Cosa fa |
|---|---|---|
| Enable Absorption Detection | On | Attiva il controllo di assorbimento confermato che scatta dopo il periodo di attesa. |
| Wait Bars | 5 | Barre da attendere dopo la formazione di un cluster prima di eseguire la classificazione finale dell'assorbimento. Intervallo 2 a 20. |
| Weak Threshold (Points) | 2.0 | Dimensione del movimento atteso in punti. Se il prezzo non ha viaggiato così tanto oltre la zona, l'assorbimento può essere classificato come debole. Un punto = un'intera unità di prezzo (ES = 4 tick, CL = 100 tick). |
| Strong Threshold (Points) | 3.0 | Dimensione del movimento opposto (di inversione) in punti. Se il prezzo si inverte di questa distanza dopo il cluster, l'assorbimento è classificato come forte. Stessa convenzione dei punti. |
| Show Provisional Marker | On | Mostra il marcatore sbiadito anticipato prima della conferma finale. Disattivalo per una visualizzazione dei soli confermati. |
| Min Absorbed Aggression | 0 | Nasconde i marcatori dove il volume aggressivo assorbito è sotto questo valore. 0 disattiva il filtro. |
| Show Weak Absorption | On | Mostra i marcatori candidate, provisional e confirmed deboli. Gli anelli Live Warning restano visibili in ogni caso. |
04 Early Absorption
| Setting | Default | Cosa fa |
|---|---|---|
| Enable Early Absorption | On | Attiva i livelli Live Warning e Candidate, la parte iniziale del ciclo progressivo. |
| Early Window Seconds | 6 | Per quanti secondi dopo un cluster resta attivo lo scorer anticipato. Dopo questo tempo, può scattare solo la conferma a wait-bars. Intervallo 1 a 30. |
| Min Follow Through Ticks | 3 | Movimento di continuazione atteso in tick. Se il prezzo non ha viaggiato così tanto nella direzione aggressiva originale, il controllo del mancato breakout alza il punteggio anticipato. Intervallo 1 a 20. |
| Reclaim Threshold Percent | 50 | Percentuale dell'altezza della zona che il prezzo deve recuperare per guadagnare un punto di recupero. 50 = il centro della zona. Intervallo 0 a 100. |
| Min Opposite Response Ticks | 2 | Movimento minimo contro la direzione del cluster necessario per contare un punto di reazione. Intervallo 1 a 10. |
| Live Warning Score | 35 | Punteggio al quale compare l'anello Live Warning. Intervallo 0 a 100. |
| Candidate Score | 60 | Punteggio al quale un Live Warning viene promosso a rombo Candidate. Intervallo 0 a 100. |
| Min Signal Score To Show | 0 | Nasconde tutti i marcatori il cui Peak Signal Score è sotto questo valore. 0 disattiva il filtro. |
05 DOM Confluence
| Setting | Default | Cosa fa |
|---|---|---|
| Enable DOM Confluence | On | Usa la liquidità del book in tempo reale come contesto aggiuntivo per i cluster attivi. Richiede una finestra di sessione attiva o Ignore Session Filter = on; altrimenti i marcatori DOM non compaiono. |
| DOM Levels | 5 | Numero di livelli bid e ask (i primi N) sommati per il conteggio della liquidità. Intervallo 1 a 20. |
| DOM Sample Interval (ms) | 500 | Millisecondi tra un'istantanea del book e l'altra. Un valore più basso è più reattivo ma usa più CPU. Intervallo 100 a 5000. |
| DOM Baseline Seconds | 300 | Secondi usati per apprendere la liquidità normale del book. L'istantanea corrente viene confrontata con la media di questa finestra. Intervallo 30 a 3600. |
| DOM Defense Multiplier | 2.5 | Quanto più pesante deve essere la liquidità corrente rispetto alla baseline per contare come difesa. 2.5 = 250% del normale. Intervallo 1.0 a 20.0. |
| DOM Min Samples | 60 | Numero minimo di istantanee prima che la baseline sia considerata valida. Circa 30 secondi all'intervallo di default. |
| DOM Persistence Samples | 3 | Istantanee qualificanti consecutive necessarie prima che venga marcata la DOM defense. Filtra i picchi di un solo tick. Intervallo 1 a 20. |
| Show DOM Defense Label | Off | Mostra l'etichetta DOM separata vicino al marcatore. Richiede Show Marker Details = on e una sessione attiva (o Ignore Session Filter). Il punteggio DOM funziona comunque anche quando questa etichetta è nascosta. |
| Require DOM Defense For Candidate | Off | Un vincolo di promozione: una lettura può diventare Candidate solo quando è presente una DOM defense. Non influisce sulla visibilità di Live Warning, Provisional o Confirmed. |
| Hide Clusters Without DOM Defense | Off | Un filtro di visibilità completo: i cluster che non hanno mai raggiunto la DOM defense vengono nascosti del tutto. Niente rombo, anello, tinta o etichetta. Più forte del vincolo sopra. |
06 Visualization
| Setting | Default | Cosa fa |
|---|---|---|
| Show Diamond Markers | On | Interruttore principale per tutti i visuali legati ai cluster. Quando è disattivo, non vengono disegnati rombi, anelli o zone tinte (la tinta di sfondo è soppressa a prescindere dalla propria impostazione). Le etichette DOM sono controllate separatamente. |
| Recolor Cluster Background | On | Tinge la zona del cluster con il colore di assorbimento. È la singola funzione più costosa dal punto di vista grafico. |
| Diamond Size (Pixels) | 12 | Dimensione del marcatore a rombo in pixel. Intervallo 5 a 30. |
| Marker Opacity % | 80 | Opacità del riempimento del marcatore, 10 a 100. |
| Bearish Absorption Color | OrangeRed | Colore usato quando acquisti aggressivi sono stati assorbiti (contesto ribassista). |
| Bullish Absorption Color | LimeGreen | Colore usato quando vendite aggressive sono state assorbite (contesto rialzista). |
| Marker Background Color | Black | Colore di sfondo dietro l'etichetta compatta dell'aggressione assorbita. |
| Marker Font Color | White | Colore del testo per l'etichetta compatta dell'aggressione assorbita. |
07 Marker Details
| Setting | Default | Cosa fa |
|---|---|---|
| Show Marker Details | On | Mostra il valore compatto dell'aggressione assorbita accanto a ogni marcatore. |
| Show Detail Tooltip | On | Mostra il tooltip completo multi-riga (livello, zona, aggressione assorbita, peak score) quando passi vicino a un marcatore. |
08 Persistent Cache
| Setting | Default | Cosa fa |
|---|---|---|
| Enable 5-Day Marker Cache | On | Salva gli eventi di assorbimento e DOM calcolati così ricompaiono dopo un ricaricamento del grafico. |
| Marker Cache Days | 5 | Numero di giorni di calendario per cui conservare gli eventi salvati. Gli eventi più vecchi vengono rimossi. Intervallo 1 a 5. |
09 Session Settings
| Setting | Default | Cosa fa |
|---|---|---|
| Ignore Session Filter | Off | Quando è attivo, non viene applicato alcun vincolo di sessione: le letture possono avvenire in qualsiasi momento. È anche il modo più semplice per far comparire i marcatori DOM senza configurare alcuna finestra. |
| Use Pre-Market | On | Abilita la finestra di sessione Pre-Market. |
| Pre Market Start (HH:mm) | 09:00 | Orario di inizio Pre-Market, nella tua ora locale. |
| Pre Market End (HH:mm) | 13:00 | Orario di fine Pre-Market, nella tua ora locale. |
| Use RTH | On | Abilita la finestra Regular Trading Hours. |
| RTH Start (HH:mm) | 15:00 | Orario di inizio RTH, nella tua ora locale. |
| RTH End (HH:mm) | 22:00 | Orario di fine RTH, nella tua ora locale. |
10 Auction Engine
Queste due impostazioni fanno qualcosa solo quando Flow.42 AuctionEngine è sullo stesso grafico. Senza un engine presente, non hanno alcun effetto e l'indicatore si comporta esattamente come prima.
| Setting | Default | Cosa fa |
|---|---|---|
| Auction Modulation | Subtle | Controlla quanto il contesto di AuctionEngine influisce sui marcatori di AbsorptionMap. I marcatori allineati con la lettura dell'asta (continuazione) restano a piena opacità; i marcatori contrari alla lettura vengono attenuati: leggermente dove la posizione supporta ancora la lettura, fortemente quando la posizione la minaccia. Off = nessuna attenuazione. Opzioni: Off, Subtle, Strong. |
| Auction Context | Live | Quale lettura dell'asta guida l'attenuazione. Live = la lettura corrente dell'engine, applicata a tutti i marcatori (corrisponde al trading dal vivo). Historical = ogni marcatore è giudicato dall'asta com'era alla propria barra, così puoi studiare il comportamento passato, anche a mercato chiuso. Historical non applica alcuna attenuazione alle barre più vecchie della finestra storica dell'engine. |
8. Punti di partenza per strumento
Non copiare le impostazioni da un documento. Ogni release di Flow.42 include template di grafico e template di indicatore per gli strumenti che operiamo noi stessi: ES, MES, NQ, MNQ, CL, GC e BTCUSD. Questi template sono il riferimento per le impostazioni di AbsorptionMap. Contengono la taratura attuale e vengono aggiornati a ogni release, quindi non invecchiano come una tabella in una guida.
Il template di grafico è la versione attiva. Carica il grafico Flow.42 completo per lo strumento, AbsorptionMap compreso, con le impostazioni adatte a quello strumento. Fai clic destro sul grafico, scegli Templates, poi Load, e seleziona il template Flow.42 del tuo strumento.
Il template di indicatore carica solo AbsorptionMap. Apri le proprietà di AbsorptionMap, fai clic su Template in fondo alla finestra di dialogo, poi su Load. Il nome del file ti dice per quale tipo di barra sono state fatte le impostazioni, per esempio NQ 1min o GC 5min. Su un tipo di grafico più lento, scala verso l'alto le soglie di volume. Su un grafico a tick più fine, scalale verso il basso.
I default di fabbrica della Sezione 7 sono tarati per ES. Su qualsiasi altro strumento, parti dal template, non dai default. Le impostazioni più sensibili allo strumento sono Min Volume, Min Cluster Volume e i due punti delle soglie. Se regoli qualcosa a mano, comincia da quelli. I punti delle soglie seguono la convenzione dei punti della Sezione 3.5: un punto è un'intera unità di prezzo. Per ES sono 4 tick, per CL sono 100 tick. Per questo CL richiede soglie molto più piccole dei future sugli indici.
I template sono punti di partenza, non ottimi ricavati da backtest. Le finestre di sessione nei template sono esempi in Central European Time. Adattale al tuo fuso orario e verifica sulla tua configurazione prima di impegnare capitale.
Una routine di validazione per qualsiasi strumento
Dopo aver caricato un template, esegui una verifica di buon senso di una o due settimane.
- Conteggio dei marcatori per sessione RTH. Come guida di massima, ES tende a mostrare da 5 a 20 eventi, NQ da 8 a 25, CL da 3 a 15. Molti di più significa che le tue impostazioni sono troppo sensibili; molti di meno significa troppo rigide.
- Rapporto forte-debole. Un mix sano è all'incirca un forte ogni tre-cinque deboli. Se è tutto forte, alza Strong Threshold; se non lo è nulla, abbassalo.
- Controlla lo storico a campione. Prendi alcuni dei marcatori di ieri e chiediti onestamente: "lo avrei operato?". Regola da lì.
9. Risoluzione dei problemi
Non vedo alcun marcatore. Abbassa Min Volume e Min Cluster Volume per confermare che l'engine stia producendo qualcosa. Abbassa leggermente Imbalance Ratio (per esempio da 3.0 a 2.5). Imposta Min Signal Score To Show su 0 così nessun filtro di qualità nasconde tutto. Verifica di essere all'interno di una finestra di sessione configurata, oppure attiva Ignore Session Filter. Controlla la finestra Output per eventuali avvisi.
Compaiono i rombi ma le etichette DOM mai. Il DOM è vincolato alla sessione: se sia Pre-Market sia RTH sono off e Ignore Session Filter è off, le etichette DOM non possono comparire. Abilita una finestra o attiva Ignore Session Filter. Il tuo feed dati deve fornire il Level 2 / Market Depth; alcuni feed retail non lo fanno. Anche la baseline DOM ha bisogno del suo minimo di istantanee prima che la difesa possa scattare, quindi aspetta un minuto circa dopo la connessione.
Un marcatore compare dal vivo ma sparisce al ricaricamento. Verifica che Enable 5-Day Marker Cache sia attivo. Dopo un aggiornamento, una ricostruzione una tantum della cache è normale: i nuovi marcatori si costruiscono dai dati in tempo reale. Verifica che Marker Cache Days sia abbastanza grande per il tuo schema di ricaricamento.
Le barre storiche non mostrano alcuna lettura; solo le barre live ricevono marcatori. Tick Replay è disattivato sulla Data Series e la cache persistente dei marcatori non contiene nulla per lo storico caricato (uno strumento nuovo, un'installazione recente o più giorni di Marker Cache Days). Attiva Tick Replay per uno storico calcolato, oppure accetta che le letture inizino con i dati live. Il riquadro di avviso, mostrato una sola volta sul grafico, ti dice in quale caso ti trovi; l'indicatore non ha nessun difetto (Sezione 5).
Nella finestra NinjaScript Output non compare più nulla. È voluto dalla build di settembre 2026: AbsorptionMap non scrive nulla lì. Gli errori reali arrivano nel Control Center Log, una volta per origine e per sessione.
Troppi anelli Live Warning, pochi promossi a Candidate. Alza Live Warning Score (per esempio da 35 a 40). Attiva Require DOM Defense For Candidate per impedire ai warning deboli di promuovere. Sugli strumenti a book sottile, abbassa DOM Defense Multiplier (verso 2.0) così la difesa scatta più spesso, oppure lascia disattivato il requisito.
Tutti i miei eventi sono deboli, nessuno è forte. Abbassa Strong Threshold (Points). Per CL il default di ES è di gran lunga troppo grande. Vedi la Sezione 8. Verifica anche che le barre sotto il cluster abbiano effettivamente volume di scambio; con quasi nessuno scambio, non c'è nulla da invertire.
Il grafico è lento sugli strumenti ad alto volume. Alza DOM Sample Interval (da 500 a 750 o 1000) per alleggerire il carico del book. Alza Min Volume e Min Cluster Volume per seguire meno squilibri. Disattiva Recolor Cluster Background: la zona tinta è il singolo visuale più costoso. Se non ti servono aggiornamenti infra-barra, valuta la modalità di calcolo OnBarClose.
10. Note sulle prestazioni
OnBarClose è la modalità di calcolo più leggera; usala se non ti servono aggiornamenti infra-barra. OnPriceChange è l'equilibrio consigliato per il trading dal vivo: aggiorna a ogni tick ma mantiene efficiente il rendering. Alzare Min Volume filtra da subito le stampe minuscole ed è il modo più economico per ridurre il carico. Il rendering è il costo principale per fotogramma, e Recolor Cluster Background è la singola funzione più costosa. Gli aggiornamenti DOM sono limitati da DOM Sample Interval: alzalo se il tuo feed è rumoroso. La cache persistente scrive di rado, quindi l'attività su disco è trascurabile. Far girare molti grafici va bene; non c'è alcuno stato condiviso per grafico che possa entrare in conflitto.
11. Glossario
- Absorption (assorbimento): volume di trading aggressivo che non ha mosso il prezzo, perché liquidità in attesa nascosta o un flusso contrario lo hanno assorbito.
- Bid imbalance: dominio del lato acquisti: volume in acquisto a un prezzo molto maggiore del volume in vendita un livello sotto.
- Ask imbalance: dominio del lato vendite: volume in vendita a un prezzo molto maggiore del volume in acquisto un livello sopra.
- Cluster: un gruppo di squilibri vicini nel prezzo e nel tempo che insieme formano una zona di assorbimento.
- Live Warning: stadio iniziale; solo un anello. La lettura ha superato la soglia di allerta ma non c'è ancora alcun requisito ulteriore.
- Candidate: secondo stadio; un rombo vuoto. Sono presenti prove più forti e, se richiesta, la DOM defense è in posizione.
- Provisional: terzo stadio; un rombo pieno sbiadito. Il periodo di attesa è trascorso e il controllo di assorbimento è scattato, ma la conferma completa è in sospeso.
- Confirmed: quarto stadio; un rombo pieno compatto. Il controllo finale è scattato e i dettagli sono congelati.
- Strong absorption (assorbimento forte): una lettura confermata dove il prezzo si è invertito di almeno lo Strong Threshold oltre la zona.
- Weak absorption (assorbimento debole): una lettura confermata dove il prezzo ha tenuto dentro la zona o ne è uscito appena, senza una forte inversione.
- DOM (Depth of Market): liquidità in attesa nel book degli ordini su più livelli.
- DOM Defense: liquidità corrente del book sul lato che assorbe che supera la sua baseline mobile del DOM Defense Multiplier.
- Peak Signal Score: il punteggio più alto raggiunto da una lettura durante la sua vita. Persistente; non diminuisce mai.
- Absorbed aggression (aggressione assorbita): i contratti aggressivi che sono stati assorbiti nella zona; mostrati sull'etichetta compatta ABS.
12. Changelog
Versione 1.2.0 (build di settembre 2026)
- Le impostazioni per strumento arrivano ora dai template Flow.42 (Sezione 8).
- La Sezione 5 spiega Tick Replay e lo storico. Un ricaricamento riproduce gli output live.
- Look-back illimitato su tutti gli output. Nessun messaggio nella finestra NinjaScript Output.
Version 1.1.0
- Output di automazione per BloodHound e sistemi simili, documentati nella Sezione 5: un output long, un output short e uno combinato.
- Nota su come leggere la direzione, che è la direzione del trade e non il lato bid o ask grezzo.
Version 1.0.0
Prima versione pubblica della Guida utente di AbsorptionMap.
- Identità stabile del cluster che non deriva tra i cicli di rilevamento.
- Ciclo di lettura progressivo: Live Warning, Candidate, Provisional, Confirmed, più un livello Strong.
- Adaptive Scaling opzionale per il volume per ora del giorno e ritmo della giornata.
- Confluenza DOM Defense con baseline mobile e filtro di persistenza.
- Cache persistente dei marcatori così le letture sopravvivono a un ricaricamento del grafico.
- Integrazione opzionale con Flow.42 AuctionEngine che attenua i marcatori contrari alla lettura.
- Impostazioni di partenza suggerite per ES, NQ e CL.
Flow.42 AbsorptionMap: rilevamento dell'assorbimento dell'Order Flow basato su cluster, con confluenza opzionale della DOM defense e una cache persistente dei marcatori.
© 2026 TTW Trading Systems PTE. LTD. · Flow.42 Analytics · All rights reserved.