PyneCore v6.8.4 released — computed ta lengths now truncate exactly like TradingView,…
Fixes
- A computed length such as
R / 8is now truncated where an integer is required, matching TradingView:ta.cog,ta.highest,ta.linreg,ta.lowest,ta.pivothigh,ta.pivotlow,ta.smaandta.valuewhenwere affected, andta.smawas additionally dividing a truncated window by the untruncated length. - A reconnect hook that fails during a live run is retried before streams resume, and stays quarantined until the handshake succeeds — including across market close and reopen.
- A nested call inside a callee chain (
f().g(),a[f()].g()) now gets its own call site, and a callee expression that runs code is evaluated once instead of twice. - A stateful call inside a comprehension iterable no longer emits code Python rejects.
flush()on the CSV writer waits for the rows to actually reach the file,close(timeout=...)raisesTimeoutErrorinstead of hanging, and a dying worker releases its waiters.CCXTProviderlost a broken duplicate helper that referenced an undefined name.
Features
- New
--no-plotswitch forpyne run, for live runs where the plot CSV would grow without bound.
Performance
ta.dev,ta.linreg,ta.wmaand through themta.cciandta.hmaread their window without a per-bar rebind: 23.2% faster over 525,600 bars on a script combining them, byte-identical output.- Overload dispatch, per-bar library writes and series appends: a further 1.8-3.8% on the same benchmark, output unchanged.
Full release notes: https://github.com/PyneSys/pynecore/releases/tag/v6.8.4