Indicators
SuperTrend Cluster
Clustered SuperTrend trend model — paints the prevailing up/down trend and its trailing stop across the candles.
SMC
LuxAlgo Smart Money Concepts — market structure, order blocks, fair-value gaps and premium/discount zones.
Turn it on to configure.
Supply/Demand Zones
Base-and-impulse supply/demand zones — the order-flow bands price left in a hurry, drawn as support/resistance.
Turn it on to configure.
JeaFx S&D (Extreme)
JeaFx's supply & demand, not ICT or generic SMC: structure picks the side (HH+HL → buy demand only), one strong impulse candle marks the move, and the zone is the candle immediately before it — admitted only if the impulse left an open wick-to-wick imbalance. Fresh zones are good for their FIRST retest; the one farthest from price in the current leg is the Extreme.
Turn it on to configure.
Market Structure Bias
Who controls the timeframe you choose. Higher high + higher low is bullish, lower high + lower low is bearish, and the protected level — the swing the trend cannot afford to lose — is what decides. A close through it is a shift, which is not yet the opposite trend: that needs a fresh break of structure. The whole job of this read is to stop a pullback looking like a reversal.
It is context, not a signal generator: no entries, no stops, no targets. It also raises no alerts — the TradingView original's alert conditions have no equivalent on this page, so nothing here will ever notify you.
Turn it on to configure.
Market Structure Bias — how to read
Five states, and only two of them are a trend. BULLISH — higher high and higher low, confirmed by a close above the prior swing high. BEARISH — lower high and lower low, confirmed by a close below the prior swing low. RANGE — highs and lows disagree; trade the extremes, not the middle. BULL → BEAR SHIFT and BEAR → BULL SHIFT — the protected level just gave way. A shift is not the opposite trend: a fresh break of structure is required before this ever says BEARISH or BULLISH again.
Every break needs a candle CLOSE beyond the level. A wick through the protected low is a raid, not a break — that single rule is what the whole state machine rests on, and it is why this read moves late rather than often.
The protected level is the trend's last line of defence: while bullish, the low that must hold; while bearish, the high. It moves only on a confirmed event on the analysis timeframe, so a 15m chart reading 4h structure will see it sit still through many 15m closes. That is the point, not a fault.
Implose Candles
Paints candles whose range blows out or collapses against the coin's own recent ATR — expansion bars in lime/magenta, coil bars in cyan.
Turn it on to configure.
Value Area
Highlights where X% of each candle's traded volume happened — X is the Volume % setting, 70 by default — as a translucent layer over the candle body, cut to the candle's own high and low. It is computed from recorded trades, not estimated from the candle: HyperLiquid perps only, and only the last ~10 days, so older candles have no band.
The trade tape's price grid is 4 significant figures, so on high-priced coins (BTC: $10 steps below $100k, $100 above) 1m and 5m bands can be coarse — sometimes the whole candle. A candle drawn fainter was only partly recorded, so its band describes the trades we have, not all of them. On the light theme the band is capped at 10% opacity and drawn without its outline, so the candles keep their colour. Descriptive, not a signal: raises no alerts, places nothing, and no edge has been measured for it.
Daily VAH / VAL / POC (off by default) draws the UTC day's value area — VAH/VAL — and point of control (the price with the most traded volume), from the same recorded trades; today's levels move as the day trades and are labelled on the price axis. A past day the recorder only partly saw is left out, and the lines are hidden on 1w.
Turn it on to configure.
Delta
Aggressive buyers minus sellers, in USD, for each candle — the notional of trades that lifted the offer minus the notional of trades that hit the bid — printed as a signed number under (or over) the candle, e.g. +1.2M or −340K. It is computed from recorded HyperLiquid trades (a trade with no aggressor side is left out), so it exists for HyperLiquid perps only and only for the last ~10 days; older candles show nothing. The forming candle updates live, every second. The numbers appear once most of them fit; a crowded label steps a row further from its candle.
A value drawn faded with a “~” was only partly recorded, so it counts the trades we have, not all of them. Descriptive, not a signal: raises no alerts, places nothing, and no edge has been measured for it.
Show can also draw the same numbers as a histogram pane under the chart, with its own scale: a bar up for net buying, down for net selling (or, with Histogram set to Buy up / sell down, the two sides as mirrored bars). A bar is drawn faded while its candle is still forming or was only partly recorded; a candle the recorder never saw is left empty — never a zero bar. Hover it for the candle's delta, buys, sells and recorded share.
Turn it on to configure.
CVD (Cumulative Delta)
The running total of each candle's Delta — aggressive buyers minus sellers, in USD, from recorded HyperLiquid trades (sideless trades excluded) — drawn in its own pane under the chart, with its own scale on the right. Drag the line above the pane to resize it (double-click that line to reset). On intraday timeframes it resets to 0 at 00:00 UTC each day (a faint line marks each midnight); on 1d and 1w, or with Anchor set to Continuous, it runs continuously. HyperLiquid perps only, last ~10 days only; the forming candle updates live each second.
Each bar runs from the running total at the candle's open to its close: green where CVD rose, red where it fell (Style: Line draws the running total as a line instead, green above 0 and red below).
A small tick marks a stretch the recorder missed. Where that day's running total is incomplete — more than 5% of the day so far went unrecorded, or the recording began after 00:00 UTC that day — bars are drawn faded (so is the line); a candle only partly recorded is faded too. Descriptive, not a signal: raises no alerts, places nothing, and no edge has been measured for it.
Divergence signals compare price with CVD at two nearby swings. A bearish divergence: price makes a higher high while CVD at that high is lower than at the previous one — less aggressive buying behind the new high. A bullish divergence: price makes a lower low while CVD at that low is higher than at the previous one — less aggressive selling behind the new low. Each is a line joining the two swings with a diamond at the second, and the same line in the CVD pane when both swings share one running total (the same UTC day, or any two on 1d, 1w or Continuous — a reset between them would make the difference meaningless).
A filled diamond (“BEAR” / “BULL”) is confirmed: the second swing has held for a few closed candles and the signal stays. A hollow diamond (“BEAR?” / “BULL?”), on a dashed line, is early: it has held for one closed candle. A hollow diamond on a dotted line (“BEAR live”) is live: it fired the moment price made the new high/low while CVD since the last swing disagreed, before the candle closed. A signal that extends while CVD still disagrees moves with price; one where price kept going and CVD came with it is withdrawn and stays as a faint ✕. Hover a marker for the exact time and price it fired at. No demonstrated edge yet: a descriptive read of recorded trades, not a tested trading signal.
Turn it on to configure.
Order Flow (bid × ask)
Each candle split into price rows. On every row, the USD of aggressive sells that hit the bid (left) against aggressive buys that lifted the ask (right) — a bid × ask cluster ladder. It has two views, switched with the Footprint button on its chip at the top left of the chart (key U). Heatmap (the default): each row is shaded by which side traded more (green buys, red sells), and zoomed far out only each candle's busiest row, its point of control, is marked in amber. Footprint: every candle prints its rows as numbers — sells left, buys right — at any zoom. Turning it on zooms the chart in once so the numbers fit, and turning it off puts your zoom back if you have not zoomed since; zooming and panning work as usual in both views. Zoomed out, the footprint keeps its shape: the numbers shrink, then give way to split bid | ask cells, and very far out neighbouring rows are merged. It is computed from recorded HyperLiquid trades, so it exists for HyperLiquid perps only and only for the last ~10 days; the forming candle updates live, every second.
Rows are never finer than the trade tape's 4-significant-figure price grid (BTC: $10 below $100k, $100 above), so a 1m ladder can be only 2–4 rows tall. A row is imbalanced when one side is at least Imbalance ratio × the other side one row diagonally away — buyers at a price against sellers one row below — and gets a coloured edge (sells left, buys right); enough imbalanced rows in a row make a stacked imbalance, drawn as a striped band — blue for buyers, orange for sellers, so it never passes for a Tape S/R zone.
A candle's point of control that price has not traded back into is a naked POC (amber line). A candle whose very top or bottom printed both buys and sells is an unfinished auction — always a purple notch on the candle, plus a purple line once Unfinished auctions is on — judged on ~10-tick bins, so read it loosely. Each line runs right until price trades through it and stops there; turn on Show ended levels to keep it past that as a faint dashed line. Out of the box only stacked imbalances, naked POCs and fair value gaps that price has not yet traded through are drawn — every kind at once can put dozens of lines on one screen.
A fair value gap is price three candles jumped over: the middle one displaced far enough that the candles either side never traded the same prices. It is a zone, not a line — a soft band with no edges in the same blue / orange, shrinking from its far side as price comes back and trades into it, with a faint dashed line left where it started. Once price has traded all the way through, the gap is gone and nothing is drawn. The stack and gap colours are yours to set below; left at their defaults they take the chart theme's shade.
A ladder drawn fainter was only partly recorded; the forming candle is dashed and its marks are provisional until the candle closes. In the footprint, an untraded row is barely there and a traded one is quiet, so the imbalanced numbers — bold, coloured, on a tinted pill — are what your eye lands on. A hairline runs down the middle of those numbers: it is only the seam between the two columns — sells to its left, buys to its right — never a price level. With Flicker on new trades on, a number goes bold and flashes in its own side colour — green where a buy lifted the ask, red where a sell hit the bid — when a trade lands on its row in the live candle, and is gone again about four tenths of a second later: a hard blink, on then off, with no fade, and the same blink whatever the size of the trade. It marks where the tape just printed, not that the price matters — a row's own volume still shows in how bright its number sits when nothing is blinking. While it is lit it looks like an imbalanced number, and that is the deal: the flag is a claim about the whole candle and the flicker one about the last second, so trust the ones that stay. Only the live candle ever flickers, and it changes nothing else — not the imbalance marks, not the tint, and nothing on a closed candle. No per-candle totals are printed — turn on Delta for those. Descriptive, not a signal: raises no alerts, places nothing, and no edge has been measured for it.
Turn it on to configure.
ATR Bands (SL)
Stop-loss bands from average true range, plus candle-consumption readouts.
Turn it on to configure.
VWAP Regime
A corner widget that names the state of the session VWAP and its ±σ bands: how wide the band is, whether it is widening, which way the bands on price's side are moving, and where price sits in σ — combined into one of fifteen regimes. A small state machine holds the regime steady, so it changes a handful of times per session rather than bar to bar. The ribbon shows the held regimes over the last sessions; hatched is warm-up or no regime.
The regime is computed on the anchor's own grid (Daily on 5m, Weekly on 1h, Monthly on 4h), from closed grid bars only, so it is the same on every chart timeframe. On any other timeframe the header says "5m grid" (or 1h / 4h): the numbers are that grid's band, not the one drawn under the candles. Hover a bar to read the regime as of that bar's close.
Width, its direction and Bands are compared with the same time in earlier sessions — so "Contracting" means the band widened slower than usual at this time of the session; it may not have shrunk at all.
Turn it on to configure.
Exactly three, the first at least 0.5 and each at least 0.25 above the one before; anything else falls back to 1,2,3. Changing the anchor, source or multipliers refetches.
The regime, since when, Width / Bands / Price read in the legend row; the widget adds the ribbon of held regimes and stacks in its corner with the other chart panels.
VWAP
Volume-weighted average price with optional standard-deviation bands; add multiple anchored lines. Drawn in one neutral ink under the candles: each level is named at its line's end and valued on the price axis; a weekly line is dashed, a monthly one dotted.
Turn it on to configure.
EMA 9/20 Trend
A fast and a slow exponential moving average (9 and 20 by default) with a ribbon between them coloured by each bar's state: bull (green) when the fast EMA is above the slow one and the close is above the fast EMA, bear (red) when both are below, neutral (grey) otherwise. ▲/▼ = closed-bar crossover of the two lines. Both values are labelled on the price axis in their colours; the state word is in the legend (“BEAR?” while the forming bar reads differently from the last closed one).
A lagging trend filter, not a signal: raises no alerts, places nothing, and no edge has been measured for it.
Turn it on to configure.
Previous Day High/Low
The high (PDH) and low (PDL) of the latest completed UTC day, read from this coin's 1d candles, so the levels are the same on every timeframe. The lines start at that day's open and run to the right edge, and each level's price is labelled on the price axis in its colour; a level outside the visible price range keeps its axis label, pinned to the edge with ▲/▼. When the previous day is not yesterday (a weekend, a holiday) the legend row names its date, e.g. “PDH/PDL Sep 12”. Bond and futures sessions do not align with UTC midnight, so there the “day” is the session stamped on that date.
A reference level, not a signal: raises no alerts, places nothing, and no edge has been measured for it.
Turn it on to configure.
Momentum
Composite momentum state — an oscillator pane plotting the score under the candles, a heat ribbon, regular divergence markers, and the state in the legend (score, state, and how many of the four legs agree).
Turn it on to configure.
RSI Reversal
RSI forms a W (or M) with a preferred bullish (bearish) divergence, price confirms the reversal — a neckline break, a bullish/bearish CHoCH or BOS, or a strong expansion candle — and SuperTrend flips. A signal fires only once the full sequence lands; it enters after the reversal has begun, not at the exact extreme.
Turn it on to configure.
The stage (LONG / SHORT?, ✓ / ○ per condition), the signal counts and the research caveat (ⓘ) read in the legend row — the RSI pane's, or the price legend's with the pane off.
Cluster is the same 5-member SuperTrend the SuperTrend overlay draws — this indicator can never disagree with it. Classic is a single ATR/factor SuperTrend with its own line (SuperTrend line: Auto draws it only in Classic mode). No demonstrated edge — see the legend's ⓘ.
Autocorrelation Regime
Shades the chart by the market's short-term memory. Trending (warm) means moves have been persisting — an up bar tends to follow an up bar. Mean-reverting (cool) means moves have been reversing. Random walk means neither is statistically distinguishable from noise, and is left unshaded unless you turn it on.
ρ is the lag-1 autocorrelation of bar returns over the last window bars; z is its heteroskedasticity-robust significance, and the legend's band is the ±ρ at which |z| would reach z enter. The state has hysteresis: it enters a regime when |z| reaches z enter and leaves it only once |z| falls below z exit, so it does not flicker at the threshold. Closed bars only; the forming bar is never classified.
Descriptive, not a signal — this repo's own BTC precursor study found lag-1 autocorrelation carried no standalone edge (AUC ≈ 0.50 on 15m–4h). No demonstrated edge yet. 1m/5m tend to read mean-reverting from bid-ask bounce.
Turn it on to configure.
z exit is kept below z enter (defaults W50 · z 1.96/1.0). Changing any of these refetches.
The state, since when, ρ · z · band and the research caveat (ⓘ) read in the legend row; hover a bar to read its own state, ρ and z.
ATR Breakout
The classic volatility breakout, replayed over the loaded bars. Each bar arms an entry at its own open plus and minus entry distance × ATR, but only while the short-term ATR sits below the long one — the market coiling rather than already running. A touch fills at that level, the stop is frozen at stop distance × ATR on the other side of the entry, and the winner is closed by whichever exit policy you choose: a trailing stop (on closes or on highs), a fixed number of bars, the opposite breakout, or a fixed target.
Context, not a signal generator: raises no alerts, places nothing. The tally is an in-sample replay over the bars currently loaded, not a backtest — fills at the level, no fees or slippage, the entry bar exits only on its close, the trail ratchets on closes, an open trade is not counted, a bar that sweeps both levels opens nothing, bars born from the live feed carry an approximate open. The repo's own offline measurement of breakouts in compression found no demonstrated edge.
Turn it on to configure.
The legend reads the state (armed, hit, in a trade, sitting out), the ratio and the replay tally; its ⓘ says what the tally is and is not.
One Box, Two Trades
Finds consolidation ranges from how price behaved — tests of both edges, quieter than the move before, little net drift, most closes inside, rotation through the middle — and scores each 0–100. Only a box that clears the quality bar is armed, and from then on its high, low and midpoint never move. Every interaction with an edge is then one of two trades: a sweep (price went outside and was rejected — targets the midpoint, then the opposite edge) or a breakout (price closed outside with displacement and was accepted — targets one and two range heights beyond the broken edge).
Context, not a signal generator: it places nothing. The quality, sweep and displacement scores are hand-set heuristics, not fitted to outcomes; a target ✓ is hindsight over the bars currently loaded. No edge has been measured for range sweeps or range breakouts, and this repo's own offline measurement of breakouts in compression found none. The 🔔 on the panel shows whether this coin + timeframe has a 1Box alert (set in Notifications).
Turn it on to configure.
One Box, Two Trades — how to read
Lifecycle. SEARCHING → FORMING (a possible range, dotted, still moving) → VALID (enough quality, tests on both edges and rotation) → ARMED (the box freezes) → MATURE (old, tested at least three times each side) → LATE (one edge tested five or more times — an overtested edge is not a fresh one). A collapsing score never un-arms a box or moves its edges; only an event resolves it. Quality and the box's style are the CURRENT score and its tier (High is at least 85), so a box that has decayed since it armed looks it.
Sweep or breakout. A wick through an edge that closes back inside is a sweep candidate, graded on how far it went, how deep it closed back in, the wick, the body, where it closed and the next two bars; it confirms (▼ upper / ▲ lower, ringed when strong) or quietly lapses. A close clearly outside is only a BREAKOUT ATTEMPT (hollow triangle) — no targets yet. It becomes a confirmed breakout once enough closes hold outside with displacement and acceptance; if price closes back inside first it is a FAILED breakout (✕), re-read on that bar as a sweep. An attempt turning into either is the lifecycle, not a repaint. A confirmed breakout whose close later comes back inside the box (past the edge by the same margin that fails an attempt, or through the middle) has LOST acceptance: its glyph turns hollow, it reads "back inside ✕", its targets are cancelled and the box is live again — a stalled breakout never ends a box while price sits inside it.
Targets are drawn only for the current event: a sweep's midpoint (TP1) and opposite edge (TP2), a confirmed breakout's +1 and +2 range heights. A dot and ✓ mark a touch. When no box is active, the newest resolved box whose breakout is still tracking its targets stays drawn as the in-play box (ending where it ended; only its target lines run on). Resolved boxes keep their sweep and breakout marks, faintly, and a short tag saying how they resolved.
Panel. Position is live: 0% = range low, 50% = mid, 100% = high, below 0 or above 100 = outside the box. Tests count clusters of candles at an edge, not candles. Displacement marked ~ (and dimmed glyphs) involve bars built from the live feed, whose open is approximate until the next reload.
Server box. When this coin + timeframe has a 1Box alert, the panel's last row shows the box the server armed. The server replays this engine from its own loaded window, so it can arm on a slightly different box (see Limits); then the row says server box differs.
Limits. Computed from closed bars only; nothing already drawn changes when a new bar closes — but only for the window that is loaded. The ATR and the range search start at the first loaded bar, and each box's end decides where the search for the next one starts, so a reload or a timeframe switch whose history starts elsewhere can draw ANY box differently, not only the first ones. Boxes that dependence is known to reach are tagged early; the rest matched on every re-run tried, which is evidence, not a guarantee. On a market with no live feed (a bond) the newest bar is treated as still forming until the next one arrives, because the delayed vendor keeps filling it in.
Tape S/R Zones
Support and resistance built from every executed HyperLiquid trade, not from candles: where heavy volume changed hands, how price reacted afterwards, whether retests held, where aggression was absorbed and where traders are trapped. The server decides each zone's role and state; the chart adds live volume and marks provisional reads between minute updates.
Turn it on to configure.
Tape S/R Zones — how to read
Colour and weight. Green is support, red is resistance. A stronger zone has a denser fill and a heavier edge; a zone that has not traded for a while fades. Each band starts when the zone formed and a broken one stops where it broke (✕), in the colour of the role it held until then. A dashed blue tick marks where a zone broke and then flipped (the colour changes there) or was reclaimed.
Line styles. Solid edge — active. Solid edge with retest ticks (green held, red failed) — tested. Heavy edge with an inner line — strongly defended. Long dashes, lighter fill — weakening. Short dashes, faded — broken. Hatched, dashed and muted — forming (its reaction is not measured yet, so it is never announced as the nearest zone).
Absorption and pressure (amber). Heavy aggression that failed to move price, one glyph per record where it hit the zone. At a heavy block it is called absorption; on a retest it is called pressure, and that is not a synonym — measured on 7 days of tape, retests carrying this pattern held less often than retests without it, so a glyph on a retest says heavy flow stalled there, never that the level will hold. Glyphs: ◆ resolved, ◇ still resolving, a small faded ◇ for flow that stalled with no bounce, and, if you turn it on, a dim ✕ for a level that then gave way. The card lists the two separately and quotes the measurement. Zoomed far out they give way to one ◆ABS chip per zone.
Chips. ▢TRAP L/S (violet) — longs or shorts caught on the wrong side. Italic chips ("testing…", "breaking?", "holding?") are provisional reads from the live price, replaced by the server's verdict at the next minute close.
◈ Wall bars (favourite coins). The small cyan bar left of a label is the order book at the band price reaches first, on the side resting there (bids under price, offers over it). Full (the tick) = the LARGER of its resting size at the start of record and its AVERAGE resting size over the last 10–30 min, since the average alone is diluted by moments nothing rested there; the % is the true value, and it can run past the tick. ⚔ HIT on the card is what traded into it, in units of its own size — the amount alone while price is through the band or its % is approximate, since a multiple of a size the geometry emptied means nothing. A hatched "?" means the book there was not observed — never that it is empty; an EMPTY outline (no fill, no %) means it was observed and nothing rested on that side. The book is recorded for favourited coins only, and any other coin shows no bars at all. It describes resting size only and never changes a zone's strength or role.
Readout and strip. The readout lists the nearest resistance above (▲), the nearest support below (▼) and the strongest nearby (★) with the distance to the edge facing price; "testing…" (price inside) and "through?" (price past the far edge) are provisional live reads. The right strip is volume at price over the horizon (buy right, sell left); the amber tick is the busiest price. Hover a zone for its numbers and click it to pin the full card.
Descriptive statistics of executed trades — no demonstrated edge has been measured.
L4 Order Book
The full order book of the coin L4 is armed on — every resting order with the wallet that placed it — updated every second. On the chart: the liquidity walls (resting size that stands out from the prices around it and stayed) with their live size and owners, recently pulled or eaten walls as dashed ghosts, the tested zone's book read, and a book strip at the right edge. The side panel lists the zone being tested, the walls near price, the big players within 2% and a feed of book events.
Only for the armed coin (the L4 button in the toolbar; one coin streams at a time and it is billed by the byte). Walls and reads come from the Tape S/R engine; every threshold behind them is provisional until calibrated. Fills are lower bounds. No edge has been measured for any of it.
Turn it on to configure.
Liquidations
Tracked-whale liquidation heatmap — position liq prices clustered into downside cascade and upside squeeze bands.
Liq Heatmap
Time×price liquidation heatmap — pending liquidation notional by price over time (tracked whales or a whole-market OI estimate).
Liq Heatmap — how to read
Shaded bands mark where liquidation orders pile up by price. Dim purple = little there; teal → green → yellow = heavy clusters. Bright zones act as magnets — price is often pulled toward them, and they can fuel fast moves or act as support / resistance.
Whale = real tracked-whale liquidation levels (badge shows the position count). OI = whole-market estimate. Read intensity relative to other zones, not as exact dollars. The time range follows the chart timeframe (12h → 7d).
Funding
Funding regime and response — the hourly funding rate in its own pane, coloured by who pays, plus markers where shorts are paying and price refuses to fall (squeeze) or confirms weakness (continuation). The legend reads the regime, the signal and its net score, and this hour's live (unsettled) rate.
Turn it on to configure.
Funding — how to read
Colour answers who pays whom, not which way price went: negative funding is teal (shorts pay longs — carry favours the long side), positive is amber (longs pay). The pane plots the funding rate (% per 8h, HL's hourly rate ×8) with its fast / slow EMAs as lines; how strong the colour is says how unusual the rate is against its own last 14 days, so a faint hour is a normal one and a solid one stands out. From 1h up each candle is a column; below 1h the rate is an hourly value repeated on every candle of its hour, so it is drawn as a step with a shaded area. A 4h / daily candle shows the mean of its hours. History reaches back 7 days; scrolled back past it, the pane says where it starts and the legend reads "—".
A green triangle under a candle is a squeeze read — shorts are paying and price refuses to fall. A red triangle above one is a continuation — shorts are paying and price is confirming their thesis. Dots are weaker biases, a grey × is a funding cross the price legs disagreed about.
Perp/Spot
Perp/spot basis (HL perp mid vs HL's own spot oracle) in its own pane, coloured by its own recent regime, plus (BTC) taker-flow disagreement between HL's perp tape and Binance's spot tape — z-scored against each venue's own norm.
Turn it on to configure.
Perp/Spot — how to read
The line is the BASIS in basis points on the pane's axis, coloured against its own recent average, not against zero: red is rich (the same "who pays whom" colour funding uses), green is cheap — so a line below 0 can still be red. Under it, each venue's taker-flow z squashed to ±1: spot as columns (green = takers buying, solid past the ±1σ guides), perp as a dashed line. Columns and line on opposite sides of zero is the opposed state.
Flow Efficiency
How far price moves per dollar of aggressive trading, in its own pane under the candles, as two lines in bps per $1M. ▲ Up (green): in the minutes where buyers dominated, how many bps price rose per $1M of their net buying (buys minus sells). ▼ Down (red): the same for sellers, how far it fell per $1M of net selling. When one line runs above the other, that side moves the price with less money, and the read names the ratio ("up 2.4×").
Each point is summed over a trailing window of one-minute steps ending at the candle's close (or the whole candle, if it is longer): a single minute says little, and on liquid coins the estimate settles at about an hour. A value below zero means the flow was absorbed: buyers dominated and price still fell (or the mirror). A side with fewer than 10 of its own minutes in the window shows a gap, not zero. Faded = under 90% of the window recorded, or the forming candle (its value moves until the candle closes). Drag the separator above the pane to resize it (the height is remembered; double-click the separator for the default).
Recorded HyperLiquid trades only (~10 days; favourites further back), so older candles show nothing. A thin market reads high partly because its trade prices bounce between bid and ask. Descriptive, not a signal.
Turn it on to configure.
Numbers Bars
A grid of per-bar values from the recorded aggressive trade tape, in its own pane under the candles: one row per chosen value, one cell per bar, under its bar. A cell is tinted by how unusual the value is for this market (its percentile against the market's own recent bars), in the row's colour: buying green, selling red, volume blue, weak efficiency and failure amber. Every value prints at any zoom: as the bars get narrower the text gets smaller and shorter ("4.24M", "4.2M", "4M"), then turns on its side (a taller pane reads longer numbers). Only when the bars are narrower than that does the grid print every other value, and it says so — zoom in to see them all.
Click a column to open that bar in the right dock: every value grouped (order flow, price, efficiency, the bar's top and bottom, its wicks, price-row imbalances, failure, absorption with its components, passive liquidity), each with its percentile and a tooltip; Debug shows what the bar was computed from. ← → step, Esc clears. A null is never a zero: — unavailable, … not enough data, n/a not applicable (the tooltip says why). The live bar is computed in the browser from the live tape (faded, dashed) until the server serves it.
Turn it on to configure.
Absorption weights
Absorption = the aggression's strength (its percentile) × resistance, the weighted average of the components a bar has. A component the bar lacks (no L4 book, no imbalances) drops out and the rest are renormalised.
Volume
Traded volume per candle, each bar coloured by its candle (close at or above the open = up), with an optional simple moving average. By default it sits in its own pane under the candles — drag the separator above it to resize (the height is remembered; double-click the separator for the default) — or as the classic overlay along the bottom fifth of the candle pane (the default on a phone). The forming candle's bar grows live.
Units: the market's own (coins, shares, contracts) or ≈ USD — volume × the candle's typical price (H+L+C)/3, an estimate of the notional rather than the exact sum. HyperLiquid's stored 1m candles can come up slightly short on volume for some minutes (a known ingest issue), and the higher timeframes are built from them. Hidden on bond yields, which carry no volume.
Turn it on to configure.
Open Interest
The whole market's open interest per candle, from the one-minute samples this server has taken of HyperLiquid (open, high, low and close of the samples inside each candle), in its own pane under the candles and in its own colours (blue up, amber down) so it is never mistaken for price. In USD it is contracts × each sample's own mark price, so it also rises on a pure rally; Contracts plots the close in the coin's own units, which moves only when positions open or close.
The legend adds the change over the last hour and four hours (in contracts) and the last hour's read — new longs, short covering, new shorts or long unwind — from open interest against price. A candle with no sample is left empty, never drawn as zero. History is what the sampler kept: 45 days (the 1m view loads the last 2, the 5m view the last 10); scrolled back past it, the pane says where it starts and the legend reads "—". Not sampled for HIP-3 builder markets or bonds; hidden in the trainer (a live read would be the replay's future).
Turn it on to configure.
Compare symbols
Up to three other symbols' closing prices as lines over this chart. Each line is rebased to the first visible bar where both markets traded, so it starts on the candles and every later point reads as its move against this chart's — a visual rebase only: the candles, VWAP, EMA and every other price overlay keep their own prices. A line has a point only where this chart has a candle. It streams live where its market does; a market with no live feed (a bond) refreshes every 30 s. Hidden in the trainer (it would be the replay's future) and in Bookmap mode.
Turn it on to configure.
Higher-TF candles
The candles of a higher timeframe on this chart's own time axis: each one spans the bars it contains, so a 5m chart shows its hourly candles in their own pane under the candles, or outlined behind its own candles. The forming higher-timeframe candle is built live from this chart's bars and drawn dashed until it closes. Auto takes the next step up (1m → 15m, 5m → 1h, 15m → 4h, 1h → 1d, 4h and 1d → 1w); a timeframe at or below the chart's shows nothing. Hidden in the trainer (it would be the replay's future) and in Bookmap mode.
Turn it on to configure.
My Fills
Your own executed fills on this coin: a green triangle under the candle for a buy, a red one above it for a sell. Fills that landed on the same bar fan out, so a scale-in reads as several fills rather than one.
Turn it on to configure.
Requires a saved trading wallet. Covers every market you trade, main dex and HIP-3 builder dexes alike.
My Trades
The same fills grouped into entry-to-exit round trips — a line from entry to exit, green if the trade netted a profit and red if it did not, labelled with the amount. Scale-ins and partial exits are averaged into one trade; a flip closes one and opens the next.
Realized PnL is HyperLiquid's own figure for each closing fill, minus fees. It excludes funding, which HyperLiquid reports separately, so it will not tie out exactly against the Portfolio tab. A dashed line means fills are missing underneath that trade; a trade whose entry predates the loaded history has no entry price to draw from and shows only its fill markers.
Shares the History setting with My Fills.
Indicator overlays follow the selected timeframe; your drawings show on every timeframe.