PineForge’s book
- Trades
- 813
- Net P&L
- −4,697.79 USDT
- Largest drawdown, closed trades
- −5,614.08 USDT
- Win rate
- 24.2 %
- Profit factor
- 0.87
1 exit differs by 0.0216 % in price and 199 quantities differ by at most 0.00896 %.
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-03-31 11:45 | −84.14 | −82.83 |
| 2025-05-20 23:15 | 499.51 | 500.85 |
| 2025-07-10 13:15 | −90.13 | −88.81 |
| 2025-09-03 02:30 | −386.91 | −385.61 |
| 2025-10-21 12:30 | −738.64 | −737.36 |
| 2025-12-05 08:45 | −1,120.07 | −1,118.82 |
| 2026-01-23 06:15 | −2,709.27 | −2,708.08 |
| 2026-03-11 12:30 | −4,315.24 | −4,314.07 |
| 2026-05-03 23:15 | −4,698.93 | −4,697.79 |
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-03-31 11:45 | −84.14 | −82.83 |
| 2025-05-20 23:15 | −108.51 | −108.52 |
| 2025-07-10 13:15 | −698.15 | −698.18 |
| 2025-09-03 02:30 | −1,228.53 | −1,228.60 |
| 2025-10-21 12:30 | −1,580.25 | −1,580.35 |
| 2025-12-05 08:45 | −1,961.68 | −1,961.81 |
| 2026-01-23 06:15 | −3,550.89 | −3,551.06 |
| 2026-03-11 12:30 | −5,156.85 | −5,157.05 |
| 2026-05-03 23:15 | −5,540.55 | −5,540.78 |
Each square is one trade, counted by class. The squares are counts, not positions in time.
| Class | Trades |
|---|---|
| Identical | 613 |
| Differing | 200 |
| TradingView only | 0 |
| PineForge only | 0 |
| Total | 813 |
613 of 813 trades are identical in both books; 1 exit differs by 0.0216 % in price and 199 quantities differ by at most 0.00896 %.
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.jsonBefore testing a breakout, the loop accumulates absolute math.log returns and channel extrema from historical bars, excluding the current bar. The average absolute log return, times the buffer multiplier, widens those extrema into upper and lower triggers. Crossover and crossunder conditions submit directional entries. Each size is a share of account value, so earlier exits affect later sizing. Entries agree, while an exit and many quantities differ. While a position exists, strategy.exit updates its stop from strategy.position_avg_price and the current ATR; the script does not freeze ATR at entry.