What v6 added
TradingView's launch post lists the headline upgrades.
| Feature | What it does |
|---|---|
| Dynamic requests | request.*() calls accept "series string" values and can sit inside local scopes, so one script can loop over symbols or timeframes. |
| Lazy boolean evaluation | and and or stop evaluating once the result is known. |
| No hard 9,000-trade stop | Strategies "no longer stop calculating or raise an error after reaching the 9000 trade limit." The oldest orders are trimmed instead. |
| Negative array indices | array.get(), array.set(), array.insert() and array.remove() accept negatives, so -1 is the last item. |
| Text formatting | Text sizes in typographic points, plus bold and italic through text_formatting. |
Source: >TradingView blog
TradingView also says v6 upgrades "do not affect personal or published scripts written in earlier Pine versions." A converter exists, though "not all scripts can be converted to v6 automatically."
The breaking changes that touch strategies
These come from TradingView's >v6 migration guide. The right column is our read on why each one matters for a backtest.
| Change in v6 | Why it can matter |
|---|---|
| Default strategy margin is now 100. It used to default to 0, which meant no margin checking. | A converted strategy may now size or fill differently. Recheck trade count. |
strategy.exit() with both absolute and relative levels evaluates both and "uses the one that the market price is expected to trigger first." |
Exit prices can change on trades where both were set. |
The when parameter is removed from strategy.entry(), strategy.exit(), strategy.close() and related calls. |
Conditions move into if blocks. A careless rewrite can change logic. |
| Dividing two ints that don't divide evenly "always results in a number with a fractional value." | 3 / 2 gives 1.5. Code that relied on truncation needs math.floor() or similar. |
bool values can no longer be na. na(), nz() and fixnan() no longer accept bools. |
Three-state flags need a new design. |
Numbers no longer cast to bool implicitly. Use bool(). |
Old shortcuts like if volume stop compiling. |
and / or evaluate lazily. |
A function call on the right side may not run every bar. |
transp is removed from plot(), bgcolor() and others. Use color.new(). |
Visual only, but it breaks compilation. |
timeframe.period always includes a multiplier, such as "1D" instead of "D". |
String checks against "D" silently fail. |
The quiet ones are the dangerous ones. The margin default and the strategy.exit() change can shift results without a single compile error.
Twelve monthly updates since launch
TradersPost tracked every Pine release from February 2025 to January 2026 (>TradersPost).
| Month | Update |
|---|---|
| Feb 2025 | Unlimited local scopes (the 550-scope limit removed); bid and ask on tick charts |
| Mar 2025 | Dynamic for loop boundaries; box.set_xloc() |
| Apr 2025 | PercentageLTP box sizing for alternative chart types |
| May 2025 | time_close improvements for Renko, Kagi and other non-time charts |
| Jun 2025 | Library constant exports with export const |
| Jul 2025 | Active input parameter; syminfo.current_contract for continuous futures |
| Aug 2025 | Max string length raised 10x to 40,960 characters; editor side panel |
| Sep 2025 | Plot linestyle: solid, dashed or dotted |
| Oct 2025 | timeframe_bars_back for time() and time_close() |
| Nov 2025 | syminfo.isin |
| Dec 2025 | Relaxed indentation for lines wrapped in parentheses |
| Jan 2026 | request.footprint() plus footprint and volume_row types |
For futures traders, syminfo.current_contract stands out. It is built for tracking the live contract behind continuous futures charts such as NQ1!.
request.footprint(), in plain English
Footprint data shows how volume split between buyers and sellers at each price inside a bar. TradingView's release notes say scripts can now read "total 'buy' or 'sell' volume and overall volume delta," plus each row's "price levels, volume values, volume delta, and imbalances." The footprint also supplies Value Area and Point of Control boundaries (>TradingView release notes).
The signature is request.footprint(ticks_per_row, va_percent, imbalance_percent) (>TradingView docs).
Two limits to know:
- Plan. It's available to "programmers who have a Premium or Ultimate plan."
- It returns
nawhen data is unavailable. Guard for that, or your filter will quietly skip bars.
A delta filter is the obvious use. For example, take a breakout only when the bar's delta agrees with the direction. That idea is untested here. Treat any footprint rule like any other new filter: backtest it with costs before you trust it.
A migration checklist for your strategies
- Save a v5 baseline. Export trade count, net profit, profit factor and max drawdown.
- Run the converter. Fix what it can't convert by hand.
- Set margin on purpose. Don't let the new default decide it for you.
- Audit every
strategy.exit()that sets both absolute and relative levels. - Search for integer division and bool
nachecks. - Re-run the backtest with the same costs. Compare it to the baseline trade by trade. Any gap needs a reason.
How to use it on the Loomi.Ai Desk
Loomi's named strategies already ship in v6. On the strategy pages, a $99 one-time purchase includes "The Pine Script (v6) version for TradingView, ready to add to your chart" and "The Python version for your own machine or backtesting," plus plain-English setup instructions and the certificate behind the numbers. If you'd rather lease, "Every Pine strategy" is $49/month.
The Python version matters for the checklist above. Loomi's certificates describe two passes: a TradingView run, then rules "independently re-implemented in Python and re-run over the full dataset with realistic costs. Both passes must agree before a strategy is published." Every test uses the same settings: "Commission $0.62/contract (futures) · 0.10%/trade (equities) · slippage 1 tick · pyramiding 0 · bar-close calc only · fixed size."
A second engine gives you a reference that doesn't depend on Pine's defaults. If a platform change ever moves your TradingView numbers, you have something to compare against. Backtested results are hypothetical and don't guarantee future results.
The Desk itself is $8/mo intro, then $20/mo.
Put the research to work on your Desk
Explore the tools behind the research, compare the available access, or open your Desk if you already have an account.
FAQ
Is Pine Script v5 still supported? v5 scripts keep running. TradingView says new features go only into the latest version, so v5 won't get them.
How do I convert Pine Script v5 to v6?
Use the converter in the Pine Editor, then fix what it can't handle. Check the migration guide for the when removal, integer division, bool na and the new margin default.
What is request.footprint() in Pine Script? A function added in January 2026 that returns volume footprint data: buy and sell volume, delta, Point of Control, Value Area and imbalances per row.
Do I need a paid TradingView plan for footprint scripts? Yes. TradingView's release notes say footprint features are for Premium or Ultimate plan users.
Loomi.Ai provides educational market research, not financial advice. Backtested results are hypothetical and do not guarantee future performance.
Sources
- >Pine Script v6 has landed, TradingView
- >To Pine Script version 6 (migration guide), TradingView
- >Pine Script release notes, TradingView
- >Other timeframes and data, TradingView
- >Pine Script Updates 2025–2026, TradersPost
- >Strategy Lab and >Verify, Loomi.Ai