Documentation
5. Limitations
- Created
- Jun 16, 2026
- Updated
- Jun 16, 2026
Fractal Chart's Pine Script support covers ~96% of the Pine v6 reference manual. This page lists what is not yet supported or behaves differently from TradingView.
Not supported
| Feature | Notes |
|---|---|
| Pine v4 and older | Scripts with @version=4 or no version declaration are not supported. Use TradingView's built-in script converter, then re-paste as v6. |
Library import/export | Scripts that import a published TradingView library (e.g. import username/LibName/1 as lib) will fail. Self-contained scripts work fine. |
Multiline string literals ("""...""") | Not yet supported. Use single-line strings or concatenation instead. |
request.dividends/earnings/splits/financial/economic | These return na — Fractal has no fundamental data feed for this. |
ask/bid | No L1 quote feed; these are na. |
strategy.risk.* | The risk-limit functions (strategy.risk.max_drawdown, etc.) are parsed but do nothing. |
session.ismarket/ispremarket/ispostmarket | Return na — no intraday session model. |
matrix.eigenvalues/eigenvectors/pinv | Not yet implemented. |
Behavioral differences from TradingView
Realtime bars. Fractal evaluates scripts on historical bars plus the most recently completed bar. The barstate.isrealtime flag is false on historical bars; on a live streaming chart it is true only on the current open bar. Indicator output from the current open bar may update on each tick.
request.security cross-symbol. Cross-symbol requests are fetched from the same data provider as the chart. If a symbol is not available from your current provider the request returns na. There is currently no cap on the number of distinct symbols a script can request — avoid scripts that fan out to many symbols at once.
request.security_lower_tf. Lower-timeframe intrabar data is only meaningful on an intraday chart. On a daily or weekly chart, requesting a lower timeframe returns empty arrays.
syminfo live metadata. Fields like syminfo.description, syminfo.exchange, and syminfo.industry return a stub or na; the core numeric fields (mintick, pricescale, currency) are accurate.
No session timezone filtering. The time() and time_close() functions return bar times correctly, but session-window filtering (restricting bars to a specific trading session) is not applied.
Indicator compute on the main thread. Pine indicators run synchronously. A script with an unbounded loop (for example while true) will freeze the chart tab. Use for loops with a known upper bound. This limitation will be addressed in a future release.
Alert routing. alert() and alertcondition() inside an indicator route to all your configured global alert channels including webhooks. Per-indicator opt-in for specific channels will be added in a future release.
Inline history expressions
History on an inline expression ((high + low)[1], f(x)[1]) works by automatically materializing the expression into a history slot. This is equivalent to writing:
tmp = high + low
prev = tmp[1]
Both forms are supported.
Next steps
Back to the Pine Script overview.
Next: Pine Script Overview