1. Reconcile the sample and its costs
Export the trade list for one identifiable run. Record symbol, timeframe, dates, capital, currency, position sizing, commission and slippage assumptions. Count each completed result once; reconcile the closed-trade count, winning P&L, losing P&L and total with the source report. Keep open-position P&L separate.
Pineify pairs entry and exit rows by trade ID and currently takes the first entry and first exit in each group. Do not assume every pyramiding, partial-exit or localized export is handled without reconciliation. The report can also include open trades when enabled; disable that option when comparing a closed-trade metric.
No fixed count makes the sample statistically conclusive. Inspect the number of losses, concentration in a few winners, overlapping exposures and market conditions covered. A thousand trades from one repeated exposure can contain less independent information than the count suggests. Missing costs are not zero costs. TradingView: strategy properties.
2. Separate profit from return and risk-adjusted performance
Positive total net P&L answers whether the selected simulated trades made money on the included cost basis. Profit factor divides positive P&L by the magnitude of negative P&L. With losses present, PF above 1 and positive total P&L are two views of the same arithmetic. Neither measures return on capital. Profit factor calculation and interpretation.
Win rate must be read with realized average wins and losses. Hypothetically, 35% wins at +3 units and 65% losses at −1 unit give +0.40 units per trade before additional costs. A 70% win rate at +1/−1 also gives +0.40. The first win rate is lower, but the expectancy is equal under these assumptions; this says nothing about their drawdowns or execution realism.
For Sharpe, match return frequency, risk-free convention and annualization before comparing reports. Pineify’s trade-based result differs from TradingView’s documented monthly-return statistic. Read the Sharpe methodology guide before treating either number as a pass/fail score. Sortino is also convention-dependent; its relationship to Sharpe does not prove a strategy is safe.
3. Inspect the equity path and time underwater
Maximum drawdown is the largest observed peak-to-trough decline in the equity series being measured, not the worst loss that can happen in the future. Record both money and percentage units, the duration of declines and recovery, and whether deposits or withdrawals affect the series.
A trade-result curve cannot reproduce every intratrade account-equity fluctuation. Pineify builds its report curve from imported P&Ls in the parser’s entry-time order; overlapping positions can have a different close-time sequence. Reconcile drawdown methodology with TradingView rather than expecting identical values.
Ulcer Index summarizes squared percentage drawdowns across the observations: repeated underwater observations affect the result, but the index is not itself a percentage of time underwater. Calmar and recovery factor relate performance to drawdown; they do not tell you how quickly equity recovers. There is no universal drawdown limit made safe by a high Sharpe.
4. Examine concentration and tail losses
Read the largest winners and losers together with the return histogram. A sensitivity calculation that removes one large winner can show dependence on that observation, but does not prove the winner was luck or should be excluded. Preserve the original result alongside every sensitivity result.
Skewness describes asymmetry and kurtosis summarizes a fourth-moment feature of the distribution; neither identifies the date or size of the next extreme loss. A fitted normal curve is a visual comparison, not evidence that returns are normally distributed. Sharpe and Sortino do not fully capture tail risk. NIST: skewness and kurtosis.
Pineify’s historical VaR and CVaR calculations use imported trade-return percentages. They are not dollar losses for the worst 5% of calendar days. VaR identifies a sample tail threshold; CVaR averages returns at or below that threshold in the current implementation. Small tail samples and losses absent from history limit both. See VaR and expected shortfall for the different questions they address.
5. Stress the assumptions without mistaking simulation for proof
Rerun the source strategy with explicit cost, execution and sizing scenarios. Check whether the conclusion depends on a narrow parameter choice or a small set of trades. A report from a CSV cannot rerun order logic or invent the fills that another slippage setting would have produced.
Pineify runs 1,000 bootstrap simulations by sampling imported money P&Ls with replacement. A trade may be repeated or omitted, so simulated final totals can differ. In contrast, shuffling the same fixed money P&Ls changes their order and possibly drawdown, but preserves final total P&L.
Simulation percentiles describe the resampling model conditional on its input. They are not guaranteed confidence bounds on future live performance. Independent trade resampling does not preserve loss clusters or add unseen shocks. The current “risk of ruin” summary counts simulations ending at or below zero equity; it is not the fraction that end unprofitable or hit zero at any intermediate point. No universal simulation failure-rate cutoff validates an edge.
A System Quality Number score is another statistic to inspect with its input convention. The current report uses trade percentage returns rather than requiring R-multiple inputs. A numerical grade cannot replace cost, dependence and out-of-sample checks.
6. Reserve new evidence before selecting the strategy
Define an in-sample training interval and a later test interval before choosing parameters. Freeze the rules and evaluate that later interval without retuning. Walk-forward testing repeats a specified training-and-test process chronologically; it is not the same as drawing a rolling metric over already selected trades. TradingView: overfitting and out-of-sample testing.
A 70/30 split or an 80% efficiency ratio is not a universal acceptance rule. Record why the periods cover relevant conditions, every variant considered and all test results, including poor ones. Lower out-of-sample performance can reflect selection bias, changed conditions or sampling variation; it does not identify the cause by itself.
Testing a second market can challenge a strategy’s claimed generality, but a strategy designed for one instrument need not work on every other instrument. Pineify’s 20-trade Rolling chart describes variation within the imported sample. It does not perform fresh parameter fitting or supply an independent walk-forward verdict.
End with a review record: reconciled historical result, assumptions tested, unresolved data issues and the next untouched test. AI commentary can help organize that review, but cannot decide whether an apparent edge is real. Numerical report calculations run in the browser; requesting AI Analysis sends metrics and monthly, rolling and available simulation summaries to the API.
Frequently asked questions
Can a backtest prove my strategy is profitable?
It can establish positive simulated P&L for the selected trades and assumptions. It cannot establish future live profitability. Verify costs, fills, selection bias and independent test results before drawing a broader conclusion.
Is a profit factor of 2 always good?
No. It means positive trade P&L is twice the magnitude of negative trade P&L on the chosen basis. It does not establish sample adequacy, return on capital or future reliability. A few large winners can dominate the result.
How many trades are enough?
There is no universal count. Assess calendar coverage, loss count, overlapping exposure, concentration and how many variants were tested. More correlated trades are not the same as more independent observations.
Does Monte Carlo prove the backtest was not luck?
No. Pineify samples existing money P&Ls with replacement. This explores a conditional resampling model; it does not detect every form of overfitting, preserve all dependence or generate losses missing from the source sample.
Does Pineify perform walk-forward optimization on my CSV?
The report analyzes imported trades and provides 20-trade rolling statistics. It does not rerun strategy rules or fit and test parameters on new price intervals. Plan and run independent tests in the strategy-testing environment.
Does every TradingView export work without checking?
No such compatibility guarantee is appropriate. Reconcile parsed trades with the source, particularly localized files, repeated trade IDs, partial exits and pyramiding. The current parser pairs the first entry and exit in each trade-ID group.
Does Backtest Deep Report replace a trading journal?
No. This report analyzes an exported strategy sample. A journal records and reviews trades over time. Neither workflow by itself establishes a profitable strategy, and no broker synchronization is implied here.
Is my analysis free and entirely on my device?
The app requires sign-in; uploading your own CSV requires Advanced or a higher plan. Parsing and numerical calculations run in the browser. If you request AI Analysis, report summaries are sent to the API, so that workflow is not entirely offline.