PyneCore v6.8.3 released — nine measured TradingView defects, one measured performance…
Fixes
- Float-to-bool conversion uses Pine’s own
1e-10tolerance, so arithmetic residue like2.4e-15no longer fires signals TradingView never draws —if,while,?:,and,or,notand the explicitbool()cast all agree now. - Series history counts bars, not calls: a series whose branch did not run on a bar still advances one slot and repeats the value it last saw.
array.binary_search_leftmostandarray.binary_search_rightmostfollow the measured index laws — leftmost no longer answers-1below the array, whicharray.getsilently turned into the last element.- Negative indices work in
array.get,array.set,array.removeandarray.insert;array.fillrejects an out-of-range bound instead of silently resizing the array. ta.valuewhenno longer returns na when the current source is na, which unblocks the commonta.valuewhen(pivot, pivot, n)idiom.strategy.exitno longer sizes its slice against a pyramid add the pyramiding limit rejects, and an exit withoutfrom_entrybinds to the open position rather than to a pending entry on a reversal.request.currency_rateanswers 1.0 for an empty or identical currency pair instead of na on every bar,request.securityat the chart timeframe places off-grid session bars on the chart bar whose close they reach, and symbol information now carries session corrections so a bar on an exchange early close ends at that close.ta.dmismooths the true range Pine actually uses and compares directional movement tolerantly; Heikin Ashi candles are no longer snapped to the mintick grid and match TradingView’s plot to 1.5e-11.
Performance
- Session data is derived once instead of every bar: 13.5s to 9.8s over 5761 bars and 158.7s to 109.6s over 27583 bars, with byte-identical trades.
Full release notes: https://github.com/PyneSys/pynecore/releases/tag/v6.8.3