What you’ll learn
A clean TradingView import prevents broken analytics. Export the right report, normalize timestamps and symbols, and keep costs attached so net P&L and R-multiples stay honest.
- Always import net numbers (include commissions/fees).
- Standardize symbols (ES/MES, NQ/MNQ) and timezones before mapping.
- Combine partial fills to avoid duplicate trades.
Overview
TradingView exports are straightforward once you know which columns matter. This guide shows exactly what to export, how to normalize, and the field mapping to keep metrics intact.
You’ll finish with a CSV that matches your statement and flows into ProfitPulse without manual clean-up.
Save a mapping template once; reuse it daily for fast imports.
What you need before you start
Collect these inputs before you start.
- TradingView trade history/strategy CSV with commissions/fees.
- Account timezone and target journal timezone.
- List of canonical symbols (ES, MES, NQ, MNQ, CL, MCL).
- ProfitPulse CSV import template.
- Spreadsheet or CSV editor.
- TradingView statement for P&L cross-check.
Shortcut: If you want this workflow automated, use a trading journal app that supports imports + analytics (ProfitPulse).
Step-by-step: import TradingView trades without losing costs
Follow these steps to go from TradingView export to a clean, net P&L journal entry.
-
1
Export your TradingView history/strategy trades (with commissions)
Use Trading Panel → History → Export CSV (or Strategy Tester → List of Trades → Export) and ensure commissions/fees are included.
- Export History/Strategy trades, not the Orders-only view.
- Include symbol, side, size, price, commission/fees, and account (if available).
- Save the CSV and Strategy Tester performance summary for cross-checking net P&L.
Goal: You have a TradingView CSV with costs for the correct dates. -
2
Normalize timezone and symbols
Convert timestamps to your journal timezone and normalize symbols so filters and charts align.
- Apply timezone conversion from exchange/UTC time to your review timezone (account for DST).
- Normalize symbols (e.g., ES1! → ES, BTCUSDTPERP → BTCUSDT).
- Keep account/accountId columns if you use multiple accounts.
Watch for: Wrong timezones or symbols create duplicate trades and broken stats. -
3
Combine partial fills and costs
Group partial fills or strategy scale-outs by order ID. Calculate weighted average prices and sum costs once per side.
- Aggregate entries and exits separately if you scale in/out.
- Add commissions/fees after grouping so you don’t double-count costs.
- Flag any manual adjustments you make.
Done when: Each trade has one entry and exit row with net costs attached. -
4
Map fields to your journal
Line up TradingView columns to journal fields so analytics work immediately.
- Timestamp → execution time (converted); Account → account name/ID.
- Symbol → canonical ticker; Side → long/short; Quantity → contracts.
- Price → entry/exit; Commission/Fee → costs; Order ID → grouping.
TradingView column Map to journal Notes Timestamp execution_time Convert to target timezone. Account / AccountId account Keep if you trade multiple accounts. Symbol symbol Normalize ES/MES, NQ/MNQ, CL/MCL. Side side (long/short) Use buy/sell or 1/-1 consistently. Quantity size Contracts filled (after combining partials). Price entry_price / exit_price Weighted average if scaled. Commission / Fees costs Sum once per side after grouping. OrderId order_id Use to merge partial fills. Goal: Columns align to your journal schema. -
5
Validate net P&L and metrics
Cross-check totals before finalizing so analytics are trustworthy.
- Compare CSV net P&L to the TradingView statement for the same dates.
- Spot-check 3–5 trades for correct side, size, price, and costs.
- Confirm micro vs e-mini multipliers match your journal settings.
Done when: Net P&L and counts match your statement. -
6
Save the template and repeat
Lock in your mapping so daily imports are a two-minute task.
- Save the cleaned CSV as a template with formulas for conversions.
- Set a recurring reminder post-session to export and import.
- Automate imports in ProfitPulse once you’re confident in the mapping.
Outcome: Reliable, repeatable imports.
Run this every time you import.
- Export TradingView CSV with costs.
- Convert timezone and normalize symbols.
- Combine partial fills; attach costs once.
- Map fields and validate P&L vs performance summary.
Common mistakes (and how to avoid them)
Paper Trading and some strategies default to zero commissions-set costs or you’ll inflate expectancy.
Leaving exchange/UTC timestamps unconverted offsets trades and messes up session tags.
Not normalizing symbols (ES1!, BTCUSDTPERP, broker suffixes) splits stats and duplicates trades.
If you skip the net P&L cross-check, your journal can drift from reality without you noticing.
Metrics that matter (so you don’t “review by vibes”)
If your workflow touches performance, anchor your review to real metrics like profit factor, expectancy, net P&L, R-multiples, and drawdown.
Troubleshooting
In Paper Trading, set commissions/slippage in Settings; in Strategy Tester, set Properties and export again with costs included, or add them manually before importing.
Group by order ID and side, use weighted averages, and sum costs once.
Check exchange/UTC time versus your review timezone and daylight savings. Convert once for all rows before importing.
Normalize symbols (perp vs spot), and confirm your journal multiplier/tick value matches the instrument type.
Frequently asked questions
Which TradingView report should I export?
Use Trading Panel → History or Strategy Tester → List of Trades and include commissions/fees. Keep the performance summary for cross-checking net P&L.
Does TradingView include commissions and fees in the CSV?
Yes-if you enable them. Set commissions/slippage in Paper Trading settings or Strategy Tester properties before exporting.
How do I handle partial fills?
Group rows by order ID, compute weighted average price for entry/exit, and sum costs once before importing.
How often should I import TradingView data?
Daily is best-export after the session so costs and context are fresh. Weekly is okay if you keep a consistent mapping template.
Can I import broker-connected and paper trades together?
Yes. Keep the account/source column so you can filter. Review paper trades separately so they don’t distort live performance metrics.
How do I handle perps, rollovers, or symbol suffixes?
Normalize symbols (ES1! → ES, BTCUSDTPERP → BTCUSDT) and map contract rollovers to your journal equivalents.
Turn this workflow into a system.
ProfitPulse is a trading journal app built for cost-aware, risk-weighted review. Import trades, tag setups, track net P&L, and review edge using expectancy, profit factor, and drawdown.