PineForge’s book
- Trades
- 289
- Net P&L
- −1,712.93 USDT
- Largest drawdown, closed trades
- −3,826.07 USDT
- Win rate
- 19.4 %
- Profit factor
- 0.86
31 paired trades differ; the Trades view counts them by kind.
Tap or drag the chart to read any point.
Source: tv_trades.csv and engine_trades.csv in pineforge-corpus at d75b4fa.
| Time (UTC) | TradingView, USDT | PineForge, USDT |
|---|---|---|
| 2025-04-02 12:00 | −59.66 | −59.62 |
| 2025-05-07 16:30 | −964.40 | −963.76 |
| 2025-06-30 06:45 | 655.77 | 656.47 |
| 2025-08-27 21:45 | 1,746.26 | 1,746.99 |
| 2025-10-05 00:45 | 1,280.39 | 1,281.12 |
| 2025-11-19 03:30 | −18.35 | −17.69 |
| 2026-01-18 23:45 | 485.42 | 486.08 |
| 2026-03-11 00:45 | −1,183.30 | −1,182.68 |
| 2026-05-04 00:00 | −1,713.53 | −1,712.93 |
Computed from the same series as the P&L view: how far each book’s cumulative P&L sits under its own running peak.
| Time (UTC) | TradingView, USDT | PineForge, USDT |
|---|---|---|
| 2025-04-02 12:00 | −59.66 | −59.62 |
| 2025-05-07 16:30 | −964.40 | −963.76 |
| 2025-06-30 06:45 | −717.55 | −717.58 |
| 2025-08-27 21:45 | −354.43 | −354.45 |
| 2025-10-05 00:45 | −820.30 | −820.32 |
| 2025-11-19 03:30 | −2,119.05 | −2,119.13 |
| 2026-01-18 23:45 | −1,615.28 | −1,615.36 |
| 2026-03-11 00:45 | −3,283.99 | −3,284.11 |
| 2026-05-04 00:00 | −3,814.23 | −3,814.37 |
Each square is one trade, counted by class. The squares are counts, not positions in time.
| Class | Trades |
|---|---|
| Identical | 257 |
| Differing | 31 |
| TradingView only | 1 |
| PineForge only | 1 |
| Total | 290 |
257 of 289 trades are identical in both books; 1 entry is 3 bars later in PineForge’s book and 0.0766 % apart in price, 1 exit differs by 0.0773 % in price, 31 quantities differ by at most 0.0744 %, 1 TradingView trade has no PineForge partner, and 1 PineForge trade has no TradingView partner.
Source: TradingView’s export, tv_trades.csv, and PineForge’s trade list, engine_trades.csv, as committed in pineforge-corpus at d75b4fa; PineForge’s was written by engine v1.0.1.
Graded excellent by the engine’s open-corpus check, which allows entry and exit prices within 0.01 % of TradingView’s and P&L within 1 % at the 90th percentile, over the window both lists cover. For excellent, where TradingView shows two or more distinct entry Signals at one exact time, price and direction, the engine shows as many distinct entries there (distinct-entry identity). Identical means both files print the same side, entry and exit time and entry and exit price, and the same quantity to the decimals TradingView exports. How the grades work
This page shows the files committed in pineforge-corpus at commit d75b4fa: the Pine source, the C++ that codegen 1.0.1 generated from it and both trade lists, PineForge’s written by engine v1.0.1 from that C++. The grade comes from the engine’s corpus check at 35db01c8, which re-runs every strategy and which engine v1.6.2 includes. The pineforge-release 1.6.0 image carries engine and codegen 1.6.0 and runs them on the OHLCV data you give it; the published pair is v1.6.2.
Save the strategy’s strategy.pine from that corpus commit next to your OHLCV file, then run:
docker run --rm --network=none \
-v "$PWD/strategy.pine:/in/strategy.pine:ro" \
-v "$PWD/ohlcv.csv:/in/ohlcv.csv:ro" \
ghcr.io/pineforge-4pass/pineforge-release:1.6.0 > report.jsonOn the hourly timeframe, request.security evaluates an EMA with barmerge.gaps_off and barmerge.lookahead_off; the local EMA and ATR run on chart bars. A crossover submits a long; a crossunder can close it, and strategy.exit separately updates an ATR stop while long. Alongside entry, exit and quantity differences, the page lists a record with no PineForge partner and a record only in PineForge. Sizing uses a percentage of account value. With calc_on_order_fills disabled, a fill does not itself trigger another evaluation of the position-dependent stop instructions.