All indicators
CHARTINDICATOR REFERENCE

Chart Indicators — OI Walls — Support, Resistance, Max Pain & Positioning

OI Walls — Support, Resistance, Max Pain & Positioning

Where option open interest is concentrated, and what today's flow is doing to it. Walls are read from the per-strike chain slice logged every minute during the session; adjacent heavy strikes merge into one wall, so a cluster spanning two or three strikes reads as the single level it is, and the walls are ranked by the cluster's total rather than by the single strike that seeded it. One a side is drawn by default, up to three. Each is labelled with the strike where price MEETS it and how far it runs -- 23,550 +50pt -- because a pair of edges makes the reader subtract to learn the one thing they want, and the near edge is the strike price reaches first: the bottom of a resistance cluster, the top of a support one. A faint band covers that span, so price entering a wall is visible without arithmetic; a wall sitting on one strike gets no band, which is how a bare line comes to mean a hard level. Line weight carries the wall's share of open interest and a dashed line means that share is being unwound. Share is measured against a fixed window of eight strikes either side of the money, so a percentage means the same thing from one day to the next and on both instruments. Three walls a side are always computed whatever is drawn, because the bias, the concentration and the what-sits-behind read all need the full set. A panel pinned bottom-right turns the same slice into a positioning read. Direction there is inferred from open interest against spot, never from the option premium -- a premium moves with spot, implied volatility and time decay at once, so a falling call premium cannot be attributed to selling. Heavy volume against flat open interest is contracts changing hands rather than positions being built, and no state is named in that case. Bias is stated only when both sides agree: both writing reads as a range, both unwinding as an exit, anything else stays silent rather than printing a direction every minute. Max pain comes from the same one-minute feed, not from the pre-market row. An optional OI profile draws every logged strike as a pair of bars anchored to the right edge -- the distribution the walls were cut from, so a peak just outside the selection is visible rather than hidden. Until today's first snapshot lands, the pre-market support/resistance pair stands in, drawn dotted and labelled so it cannot be mistaken for a wall, and the panel names the feed it is waiting on.

OI Walls — Support, Resistance, Max Pain & Positioning — parameters
ElementSourceNotes
WallsPer-strike option-chain slice, 1-minute cadence1 a side by default, up to 3; adjacent heavy strikes clustered
Wall labelWhere price meets the wall, and how far it runse.g. 23,550 +50pt; a single-strike wall shows the level alone
Wall bandThe strikes the cluster actually coversNo band on a single-strike wall
Line weightThe wall's share of open interest within 8 strikes of the moneyThe primary each side is held bright and keeps its axis tag; the rest step back
Max painThe 1-minute snapshot feed, computed over the whole chainMaroon, dashed; off by default
Panel · SpotLast price against max painThe expiry pull, above or below
Panel · R and SEach side's primary wall, its share, its peak strike and its readCalls define resistance, puts define support
Panel · BiasShare-weighted across every wall on a sideWeighted so a rank swap between two walls cannot flip it
Panel · FlowToday's fresh open interest, calls against putsThe whole 8-strike window, not only the wall strikes
Panel · MomentumHow much of the day’s change at a wall happened in the last 15 minutesSeparates a wall being built now from one built hours ago
Panel · At wallWhat sits behind the wall price is standing atShows concentration instead when price is not at a wall
OI profileEvery logged strike, calls and puts, as bars from the right edgeOff by default; the panel moves left while it is on
Pre-market fallbackDashboard row support/resistanceDotted and labelled; the panel says it is waiting on the chain feed