Analyze TradingView CSV: Reconcile the Trades Before Reading the Metrics

A trade-list CSV can help you inspect a simulated strategy, provided the imported rows agree with the original report. Start with IDs, timestamps, units and net profit. Then use ratios and scenarios to investigate specific questions; a dashboard cannot certify that a backtest is realistic.

What You Get When You Analyze a TradingView CSV

TradingView already reports strategy performance and simulated trades. Keep that report as the reconciliation reference. Pineify derives additional views from the exported records; differences may reflect return definitions, capital settings, trade filters or missing fields, rather than a discovery that one platform is wrong.

Set the initial capital, direction filter and treatment of open trades deliberately. Check the imported trade count, first and last timestamps, currency and net profit before interpreting any ratio. The App requires sign-in and checks Advanced-or-higher access when importing a personal CSV.

For a hypothetical check, start with 1,000 and two closed net trade results of +100 and -60. The cumulative result should be +40 and ending capital 1,040, or 4% before any costs not already included. Profit factor is 100 / 60, about 1.67. A different imported total needs investigation before further analysis; these figures are arithmetic fixtures, not strategy performance.

Interpret the Dashboard Using Its Actual Return Series

Read each metric together with its input series and formula. This report uses trade records, which do not contain a continuous account equity history. Overlapping positions, variable holding periods and missing excursions can make an apparently familiar label measure something different from another report.

Risk-adjusted returns: Sharpe, Sortino, Calmar, SQN

The current Sharpe calculation uses exported trade percentages, their population standard deviation and an annualization factor derived from trade frequency. Sortino uses the root mean square of negative trade percentages, with only negative observations in that denominator. SQN also uses trade percentages, not risk-normalized R multiples. These conventions do not establish skill or match every platform. The risk-free input is not frequency-normalized before subtraction; verify its units rather than inserting an annual rate unquestioningly.

The Calmar ratio calculator and the SQN calculator give you a standalone deep dive on each metric if you want to understand the math behind them.

Drawdown and recovery: Ulcer Index, Recovery Factor, UPI

The cumulative curve adds net trade P&L in parsed trade order. The parser sorts by entry time, so overlapping exits can produce a sequence different from actual realized cash timing. It also cannot reconstruct floating losses inside a trade. Ulcer Index averages squared percentage drawdowns at these observation points, without calendar-duration weighting. Recovery Factor divides net profit by the maximum cash drawdown; Calmar compares annualized return with percentage drawdown. Zero denominators and short samples require manual review rather than a favorable grade.

For a detailed breakdown of each, the Ulcer Index calculator and the Recovery Factor calculator walk through the formulas and interpretation.

Tail risk: Value at Risk and CVaR

The report estimates historical VaR95 from the lower tail of exported trade percentages and CVaR95 from all observations at or below that threshold, including ties. Neither is a guaranteed future loss ceiling or automatically an account-level daily risk measure. In a synthetic 20-trade sample with -10%, -4% and eighteen +1% values, the current index convention selects -4% and averages the two lower values to -7%. That tail contains 10% of this small sample, not exactly 5%. Compare definitions in the CVaR guide and VaR guide.

Distribution: Skewness and Kurtosis

Skewness measures asymmetry of the trade-percentage distribution; it does not determine the number of winning days. Excess kurtosis compares the fourth standardized moment with the normal-distribution reference of zero. Both estimates can be dominated by a few observations. Inspect the actual extreme trades and their data quality instead of inferring luck, fraud or a stable future tail probability from one number.

Monte Carlo: Resampling the Observed Cash Results

The current Monte Carlo routine draws net cash P&L observations independently with replacement, creating a new sample of the same length for each of 1,000 runs. A trade can be repeated or omitted. It adds those fixed cash results to initial capital; it does not resize positions, preserve serial dependence or generate losses absent from the source sample.

For the hypothetical +100/-60 sample, a pure reorder always ends at 1,040 from 1,000. Sampling twice with replacement can instead end at 1,200, 1,040 or 880. That distinction explains why this bootstrap changes terminal wealth. Its percentile summaries are conditional on the imported sample and this model, not calibrated confidence that a strategy will succeed.

The displayed risk-of-ruin calculation counts paths whose final equity is zero or negative. It does not count every path that crossed zero earlier and later recovered. Only the first 50 generated paths are retained for plotting and export, although summaries use 1,000. No fixed profitable-run percentage validates a strategy; compare model assumptions and test later data separately.

Rolling Windows: Local Results with Overlapping Samples

Rolling analysis uses a 20-trade window and recalculates trade-level Sharpe, Sortino and win rate. Each neighboring window shares most of its observations, and a window can span very different calendar durations. The rolling ratios are not annualized in the same way as the full-sample ratios.

A change in rolling results is a reason to inspect the underlying trades, costs and market conditions. It does not establish that a regime changed or predict when future performance will weaken. Record any rule change as a new research decision and evaluate it on data that did not prompt the change.

MFE and MAE: Form Questions for an Exit Test

MFE and MAE describe the largest favorable and adverse excursions reported for each trade. Pineify reads those fields from the CSV; it does not reconstruct the price path. Check currency versus percentage columns and missing values before using the scatter plot, whose axes display MAE and MFE amounts.

An excursion pair does not reveal which extreme occurred first or whether a proposed stop would have closed the trade before a later recovery. Missing excursions can become zero during parsing. Use the MFE and MAE guide to frame a separate exit-rule experiment, then rerun the strategy with the changed orders and costs. A cluster on this chart is not an executable stop recommendation.

Returns heatmaps and distribution analysis

Monthly, weekly and daily views group closed results by exit dates; the time-of-day view groups by entry time. Browser-local date interpretation can affect the buckets. Check timestamps and timezone before comparing a heatmap with the chart or a broker report. A profitable month in one sample is not evidence of a recurring seasonal edge.

The histogram and normal reference are descriptive comparisons of imported trade returns. Sparse tails, dependent trades and a limited date range make extrapolation uncertain. Inspect each large gain and loss, and preserve excluded or missing records rather than cleaning away inconvenient outcomes.

Position Sizing Is a Separate Research Decision

A report does not supply a safe position size. A binary Kelly calculation such as p - (1 - p) / b assumes a repeatable probability p and payoff ratio b, along with a specified loss fraction. A mixed trade distribution, gaps, dependence and estimation error break that simple interpretation.

The current Backtest Report implementation does not calculate a Kelly allocation. Do not treat a formula mentioned in a guide as an available dashboard feature. Any separate sizing study must model capital, concurrent positions, loss limits and adverse execution; using a fraction of an uncertain estimate does not guarantee manageable drawdown.

Optional AI Analysis and the Data It Receives

Optional AI analysis sends derived metrics and monthly, rolling and Monte Carlo summaries to the analysis service. The request excludes the full raw trade and equity arrays. It still transmits information about the backtest, so the local numerical calculation should not be described as a guarantee that all analysis stays on the device.

Treat the generated interpretation as a set of claims to check. It cannot inspect source-code lookahead or reconstruct missing fills from a compressed summary. A numerical score is not a calibrated probability of profit, and suggestions require an independently specified test before adoption.

Export to Excel: Preserve the Scope of Each Sheet

The workbook creates seven base sheets: KPI Overview, List of Trades, Monthly Returns, Weekly Returns, Daily Returns, Distribution Data and Rolling Statistics. A completed Monte Carlo run adds an eighth sheet, Monte Carlo Data. The workbook preserves report outputs for review; it is not a compliance certification or a substitute for original execution records.

Keep the original CSV with the workbook, script version, chart settings, capital, filters, costs and timezone. Reconcile the workbook trade count and totals with the intended direction filter. Some export sections use all imported trades while others receive filtered results, so a long-only dashboard view does not by itself prove that every exported sheet is long-only.

Practical workflow: From TradingView CSV to strategy decision

Use the following sequence to separate import correctness, statistical description and an eventual forward test.

  1. Save the original TradingView result. Keep the script version, symbol, timeframe, dates, costs and execution settings with the report.
  2. Export compatible trade records. Use the trade-list CSV where offered; retain the original workbook if converting XLSX. Do not rename XLSX as CSV.
  3. Reconcile the import. Check IDs, paired entries and exits, timestamps, currency, trade count and total net P&L before ratios.
  4. Declare report assumptions. Set capital, direction and open-trade handling. Record the return units and risk-free convention.
  5. Inspect the observed path. Compare the trade-order curve with actual exit timing and investigate overlapping positions and missing fields.
  6. Run conditional scenarios. Interpret bootstrap results as resampling of this sample; test dependence, costs and unobserved losses separately.
  7. Save a reproducible report. Reconcile workbook sheets with the selected filters and keep all original files and settings.
  8. Design the next test. Freeze a hypothesis before later data or paper trading. Report failures and uncertainty alongside gains.

The point of the report is to make assumptions and discrepancies visible. Preserve failed checks and alternative settings alongside successful results. There is no elapsed-time promise or threshold score that turns this review into evidence of future returns.

Sources and scope

TradingView documents trade-list CSV export and strategy simulation, report export and fill assumptions. Product descriptions above were checked against the current Pineify import, metrics, permission, AI request and Excel export implementations on October 21, 2026. This review does not verify a particular strategy, broker execution or server retention policy.

FAQ

Upload Your TradingView CSV and Get the Full Report

Open the App and check your account entitlement before importing a compatible trade-list CSV. Numerical analysis runs locally; requesting optional AI analysis sends derived summaries to the service. Reconcile the results before using the workbook in further research.

Analyze My Backtest Now