PyneCore v6.8.13 released — the remaining measured TradingView divergences in the…

Features

  • TradingView’s second intrabar margin-call stage is reproduced: 848/848 margin-call bars exact on BINANCE:BTCUSDT 30m, and Rocket Grid Algorithm goes bit-exact at 411/411 trades
  • request.security() with ignore_invalid_symbol=true now logs a WARNING when a missing context is downgraded to all-na, instead of running on silently

Fixes

  • strategy.exit() keeps both levels of a profit/limit, loss/stop or trail_points/trail_price pair live and fills whichever the price path reaches first
  • Margin checks size a pyramided entry against its own order, not the position it would leave behind, and re-check at a long’s favorable extreme after the leg’s fills
  • ta.sar() no longer rejects argument combinations TradingView computes, and its reversal test is strict on both sides
  • ta.highest() / ta.lowest() behind a gate serve the stale window TradingView serves — 28827/28827 bars match where the old rescan missed 872
  • A trailing exit first issued after its entry filled anchors its water mark to the issue bar’s close, not that bar’s extreme
  • A resting default-sized entry freezes the quote-to-account rate with its money budget, so only the fill price comes from execution
  • Pine’s and / or yield a bool and cast every operand — a na or int operand no longer leaks out as the whole expression’s value
  • math.round_to_mintick() decides ties on the exact number * pricescale / minmove value, away from zero
  • Live broker: orphan exit legs are retired on a flat book (journal-only adopted legs included), a CANCELLED arriving after a full fill is treated as a benign echo, and a replayed parent’s fail-safe state no longer blocks new entries

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