OPEN-SOURCE SCRIPT
Market Profile VPOC Breakout - Imbalance Signals

A breakout setup does not fail because the setup is bad. It fails because it was taken in the wrong market phase. Roughly 70 % of the time price is INSIDE the higher-timeframe balance — inside fair value — and there a breakout has almost no edge. In the remaining ~30 %, when the market is OUT OF BALANCE, the identical trigger becomes one of the highest-probability trades there is. That combination shows up about ONCE PER DAY.
Market Profile VPOC Breakout automates that location-first workflow end to end: weekly and daily volume/TPO profiles, the value areas, the VPOC sequence, the transferred prior-day value-area edge, single prints, the P / b micro-profile proof, the entry trigger, the risk model and ready-to-use webhook JSON — all on one chart, with an explanation attached to every single object.
═══════════════════════════════
THE 7 CONFIRMATIONS
═══════════════════════════════
The panel walks you through them live, top to bottom, and nothing below step 1 matters while the market is in balance.
① WEEKLY LOCATION — the previous week's value area is the equilibrium. Price inside it = the 70 % phase → stand down. Price above VAH or below VAL = imbalance → hunt. The shaded zone on the chart is that balance; the background wash tells you at a glance which phase you are in (mint = imbalance up, red = imbalance down, gold = balance).
② EQUILIBRIUM TEST + REJECTION — the week opened outside the balance, price came back to TEST the weekly value area and was aggressively traded away from it again. That rejection is the proof that the market no longer wants to be in equilibrium.
③ TREND OF EQUILIBRIUM — the sequence of daily VPOCs. Rising VPOCs mean fair value itself is migrating up: the distribution of the participants' equilibrium is trending, which is exactly what a fast trade WITH the trend needs. Flat or overlapping VPOCs = balance = no trade. Drawn as a staircase over the session VPOCs.
④ PRIOR-DAY VALUE AREA BREAK — the previous session's value-area edge is transferred onto the execution timeframe as a thick green line. Price has to ACCELERATE through it, not drift.
⑤ SINGLE PRINTS — the indicator reads the running session's TPO grid and counts price rows that only ONE bar ever touched. Those rows are marked as a cyan SINGLE PRINT zone: the market moved so fast that no business was done there = aggressive buyers or sellers, not passive rotation.
⑥ P / b MICRO SHAPE — the micro profile of impulse + the small balance that forms on it is measured. POC in the upper part = P (aggressive buyers shifting equilibrium up) → long. POC in the lower part = b (sellers shifting it down) → short. A symmetric D is skipped. This is the P/b/D profile-shape logic used by two-time World Cup Championship of Futures Trading winner Patrick Nill.
⑦ TRIGGER — two variants, both switchable:
• BREAK-IN — price dips back into the P/b balance and is instantly bought / sold again (the aggressive, earlier entry, trend-continuing).
• BREAKOUT — a CLOSE beyond the balance edge with a higher (long) or lower (short) close. Never a wick.
═══════════════════════════════
RISK MODEL
═══════════════════════════════
Stop behind the structural invalidation (micro-balance edge, impulse origin or the reference level) plus an ATR buffer. TP1 in R multiples moves the stop to break-even, TP2 lets the runner work. And the rule that keeps this model alive: a TIME STOP. If the move does not run within N bars, get out — a failing breakout reverses just as fast as it was supposed to run. Risk and reward are drawn as blocks so the geometry is readable at a glance. One signal per session by default, because the model only exists about once a day.
═══════════════════════════════
WHAT IS ON THE CHART
═══════════════════════════════
• Session volume/TPO profiles with value area, VPOC and shape letter (P / b / D)
• Naked VPOC rays that keep running right as magnets
• Weekly profile + the prior-week balance zone projected into the current week
• The thick green transferred value-area edge with its own explanation
• Daily VPOC staircase and the imbalance gauge in the panel
• Single-print zones, micro-balance boxes with the big P / b letter
• BUY / SELL pills, the full numbered reason stack printed next to the signal, entry / SL / TP1 / TP2 rails, risk and reward blocks, TP / SL / BE / TIME exit tags
• A permanent BEGINNER CARD on the chart plus a HOW TO READ manual — every pill, zone, rail, letter and panel row also has its own hover explanation, so nothing on this chart is unexplained
• Two colour modes: Design (navy, mint / cyan / gold) or Original TPO (the classic grey market-profile look with red VPOC rays and a white profile curve)
═══════════════════════════════
AUTOMATION
═══════════════════════════════
Create ONE alert with the condition "Any alert() function call" and paste your webhook URL. Every BUY, SELL, TP1_HIT, TP2_HIT, SL_HIT, BE_EXIT, TIME_STOP and ARMED event posts ready-to-use JSON containing id, symbol, action, setup, shape, qty, price, entry, sl, tp1, tp2, pdvah, pdval, timeframe and time — connect it to any bridge or bot without touching the code. Separate alertconditions for BUY, SELL and "any signal" are also available.
═══════════════════════════════
HOW TO USE IT
═══════════════════════════════
Built for an intraday execution timeframe: 1m to 15m, exactly like the original workflow (locate on the weekly and daily profiles, execute on a 1-minute chart). Index futures and index CFDs are the natural home (NQ, ES, DAX, Nikkei), but the profile engine derives its bin size from the average daily range, so gold, FX and crypto work out of the box. For index futures switch on "cash session only" and set the exchange session so the overnight trade does not smear the profiles.
Every input is documented with a tooltip that explains what it does and why it exists. Start with the defaults, then loosen step 2 or step 3 if you want more signals — and be aware that every filter you switch off moves you back towards the 70 % phase where this trigger simply does not pay.
═══════════════════════════════
NOTES
═══════════════════════════════
The entry logic is mechanical and reproducible. Stop distances, targets and the time stop are parameters, not gospel: size them to the instrument you trade. Profiles are built from the bars of the chart you are on, so a finer timeframe gives a finer profile. Hit rates quoted in the educational material behind this model refer to the full workflow including discretionary session context — treat the signals as a structured, disciplined framework, not a guarantee, and always validate on your own data before risking capital.
Open source. Feedback and improvement ideas are welcome.
WHY THESE PARTS BELONG TOGETHER
The point of control and the breakout trigger are combined because a breakout setup does not fail
because the setup is bad, it fails because it was taken in the wrong market phase. The VPOC locates
that phase: a break away from a freshly built point of control is a different trade from a break
back into an old one. The imbalance measurement is the third piece - it tells you whether the move
away from the VPOC was one-sided enough to be worth following.
Market Profile VPOC Breakout automates that location-first workflow end to end: weekly and daily volume/TPO profiles, the value areas, the VPOC sequence, the transferred prior-day value-area edge, single prints, the P / b micro-profile proof, the entry trigger, the risk model and ready-to-use webhook JSON — all on one chart, with an explanation attached to every single object.
═══════════════════════════════
THE 7 CONFIRMATIONS
═══════════════════════════════
The panel walks you through them live, top to bottom, and nothing below step 1 matters while the market is in balance.
① WEEKLY LOCATION — the previous week's value area is the equilibrium. Price inside it = the 70 % phase → stand down. Price above VAH or below VAL = imbalance → hunt. The shaded zone on the chart is that balance; the background wash tells you at a glance which phase you are in (mint = imbalance up, red = imbalance down, gold = balance).
② EQUILIBRIUM TEST + REJECTION — the week opened outside the balance, price came back to TEST the weekly value area and was aggressively traded away from it again. That rejection is the proof that the market no longer wants to be in equilibrium.
③ TREND OF EQUILIBRIUM — the sequence of daily VPOCs. Rising VPOCs mean fair value itself is migrating up: the distribution of the participants' equilibrium is trending, which is exactly what a fast trade WITH the trend needs. Flat or overlapping VPOCs = balance = no trade. Drawn as a staircase over the session VPOCs.
④ PRIOR-DAY VALUE AREA BREAK — the previous session's value-area edge is transferred onto the execution timeframe as a thick green line. Price has to ACCELERATE through it, not drift.
⑤ SINGLE PRINTS — the indicator reads the running session's TPO grid and counts price rows that only ONE bar ever touched. Those rows are marked as a cyan SINGLE PRINT zone: the market moved so fast that no business was done there = aggressive buyers or sellers, not passive rotation.
⑥ P / b MICRO SHAPE — the micro profile of impulse + the small balance that forms on it is measured. POC in the upper part = P (aggressive buyers shifting equilibrium up) → long. POC in the lower part = b (sellers shifting it down) → short. A symmetric D is skipped. This is the P/b/D profile-shape logic used by two-time World Cup Championship of Futures Trading winner Patrick Nill.
⑦ TRIGGER — two variants, both switchable:
• BREAK-IN — price dips back into the P/b balance and is instantly bought / sold again (the aggressive, earlier entry, trend-continuing).
• BREAKOUT — a CLOSE beyond the balance edge with a higher (long) or lower (short) close. Never a wick.
═══════════════════════════════
RISK MODEL
═══════════════════════════════
Stop behind the structural invalidation (micro-balance edge, impulse origin or the reference level) plus an ATR buffer. TP1 in R multiples moves the stop to break-even, TP2 lets the runner work. And the rule that keeps this model alive: a TIME STOP. If the move does not run within N bars, get out — a failing breakout reverses just as fast as it was supposed to run. Risk and reward are drawn as blocks so the geometry is readable at a glance. One signal per session by default, because the model only exists about once a day.
═══════════════════════════════
WHAT IS ON THE CHART
═══════════════════════════════
• Session volume/TPO profiles with value area, VPOC and shape letter (P / b / D)
• Naked VPOC rays that keep running right as magnets
• Weekly profile + the prior-week balance zone projected into the current week
• The thick green transferred value-area edge with its own explanation
• Daily VPOC staircase and the imbalance gauge in the panel
• Single-print zones, micro-balance boxes with the big P / b letter
• BUY / SELL pills, the full numbered reason stack printed next to the signal, entry / SL / TP1 / TP2 rails, risk and reward blocks, TP / SL / BE / TIME exit tags
• A permanent BEGINNER CARD on the chart plus a HOW TO READ manual — every pill, zone, rail, letter and panel row also has its own hover explanation, so nothing on this chart is unexplained
• Two colour modes: Design (navy, mint / cyan / gold) or Original TPO (the classic grey market-profile look with red VPOC rays and a white profile curve)
═══════════════════════════════
AUTOMATION
═══════════════════════════════
Create ONE alert with the condition "Any alert() function call" and paste your webhook URL. Every BUY, SELL, TP1_HIT, TP2_HIT, SL_HIT, BE_EXIT, TIME_STOP and ARMED event posts ready-to-use JSON containing id, symbol, action, setup, shape, qty, price, entry, sl, tp1, tp2, pdvah, pdval, timeframe and time — connect it to any bridge or bot without touching the code. Separate alertconditions for BUY, SELL and "any signal" are also available.
═══════════════════════════════
HOW TO USE IT
═══════════════════════════════
Built for an intraday execution timeframe: 1m to 15m, exactly like the original workflow (locate on the weekly and daily profiles, execute on a 1-minute chart). Index futures and index CFDs are the natural home (NQ, ES, DAX, Nikkei), but the profile engine derives its bin size from the average daily range, so gold, FX and crypto work out of the box. For index futures switch on "cash session only" and set the exchange session so the overnight trade does not smear the profiles.
Every input is documented with a tooltip that explains what it does and why it exists. Start with the defaults, then loosen step 2 or step 3 if you want more signals — and be aware that every filter you switch off moves you back towards the 70 % phase where this trigger simply does not pay.
═══════════════════════════════
NOTES
═══════════════════════════════
The entry logic is mechanical and reproducible. Stop distances, targets and the time stop are parameters, not gospel: size them to the instrument you trade. Profiles are built from the bars of the chart you are on, so a finer timeframe gives a finer profile. Hit rates quoted in the educational material behind this model refer to the full workflow including discretionary session context — treat the signals as a structured, disciplined framework, not a guarantee, and always validate on your own data before risking capital.
Open source. Feedback and improvement ideas are welcome.
WHY THESE PARTS BELONG TOGETHER
The point of control and the breakout trigger are combined because a breakout setup does not fail
because the setup is bad, it fails because it was taken in the wrong market phase. The VPOC locates
that phase: a break away from a freshly built point of control is a different trade from a break
back into an old one. The imbalance measurement is the third piece - it tells you whether the move
away from the VPOC was one-sided enough to be worth following.
Open-source script
In true TradingView spirit, the creator of this script has made it open-source, so that traders can review and verify its functionality. Kudos to the author! While you can use it for free, remember that republishing the code is subject to our House Rules.
Disclaimer
The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.
Open-source script
In true TradingView spirit, the creator of this script has made it open-source, so that traders can review and verify its functionality. Kudos to the author! While you can use it for free, remember that republishing the code is subject to our House Rules.
Disclaimer
The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.