POC Migration (ticks) Indicator: Formula, Settings and How to Read It

POC Migration measures how far the point of control moved between two consecutive bars, in ticks, as an absolute distance. It answers how much the heaviest-traded price shifted, not in which direction it shifted.

Senzoukria · Indicators · Updated September 2026


POC Migration (ticks) ships with the Senzoukria desktop app, in the Volume group of the indicator catalogue. It is drawn in its own panel below the chart.

What POC Migration (ticks) measures

Point of control prices are held as tick indices rather than floating-point prices, so the difference between two bars is exact integer arithmetic and a one-tick move reads as exactly one. Ties inside a bar resolve to the lower price, the same convention as POC Position. The value is unsigned by design: it answers how much the control price is moving, which is a different question from where it is going. A signed drift line exists separately, and the two are complementary rather than interchangeable. No point is plotted for the first bar of a loaded series, for a bar with no usable point of control, or when the instrument's tick size is unknown, since a distance in ticks has no meaning without the price grid.

The formula, as implemented

This is not a description of how the indicator is usually defined elsewhere — it is what the shipped code computes, documented next to the implementation:

Migration du POC — AMPLITUDE du déplacement entre deux barres : value = |POC(t) − POC(t−1)| en TICKS Les clés étant des indices de tick (`barPocLowTie` avec `ctx.tickSize`), la différence est de l'arithmétique ENTIÈRE exacte : aucun arrondi de prix. ÉGALITÉ de volume → prix le plus bas (Sierra, choix du repo). POURQUOI : une suite de migrations faibles = le point de contrôle tient, l'enchère est en balance ; une rafale de migrations larges = le marché cherche un nouveau niveau d'acceptation. La valeur ABSOLUE (et non signée) répond à « ça bouge combien », pas « ça monte ou ça descend » — c'est exactement ce qui manque à `poc-drift` (tape.ts), qui rend le déplacement SIGNÉ en ligne ; les deux se lisent ensemble, ils ne se remplacent pas. Dégradés : première barre (pas de précédente — on ne compare jamais à une barre inventée), barre sans POC (aucun niveau exploitable) ou tick size inconnu (« en ticks » n'a pas de sens sans grille) → PAS de point.

How to read it

  • A run of small values means the control price is holding: successive bars do their business around the same level, which is what balance looks like.
  • A burst of large values means the market is relocating — each bar finds its heaviest price somewhere new, typically while searching for acceptance.
  • The transition from a low, flat stretch into repeated large readings carries more than any single bar's value.
  • Because the value is absolute, large migrations oscillating around one price look identical to a one-way relocation; pair it with a signed drift reading to separate the two.
  • Compare readings within one instrument only: a tick is a different amount of money on each contract.

Parameters and defaults

Color and smoothing only, the smoothing at 1 by default so each bar shows its own distance. Raising it toward 200 turns the series into an average relocation rate, which reads more cleanly as a regime measure but blurs away the single bar on which the control price jumped — usually the bar being looked for.

POC Migration (ticks) — parameters exposed in the app, with the values it ships with.
ParameterTypeDefaultRange
Smoothingnumber11 – 200

What it does not show

The absolute value discards direction entirely, which is the first thing to remember before drawing conclusions from a high reading. Ties inside a bar resolve downward by convention, so a bar with two near-equal peaks can produce a large apparent migration that reflects the tie rule rather than a real shift. Results depend on complete per-level data: a bar whose levels are partly missing may report a point of control that was never the busiest price. Nothing is plotted where tick size is unknown, and contract rolls produce a jump that should be ignored rather than interpreted.

Using it in Senzoukria

Add it from the Indicators panel of any footprint chart or candle chart. It runs on futures data from Rithmic or Databento and on crypto pairs from Binance and Bybit, on the same engine — the calculation does not change with the venue, only the data feeding it does. Market data subscriptions are billed by the provider, separately from the app.

See the full indicator library, or start with the order flow guide if you are new to reading aggression, delta and absorption.

Frequently asked questions

What does POC migration measure?
The distance in ticks between the current bar's point of control and the previous bar's, taken as an absolute value. Small readings mean the heaviest-traded price is staying put, large ones mean it is relocating. It measures the size of the movement, not its direction.
Why is POC migration unsigned?
Because it answers a different question from a directional drift line. The absolute distance says how much the control price is moving, which is what marks the shift from balance to relocation; a signed series says whether it moved up or down. Read together they give both answers, and neither replaces the other.
Why does POC migration measure in ticks rather than price?
Because points of control are stored as tick indices, so subtracting them is exact integer arithmetic with no floating-point rounding and a one-tick move always reads as one. The consequence is that no value is plotted when the instrument's tick size is unknown, since a tick distance has no meaning without the grid.

Keep reading