PyneCore v6.8.12 released — the strategy statistics surface is complete and the equity…

Features

  • The last missing statistics variables are in: strategy.avg_trade_percent, avg_winning_trade_percent, avg_losing_trade_percent, grossprofit_percent, grossloss_percent, max_contracts_held_all/long/short, max_runup_percent, closedtrades.first_index
  • New strategy.default_entry_qty() — the quantity a default-sized entry would buy at a given fill price, snapped to the tick and lot grids

Fixes

  • strategy.max_drawdown and strategy.max_runup rebuilt on the measured law: gross mark, realized-equity high-water anchor, no whole-bar range for a leg closed mid-bar
  • A closed trade’s profit_percent, max_drawdown_percent and max_runup_percent divide by the total entry cost, and the excursion is measured from the trade’s own entry price; strategy.avg_losing_trade divides the published gross loss
  • Dispatched builtin machines (ta.highest, ta.lowest, the percentile machines) no longer lose their window on a discarded re-execution — under calc_on_order_fills that was every fill bar
  • math.round at precision 0 no longer applies the decimal tie tolerance, matching TradingView’s rounding
  • ta.pivothigh() / ta.pivotlow() accept a zero leftbars / rightbars, as TradingView does
  • OHLC relation check got a magnitude-scaled ULP slack for TradingView spread symbols
  • Broker: a venue OCA auto-cancel of a bracket leg arriving ahead of the sibling leg’s fill no longer quarantines the sync engine

Full release notes: https://github.com/PyneSys/pynecore/releases/tag/v6.8.12

PyneComp v6.0.62 — converted scripts draw their plotshape / plotchar markers on the right bars again.

Fixes

  • Converting a v5 script whose marker used cond ? flag : na produced a script that drew the shape on every bar instead of only where the condition held. The marker now keeps all three states, and the converted source still compiles if you paste it back into TradingView.
  • The same bug in v4 scripts is fixed too: a v4 marker keeps its na unconditionally, matching what TradingView actually exports for a v4 study.
  • Converting a script no longer changes anything else about it — the conversion output is byte-identical to TradingView’s own converter again, so your comments, layout and formatting come through untouched.
  • strategy.default_entry_qty() is now recognised with its fill_price argument instead of being treated as a no-argument builtin.