Scroll
pineforge
Get early access

Join the waitlist. We’ll send one launch email and one occasional progress note.

Hosted Studio launches Q4 2026. Self-host today via the open-source CLI.

158/162
strict TV parity
trade-for-trade, 162 reference strategies
49/50
vs PyneCore 46/50
three-engine bake-off; PineForge leads
~98%
strategy coverage
of what real Pine v6 scripts use; full table on /coverage
218k+
trades validated
aggregate across the 162-strategy corpus
Apache-2.0
open-source runtime
audit + self-host the engine yourself
strategy.pine
PineScript v6
//@version=6
strategy("EMA Cross", overlay=true, initial_capital=10000)

length = input.int(14, "Length")
sig    = ta.ema(close, length)

if ta.crossover(sig, sig[1])
    strategy.entry("long", strategy.long)

if ta.crossunder(sig, sig[1])
    strategy.close("long")
Generated C++ · emitted by codegen
class GeneratedStrategy : public BacktestEngine {
    ta::EMA          _ta_ema_1{14};
    Series<double>  _s_sig{500};

    void on_bar(const Bar& bar) override {
        int    length = get_input_int("Length", 14);
        double sig    = _ta_ema_1.compute(bar.close);
        _s_sig.push(sig);

        if (sig > _s_sig[1] && _s_sig[1] <= _s_sig[2])
            strategy_entry("long", true);
        if (sig < _s_sig[1] && _s_sig[1] >= _s_sig[2])
            strategy_close("long");
    }
};
Trades
142
Net P&L
+$3,184.62
Sharpe
1.48
Max DD
−12.7%
ma-cross paritysupertrend parityinside-bar paritystochastic-slow paritypivot-ext parity4ema-rsi parityliquidity-sweep paritymarket-shift paritymacd-histogram paritydonchian-breakout paritymatrix-pca parityregex-filter parity
Built for

Three audiences. One runtime.

01 / B2C primary

Solo quant traders

  • Your data, your machine, no premium tier.
  • Optuna with any custom objective.
  • Webhooks without rate limits.
Open-source CLI today · Studio Q4 2026
02 / B2C creator

Strategy sellers

  • Sell compiled .so. Buyers never see source.
  • Time-bounded, signed, machine-bound licenses.
  • Configurable inputs only — tune what you allow.
Marketplace beta Q4 2026
03 / B2B accepted

Trading desks · small funds

  • Audit-grade reproducibility for compliance.
  • Open-source runtime your security team can fork.
  • Multi-engine cross-validation per release.
Talk to us · pilot + on-prem
Why PineForge

Three things TradingView’s runtime won’t give you.

01 / DETERMINISM

Same script, same data, same trades. Byte-reproducible.

02 / SPEED

Native C++. 50k bars in tens of milliseconds.

03 / OWNERSHIP

Your data, your machine, your strategy. Offline by default.

Capabilities

Five things you can’t do on TradingView alone.

01
shipped

Bring your own data

Any OHLCV CSV — your tick data, your custom feed, your alternative-asset history. Run offline, in CI, in Docker. No upload, no API key.

02
shipped

Intra-bar resolution at any cadence

Six distribution modes (uniform, cosine, triangle, endpoints, front/back-loaded), optionally volume-weighted. A limit at $100 inside a 95–105 bar fills at exactly $100 — TradingView’s bar magnifier without the subscription.

03
building · Q3 2026

Optuna with a custom objective

Sharpe, Sortino, drawdown, profit factor — or any one-line lambda you want the optimizer to chase.

def objective(report):
  return 0.6 * report.sharpe - 0.3 * report.max_dd + 0.1 * report.profit_factor
04
building · Q3 2026

Forward-test with TradingView-shaped webhooks

Drop-in replacement for TradingView alerts. Same JSON shape, same runtime as your backtest — no rate limits, no replay drift.

05
designed · 2027

Strategy marketplace · sell compiled .so

AES-256-GCM-encrypted shared library. Ed25519-signed, machine-bound, time-bounded licenses. Buyers tune the inputs you expose; they never see the source. Full design →

How it works

Four stages.
Zero hidden state.

stage 01
Transpile
Lexer · parser · analyzer · codegen. Pine source becomes a C++ class deriving from BacktestEngine with TA call-sites resolved, series detected, enums tabled.
stage 02
Compile
c++ -O2 -shared against libpineforge.a. MD5-keyed cache skips recompilation when neither script nor runtime has changed.
stage 03
Run
Python loads the .so via ctypes, streams bars from your DataFrame, collects a structured report — trades, P&L, equity, MAE/MFE.
stage 04
Validate
Optional: diff every trade against TradingView’s CSV export. Trade-by-trade matching with re-sync over a 1-hour window. 158 of 162 strategies at strict parity today.
Studio preview

One report, every number you actually trust.

ETHUSDT · 15m2025-07 → 2026-04EMA Cross · L=21
Net
+31.84%
Sharpe
1.48
Max DD
−12.7%
Win rate
52.1%
Trades
142
Profit factor
1.71
Equity curve · vs Buy & HoldPineForgeB&H
Jul '25Sep '25Nov '25Jan '26Mar '26Today
PineScript v6 coverage

~90% of the language.
~98% of what strategies actually use.

Drawing primitives, alerts, and live-tick semantics are out of scope by design — PineForge runs offline. Everything that determines a trade is in.

Full function-by-function coverage
ta.* — 66 stateful indicator classes66/6897%
math.* — deterministic + rollingcoresupported
str.* — format · split · regex · tostringcoresupported
strategy.* — orders · risk · accessorsfull100%
array<T> · map<K,V> · UDTvia codegensupported
matrix<T> — Eigen-backed60+ opssupported
request.security — ratio · calendar · lower-TFcoresupported
drawing & alertsout of scope
TradingView parity

We don’t ask you to trust the engine.
We diff it.

Every release is validated trade-by-trade against TradingView’s CSV exports — 162 reference strategies, full corpus open-source.

158/162
strategies at strict parity
Excellent158Strong4Weak / fail0
Three-engine bake-off · 50 strategies · same OHLCV
How PineForge stacks up against PyneCore and PineTS.
Full comparison & reproduction recipe
C++ static lib
PineForge
49 / 50
49 excellent · 1 strong · 0 weak
Python (cloud-transpiled)
PyneCore
46 / 50
46 excellent · 1 strong · 2 moderate · 1 weak
TypeScript (LuxAlgo)
PineTS
indicators only
strategy backtester is upstream roadmap
The 3-strategy gap (06-liquidity-sweep, 07-scalping-strategy, 49-partial-exit-qty-percent) is consistently in bracket / trail / partial-exit semantics, where PyneCore’s broker emulator differs from TV. See the per-strategy breakdown →
What’s coming

Backtest is the start. Live is the point.

  1. now
    shipped
    Deterministic batch backtests
    Pine v6 → C++ → trades. 158/162 strict TV parity, 81% line coverage, open-source pineforge-engine.
  2. Q3 2026
    building
    Forward-test + Optuna optimization
    Streaming feed_bar() API. Multi-window robustness scoring.
  3. Q4 2026
    next
    Hosted Studio · paper trading
    Code · Backtest · Optimize · Compare workspace. One broker bridge at launch.
  4. 2027
    later
    Live execution · marketplace
    Multi-broker fills. Encrypted strategy distribution. Audit log per order.
Frequently asked

Is this legal? How does it compare to PyneCore? What if PineForge shuts down? Eight short answers.

Read the FAQ

Be there when Studio opens.

One launch email. One occasional progress note. No upsell-marathon.