You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
bool() of a constant number is exact: bool(1e-10) is true in v5 and v6, as on TradingView. The constant is folded at transform time; a series or input value keeps the 1e-10 tolerance of the runtime cast.
Under the v4/v5 three-state bool (na_bool), bool(na) is na, not false. In v6 mode it stays false.
for loops: a by of zero or below stops the script with an error, also on a descending loop, because by is the size of the step and the direction comes from from and to. A negative step used to be flipped and the loop ran. A na step is no error: the loop runs once and ends.
for loops with a fractional counter compare the end with Pine's tolerance, so for i = 1.0 to 0.1 by 0.3 runs four times, not three.
pine_loop gains an entry=True mode (entering, enter(by)) that evaluates a v6 loop header in TradingView's order: from, to, by, then to before every iteration, every read of to being the same call site. PyneComp emits it for a header that calls something with an effect or state; code compiled without it runs as before.
strategy() takes its positional arguments in Pine's order: calc_on_every_history_tick moved after behind_chart, so the 10th positional argument is max_bars_back and the 13th default_qty_value.
Legacy OHLCV files: the bar count leaves out the phantom gap records the reader skips, so last_bar_index matches the last bar the script sees.
Edge profile: the gate accepts the names PyneComp generates for a var block initializer, for the call-history alias of an outer series and for a renamed loop counter, so compiled scripts no longer get "not Pine" diagnostics (errors under PYNE_EDGE_STRICT=1).
pyne robustness coin-flip tests:
An early stop no longer hangs: each worker has its own pipe, and workers get a shared 5 s deadline before they are killed. A worker that dies during a draw raises an error naming the draw and its exit code, and an error inside a draw reaches the caller with the worker's traceback.
Stopped workers no longer print an ignored SystemExit, and a stop during a draw takes effect at the next bar instead of after the stop timeout.
Native transformer: a SystemExit or KeyboardInterrupt raised inside a host callback is re-raised instead of making the transform fall back silently to the Python steps.
Broker:
A partial close that takes the parent's whole position leaves the native stop in place. The stop update used to hit the already closed deal (cTrader POSITION_NOT_FOUND, Capital.com error.not-found.dealId) and fell back to a degrading fail-safe; a close that did not fill would have left the parent without its stop.
The log line for a partial bracket that keeps its classification names the actual cause.