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.
PyneComp v6.0.63 — four conversion bugs that silently changed what a strategy does are…
Converting a v4 strategy whose strategy.entry() or strategy.order() took a computed long argument produced a script that traded the wrong way — a DCA bot closing with long=(IS_LONG?false:true) opened a doubling long…
Read more →PyneCore v6.8.13 released — the remaining measured TradingView divergences in the…
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…
Read more →PyneCore v6.8.12 released — the strategy statistics surface is complete and the equity…
The last missing statistics variables are in: strategy.avg_trade_percent, avg_winning_trade_percent, avg_losing_trade_percent, grossprofit_percent, grossloss_percent, max_contracts_held_all/long/short,…
Read more →PyneComp v6.0.61 — three conversion and compilation bugs that silently changed what a…
A variable declared as var x = input.something(...) now keeps the value you assign to it with :=. Before, it snapped back to the input's default value on the next bar, so any counter or state seeded from an input was…
Read more →PyneCore v6.8.11 released — loop call sites now share one instance the way TradingView…
Loop iterations share ONE instance per call site: user var state accumulates across a bar's iterations, callee builtin machines roll back to bar start — except ta.percentile_*, ta.highest/ta.lowest and math.random,…
Read more →PyneCore v6.8.10 released — a strategy-engine release: how TradingView sizes, books and…
strategy.risk.max_drawdown now enforces against the realized (closed-equity) high-water mark and only on bars that book realized P&L — floating drawdown alone no longer halts trading - Exit orders settle against the…
Read more →PyneCore v6.8.9 released — closes the remaining gaps between PyneCore's numbers and…
Constant expressions now fold at parse time with an fdlibm port (sin, cos, exp, asin, acos) and series-fed math.* runs an Intel-LIBM port at runtime — matching TradingView's two math paths. - New PYNE_ALLOW_LOOKAHEAD…
Read more →PyneComp v6.0.59 — invalid argument lists in a Pine call are now reported as compile…
Passing an argument without a parameter name after a named one — hline(overbought = obLevel, "Overbought", color = color.red) — used to compile successfully and hand you back a script that could not run at all. It is…
Read more →PyneCore v6.8.8 released — stateful ta builtin variables now advance once per bar like…
ta.accdist, ta.nvi, ta.obv, ta.pvi, ta.pvt, ta.wad and ta.vwap are evaluated once per bar instead of once per reference site, so a read inside an if matches an unconditional one - The hoist follows TradingView's…
Read more →PyneComp v6.0.57 — Pine v5 scripts that previously failed to convert with a confusing…
Converting a script where an if, while or else if condition was followed by a comment on the same line produced a broken script — everything after that line collapsed into it. The error pointed at a line you never…
Read more →