ORB 15m Performance Comparison

TradingView Ground Truth vs Python Implementation | NQ Futures | 2023-2025

$77,308.40
TradingView Net P&L
359 trades (w/ TV costs)
$98,630.60
Python Net P&L
348 trades (w/ TopStepX costs)
46.8%
TV Win Rate
PF: 1.37
48.9%
Python Win Rate
PF: 1.52
💰 Fee & Cost Reconciliation Analysis
$77,308.40
TradingView Net P&L
359 trades @ $27.40/trade costs
$103,085.00
Python Gross P&L
348 trades (no costs)
$98,630.60
Python Net P&L (TopStepX)
348 trades @ $12.80/trade
Cost Component TradingView TopStepX (Live) Difference
Commission per trade $7.40 $0.00 -$7.40
Slippage estimate per trade $20.00 $10.00 -$10.00
NFA + Clearing fees per trade $0.00 $2.80 +$2.80
Total Cost per Trade $27.40 $12.80 -$14.60
Total Costs (348 trades) $9,836.60 $4,454.40 -$5,382.20

P&L Comparison (Net vs Net)

Python Net P&L (with TopStepX fees) $98,630.60
TradingView Net P&L (with TV costs) $77,308.40
Net Difference (Python - TV) +$21,322.20
Cost savings (TV costs - TopStepX costs) +$5,382.20

Key Takeaways

  • TopStepX has lower costs than TradingView's assumptions ($12.80 vs $27.40/trade)
  • Python Net P&L (w/ TopStepX): $98,630.60 vs TV: $77,308.40
  • Net advantage: $21,322.20 (of which $5,382.20 is from lower costs)
  • TopStepX slippage estimate: $10.00/trade (~2 ticks round-turn, conservative)
  • Remaining $15,940.00 difference from contract pricing variations
Metrics Comparison
Metric TradingView Python Difference
Total P&L $77,308.40 $98,630.60 +$21,322.20
Trade Count 359 348 -11
Win Count 168 170 +2
Loss Count 191 178 -13
Win Rate 46.8% 48.9% +2.1000000000000014%
Profit Factor 1.37 1.52 +0.15
Avg Win $1,702.42 $1,768.40 +$65.98
Avg Loss $1,092.66 $1,109.80 +$17.14
Largest Win $5,482.60 $5,487.20 +$4.60
Largest Loss -$1,777.40 -$1,762.80 +$14.60
Max Drawdown -$9,871.20 -$11,257.60 -$1,386.40
Max Win Streak 6 9 +3
Max Lose Streak 10 10 0
Avg Trade $215.34 $283.40 +$68.06
Median Trade -$27.40 -$12.80 +$14.60
Win/Loss Ratio 1.56 1.59 +0.03
Expectancy $215.34 $283.40 +$68.06

Strategy Parameters (Matched to TV)

  • Direction: Long only (allow_short=False)
  • Fixed Stop: 350 ticks ($87.50/contract)
  • Fixed Take Profit: 1100 ticks ($275/contract)
  • Breakeven: Enabled at 1R trigger
  • Time Filter: Disabled (matching TV skip_early_minutes_after_open=false)
  • Session: RTH 09:30-16:00 NY

Data Sources

  • TradingView: Continuous back-adjusted NQ contract
  • Python: Front-month individual contracts (NQH, NQM, NQU, NQZ)
  • P&L Calculation: Both use NQ $20/point multiplier
Equity Curve
Drawdown
Year-by-Year Comparison
Year Trade Count P&L Win Rate
TV Py Diff TV Py Diff TV Py
2023 114 115 +1 $20,591.40 $33,848.00 +$13,256.60 53.5% 55.7%
2024 131 127 -4 $22,415.60 $20,284.40 $-2,131.20 44.3% 43.3%
2025 114 106 -8 $34,301.40 $44,498.20 +$10,196.80 43.0% 48.1%

Note: Year-by-year comparison helps identify periods where Python backtest diverges from TradingView. Large trade count differences indicate data quality issues or different trade selection logic.

Key Insights

TradingView

  • Trade count: 359
  • Win rate: 46.8%
  • Profit factor: 1.37
  • Continuous back-adjusted contract
  • Max drawdown: -$9,871.20

Python Implementation

  • Trade count: 348
  • Win rate: 48.9%
  • Profit factor: 1.52
  • Front-month contracts (tradeable)
  • Max drawdown: -$11,257.60

Analysis Summary

With matched parameters (fixed 350-tick stop, 1100-tick TP, 1R breakeven):

  • Python captures 348/359 trades (96.9%)
  • P&L difference: $21,322.20 (+27.6%)
  • Win rate gap: +2.1%
  • The remaining differences are due to front-month vs continuous contract pricing