OPEN-SOURCE SCRIPT
JonnyFutures IB Pro + Session Levels

JonnyFutures IB + Session Levels
a level-mapping tool. it builds your Initial Balance live as the first hour forms, tracks PDH/PDL, London, and Asia session ranges, and tells you — in real numbers — whether ES and NQ agree on which side broke first.
no signals, no arrows, no "buy here" nonsense. just the levels that matter and the math behind them.
What it plots:
**IB High / IB Low** — the running high and low of your Initial Balance window (default 9:30–10:30 AM ET). while the hour is forming, these lines update live, bar by bar, as price makes new extremes. once the hour closes, they lock and hold for the rest of the day.
**25% / 50% / 75%** — the IB range sliced into quarters. these update in real time right alongside the IB high/low while the hour is still forming, so you can see where the midpoint and quarter levels are sitting before the hour even closes.
**PDH / PDL** — yesterday's regular session high and low. fixed the moment the new trading day starts.
**London High / Low** — the prior completed London session's range (default 2:00–5:00 AM ET). locks in when London closes, holds through the entire next day.
**Asia High / Low** — the prior completed Asia session's range (default 6:00 PM–12:00 AM ET). same logic — locks at session close, holds until the next Asia session completes.
every line ends with a small dotted extension and a price-tagged label pushed to the right of live price, so nothing sits on top of your forming candles.
The table
top-right by default (movable in settings). shows:
- **CURRENT** — did your chart's symbol form the IB high or IB low first
- **COMPARE** — same read, but for the second symbol you set (ES/NQ pair)
- **ES/NQ MATCH** — MATCH if both instruments broke the same direction first, NO MATCH if they diverged, FORMING while the IB hour is still in progress
- exact IB high/low, PDH/PDL, London H/L, Asia H/L values
this is the confirmation piece. divergence between ES and NQ on which side prints first is a real tell — this puts it in front of you instead of making you eyeball two charts.
## setup
1. add to chart, works on any intraday timeframe — **5-minute or lower recommended.** on higher timeframes a single candle can contain both the IB high and low, which blurs which one actually came first.
2. in settings, set **Compare Symbol** to whichever of ES/NQ you're *not* charting. defaults to NQ (`CME_MINI:NQ1!`) — flip it to `CME_MINI:ES1!` if your chart is already NQ.
3. adjust session windows (IB, London, Asia) if you run different hours than the ICT-standard defaults.
4. **Label Offset** controls how far right the price tags sit — bump it up if you're zoomed out and labels still feel close to price.
## things to know
- IB and session boxes reset automatically at the start of each new NY trading day — you're never looking at stale levels.
- the ES/NQ comparison uses `request.security` to pull the same IB logic on the second symbol in real time, so both reads are apples-to-apples.
- London and Asia levels are the **previous completed session**, not the one currently forming — that's intentional, it's your reference range, not a live-forming box.
no edge in a level by itself. the edge is in how price reacts when it gets there. this just gives you the map.
execute your edge 🟦
a level-mapping tool. it builds your Initial Balance live as the first hour forms, tracks PDH/PDL, London, and Asia session ranges, and tells you — in real numbers — whether ES and NQ agree on which side broke first.
no signals, no arrows, no "buy here" nonsense. just the levels that matter and the math behind them.
What it plots:
**IB High / IB Low** — the running high and low of your Initial Balance window (default 9:30–10:30 AM ET). while the hour is forming, these lines update live, bar by bar, as price makes new extremes. once the hour closes, they lock and hold for the rest of the day.
**25% / 50% / 75%** — the IB range sliced into quarters. these update in real time right alongside the IB high/low while the hour is still forming, so you can see where the midpoint and quarter levels are sitting before the hour even closes.
**PDH / PDL** — yesterday's regular session high and low. fixed the moment the new trading day starts.
**London High / Low** — the prior completed London session's range (default 2:00–5:00 AM ET). locks in when London closes, holds through the entire next day.
**Asia High / Low** — the prior completed Asia session's range (default 6:00 PM–12:00 AM ET). same logic — locks at session close, holds until the next Asia session completes.
every line ends with a small dotted extension and a price-tagged label pushed to the right of live price, so nothing sits on top of your forming candles.
The table
top-right by default (movable in settings). shows:
- **CURRENT** — did your chart's symbol form the IB high or IB low first
- **COMPARE** — same read, but for the second symbol you set (ES/NQ pair)
- **ES/NQ MATCH** — MATCH if both instruments broke the same direction first, NO MATCH if they diverged, FORMING while the IB hour is still in progress
- exact IB high/low, PDH/PDL, London H/L, Asia H/L values
this is the confirmation piece. divergence between ES and NQ on which side prints first is a real tell — this puts it in front of you instead of making you eyeball two charts.
## setup
1. add to chart, works on any intraday timeframe — **5-minute or lower recommended.** on higher timeframes a single candle can contain both the IB high and low, which blurs which one actually came first.
2. in settings, set **Compare Symbol** to whichever of ES/NQ you're *not* charting. defaults to NQ (`CME_MINI:NQ1!`) — flip it to `CME_MINI:ES1!` if your chart is already NQ.
3. adjust session windows (IB, London, Asia) if you run different hours than the ICT-standard defaults.
4. **Label Offset** controls how far right the price tags sit — bump it up if you're zoomed out and labels still feel close to price.
## things to know
- IB and session boxes reset automatically at the start of each new NY trading day — you're never looking at stale levels.
- the ES/NQ comparison uses `request.security` to pull the same IB logic on the second symbol in real time, so both reads are apples-to-apples.
- London and Asia levels are the **previous completed session**, not the one currently forming — that's intentional, it's your reference range, not a live-forming box.
no edge in a level by itself. the edge is in how price reacts when it gets there. this just gives you the map.
execute your edge 🟦
Скрипт с открытым кодом
В истинном духе TradingView, создатель этого скрипта сделал его открытым исходным кодом, чтобы трейдеры могли проверить и убедиться в его функциональности. Браво автору! Вы можете использовать его бесплатно, но помните, что перепубликация кода подчиняется нашим Правилам поведения.
Отказ от ответственности
Информация и публикации не предназначены для предоставления и не являются финансовыми, инвестиционными, торговыми или другими видами советов или рекомендаций, предоставленных или одобренных TradingView. Подробнее читайте в Условиях использования.
Скрипт с открытым кодом
В истинном духе TradingView, создатель этого скрипта сделал его открытым исходным кодом, чтобы трейдеры могли проверить и убедиться в его функциональности. Браво автору! Вы можете использовать его бесплатно, но помните, что перепубликация кода подчиняется нашим Правилам поведения.
Отказ от ответственности
Информация и публикации не предназначены для предоставления и не являются финансовыми, инвестиционными, торговыми или другими видами советов или рекомендаций, предоставленных или одобренных TradingView. Подробнее читайте в Условиях использования.