Skip to content
Percentrank mean reversion ETHUSDT 15m

All 363 trades identical in both books

Same side, entry and exit times, prices and quantity on every trade.

0200400600
Jul 2025Oct 2025Jan 2026Apr 2026
USDT

Tap or drag the chart to read any point.

Source: tv_trades.csv and engine_trades.csv in pineforge-corpus at d75b4fa.

The chart as a table
Time (UTC)TradingView, USDTPineForge, USDT
2025-04-06 14:15−4.11−4.11
2025-05-18 18:3084.5884.58
2025-06-30 10:3026.7926.79
2025-08-11 14:1586.9586.95
2025-10-02 01:15302.20302.20
2025-11-12 09:00649.90649.90
2026-01-02 00:30284.94284.94
2026-02-14 16:45333.03333.03
2026-04-04 20:30345.51345.51
  • TradingView, final P&L 345.51 USDT
  • PineForge, final P&L 345.51 USDT
How this is measured

All 363 trades are identical in both books.

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.json
About this strategy

Bar-to-bar close changes supply ta.percentrank, making the rolling distribution a distribution of changes. Entry conditions inspect the unsmoothed rank and its previous value: a long needs a rise while below the lower threshold, and a short needs a fall while above the upper threshold. Consequently, an entry can fire on a turn inside an outer region. Position-specific closes use the midpoint, after the entry conditions have been evaluated. PineForge also calculates ta.sma for display, but that smoothed series never enters the order conditions.

PineForge’s book

Trades
363
Net P&L
+345.51 USDT
Largest drawdown, closed trades
−423.76 USDT
Win rate
68.3 %
Profit factor
1.17
How to backtest offline

Sources and raw trades