PyneCore v6.4.6 — futures correctness & strategy robustness

  • Futures PnL now applies syminfo.pointvalue everywhere (closed trades, openprofit, drawdown/runup, percent commissions, end-of-backtest open exit)
  • lib.math.round_to_mintick fixed for symbols with minmove != 1 (e.g. NYMEX_MINI:QM1! — tick 0.025)
  • process_orders_on_close=true is now honoured: same-bar market/limit/stop fills at close, two-phase entry+exit, COOF auto-disabled when POOC is on
  • strategy.commission.cash_per_contract now charges both legs (entry and exit), matching Pine v6
  • PriceOrderBook.add_order idempotent — mixed strategy.exit(limit=…, loss=…) no longer leaves ghost orders after cancel
  • request.security() no longer deadlocks when a child process crashes before signalling
  • barstate.* flags converted from module properties to plain variables (consistent reset across reruns)
  • Base-currency detection strips provider prefixes / TV suffixes (BINANCE:BTCUSDT.PBTC) — fixes crypto quantity rounding

Thanks to Zombajo on GitHub for the precise, well-reproduced bug reports that drove most of this release.

Release notes: https://github.com/PyneSys/pynecore/releases/tag/v6.4.6