Dev Updates
Development in the open. PyneCore and PyneComp releases land here as they happen — what got fixed, what got added, and now and then what we got wrong — along with progress on work that is not finished yet. Synced directly from our Discord dev-updates channel.
PyneCore’s full changelog lives on GitHub; PyneComp’s progress you will find here and nowhere else. More granular and more technical than News — this is the engineering log, not the announcements.
PyneCore v6.10.6 released — programmatic script settings via ScriptRunner(settings=...),…
ScriptRunner(settings=...) overrides a script's own settings (initial_capital, commission_value, pyramiding, ...) for one run; import_script(..., inputs=..., settings=...) loads a script with overrides without running…
Read more →PyneComp v6.0.71 — older v4/v5 strategies now behave the same after conversion as they…
Converting a v4/v5 strategy to v6 now keeps its original defaults: 1 contract per entry instead of 100 % of equity, and the original initial_capital. Before, the converted script could produce completely different…
Read more →PyneCore v6.10.5 released — strategy() defaults now follow current Pine v6, margin-reject…
strategy() defaults: initial_capital 100000, default_qty_type strategy.percent_of_equity, default_qty_value 100 — set them explicitly to keep previous results
Read more →PyneComp v6.0.70 — More Pine v5 scripts now convert to v6 cleanly, and a handful of valid…
//@version = 6 (with spaces around =) is now recognized; before, such a script was rejected as an unsupported version - for var i = 0 to n and for varip ... loop counters now compile - Chained equality comparisons such…
Read more →PyneCore v6.10.4 released — math.sum now matches TradingView bit for bit,…
math.sum (and ta.sma on top of it) is bit-exact with TradingView during warmup, on growing lengths and on lengths that change every bar - calc_on_order_fills re-runs the script after every fill and stops at the first…
Read more →PyneComp v6.0.69 — Legacy scripts convert more faithfully, and several scripts that used…
A script with more than one //@version line (e.g. a v6 script that also carries an old //@version=5 comment) now follows the first one, like TradingView, instead of failing with "Empty document." - array.from() mixing…
Read more →PyneCore v6.10.3 released — TradingView-exact time() periods and extended hours,…
pyne data convert-from wrote schedules on ISO weekdays, so unlagged request.security("D") leaked Monday's own daily close; delete earlier generated symbol TOMLs and convert again (#85) - Aggregation and the…
Read more →PyneCore v6.10.2 released — load-time inlining and type erasure, a Decimal-free number…
Security children now start on forkserver (or spawn) instead of the platform default — a live child was forked from a multi-threaded parent and could inherit locks nothing would release - The orphan watchdog waits on…
Read more →PyneCore v6.10.1 released — faster request.security backtests and rollback that keeps…
request.security children run only the backward slice of main() they need, so multi-context scripts run several times faster - Contexts reading the same feed share one child process: 2-3x faster on multi-call scripts -…
Read more →PyneComp v6.0.68 — Converted and compiled scripts now match TradingView's results more…
A function that reads an outside series with [n] (for example s[1]) and is called only on some bars now gets the value from its previous call, as on TradingView. Before, it got the previous bar's value, which could…
Read more →