System Quality Number: trade units, sample size and dependence
Check SQN using trade percentages, cash P&L, or R-multiples. See how standard deviation, sample size, and repeated trades change the score.
Calculate System Quality Number From Your TradesWhat Is System Quality Number?
System Quality Number (SQN) compares the mean trade result with its standard deviation, then multiplies that ratio by the square root of the trade count. A larger positive value can come from a higher mean, less dispersion, or a larger sample. The score alone does not establish that a strategy is suitable to trade.
Van Tharp Institute describes SQN in terms of an R-multiple distribution. An R-multiple is a trade's net profit or loss divided by its initial monetary risk. For example, a $200 net gain on $100 of initial risk is +2R. Initial risk must be defined before the outcome; the eventual loss or maximum adverse excursion is not a substitute for that original risk.
The input unit matters. Cash P&L, percentage returns, and R-multiples are different series unless they differ only by one constant scale factor. Pineify currently calculates SQN from imported per-trade P&L percentages. It does not calculate it from cash P&L or recover initial risk to create R-multiples. Match the input series before comparing its result with another tool.
Formula
How to Read This Number
The repeated-trade example raises SQN fivefold without adding information. Copying a CSV row with a new trade ID, counting the same trade across accounts, or treating correlated entries as independent observations can inflate the apparent sample size. In a real strategy, overlapping positions and trades driven by the same market event can also share risk. Inspect timestamps, trade IDs, exposures, and clusters of outcomes before interpreting the square-root multiplier as stronger evidence.
SQN ignores trade order: rearranging the same observations leaves the mean, standard deviation, and count unchanged. Yet the rearranged path can have different drawdowns and losing streaks. Review the equity path and results across separate periods; the score does not test independence or market-regime stability. No fixed trade-count threshold makes a biased or dependent sample reliable.
To see why units matter, assume four trades have net cash P&L of +$100, -$100, +$200, -$100. Their initial risks are $100, $100, $200, $100. Cash mean is $25 and population SD is about $129.90, giving SQN 0.3849. The R-multiples are +1R, -1R, +1R, -1R, with zero mean and SQN 0. Different initial risks change the normalized distribution.
Converting every observation by the same positive multiplier leaves SQN unchanged: both mean and SD scale together. Dollars to cents, or percentages to decimals, therefore preserve the score. Changing position sizes, risk budgets, or currency conversion rates separately for each trade need not preserve it. Compare matched windows, cost assumptions, units, SD conventions, and counting rules. These examples explain historical statistics; they are not investment advice or a guarantee of future profit.
What Counts as Good?
| Range | Value | What It Means |
|---|---|---|
| Positive mean | SQN > 0 | With positive SD, a positive score means the chosen series has a positive average. It is not a probability of success, a significance test by itself, or permission to increase position size. |
| Zero mean | SQN = 0, SD > 0 | The selected observations average zero. This does not necessarily mean zero cash profit when the inputs are percentages or R-multiples with different monetary weights. |
| Negative mean | SQN < 0 | The chosen series averages a loss. Repeating a negative-mean sample makes its score more negative, not better. |
| Insufficient variation | SD = 0 or N < 2 | A zero denominator has no finite defined ratio. Pineify returns 0 for zero SD or fewer than two trades as a software fallback. Check the observations before interpreting that display. |
How Pineify Calculates System Quality Number
Open Backtest Deep Report and import the TradingView List of Trades CSV. Select the trade direction and confirm the included trade count. The importer pairs entry and exit rows by trade ID and reads the exit row's P&L percentage into pnlPercent. The SQN calculation uses that percentage series, population SD with divisor N, and the full selected count. Changing initial capital alone does not alter this SQN calculation. Check that your export includes a recognized P&L percentage column, such as Net P&L %. Missing or unparseable percentage values currently become 0; the importer does not reconstruct them from monetary P&L. A zero score can therefore reflect missing data or constant values. Keep open trades excluded when evaluating completed outcomes, and inspect partial exits because the current importer uses the first matching exit row for each trade ID. Use the report to compare SQN with trade count, P&L, and drawdown, then verify the underlying CSV when results disagree. Its grade labels are descriptive interface categories, not validated thresholds for trading or adding capital. The report does not infer initial stop risk, adjust SQN for dependent trades, or turn the score into evidence of future profitability.
Review Your System Quality Number
Upload your TradingView backtest CSV and get System Quality Number (SQN) alongside other return and risk metrics. Check the input assumptions before comparing results.
Analyze Your Backtest NowFrequently Asked Questions
Everything you need to know about this metric