Documentation

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

FeatureNotes
Pine v4 and olderScripts with @version=4 or no version declaration are not supported. Use TradingView's built-in script converter, then re-paste as v6.
Library import/exportScripts 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/economicThese return na — Fractal has no fundamental data feed for this.
ask/bidNo 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/ispostmarketReturn na — no intraday session model.
matrix.eigenvalues/eigenvectors/pinvNot 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