Do not read TradingView strategy results with the default settings—the four out of ten trades ended up being forced liquidations
Introduction: The same thing happens even if it’s not MT5
In this series, using MT5 backtests as an example, I’ve written about how to verify results without taking them at face value. This time it’s TradingView. Many people write strategies in Pine Script and look at the strategy tester results.
I ran the built-in TradingView strategy "MovingAvg Cross" on EURUSD 1-hour chart without changing any settings. The period was from January 2025 to October 2026. When I exported the trading list and checked the contents, I found why you should not read the performance numbers as-is.
Among 2,192 closed trades, 893 were forced close
The trading list includes the reason for each closure. Counting them yielded the following results.
| Reason for closure | Count |
|---|---|
| Closed on sell signal | 650 |
| Closed on buy signal | 649 |
| Forced close (Margin call) | 893 |
About 41% of all closures were forced closes rather than signals.
Looking at the details, all forced-close trades were very small in size. The median normal trade size was about 82,000 units, while forced-close trades were about 250 units. With the initial setting ordering the full account balance, every time you swapped buy and sell, a small fractional trade appeared, and margin ran out, leading to immediate forced closes.
This fractional size distorts performance numbers
The 893 forced-close trades are all losses. However, because their sizes are small, the loss per trade is only a few dollars. When these are mixed in, the number of trades, win rate, and median values change significantly.
| Metric | As-is | Excluding forced closes |
|---|---|---|
| Number of trades | 2,192 | 1,299 |
| Win rate | 19.3% | 32.6% |
| Median per trade | −$0.66 | −$33.63 |
| Profit factor | 0.94 | 0.95 |
| Total net profit | −$6,050.67 | −$4,964.33 |
The win rate appears lower than actual, and the losses in a single trade look much smaller than they truly are.Part 2When I wrote that you should look at the number of trades and the median before PF, both become unreliable.
Another point: this result assumed zero fees. In the default settings, neither fees nor slippage are included.
Before reading, adjust three “Properties”
In Strategy settings (the gear icon) under “Properties,” adjust the following three items to reflect real operation before reading the performance.
- Order size: Use a fixed quantity that you actually deploy, not the full account balance. This eliminates fractional trades and forced closes
- Fees: Enter the actual fees for your trading account. Please confirm from your account’s official page
- Slippage: Include a slightly higher estimate of price slippage
After adjusting, export the trading list again and inspect. If the results reflect misaligned settings, the conclusion will still be off.
Even after adjusting settings, conclusions may not change
In this example, even excluding forced closes, PF is 0.95, and the 95% average confidence interval crosses zero (the verdict is NOISE). Moreover, buying yields +$1,301.67 while selling yields −$6,266.00, meaning only buys were positive. During this period EURUSD rose from about 1.03 to 1.12.Checklist for Part 3In the sense of dividing by buy and sell, this appears to be a pattern that mainly captures the market direction.
Adjusting the settings is not to improve performance. It is to enable correct reading. Then I apply the same verification as in previous installments.
Summary
- With TradingView’s default settings, about 40% of trades ended as forced-close fractional trades
- Fractions distort the reliability of number of trades, win rate, and median
- Before reading, set actual order size, fees, and slippage in "Properties"
- After adjusting, verify number of trades, median, exclude big wins, compare early vs late, and check buys vs sells
Bonus: TradingView trading list can be checked as-is
A self-made verification tool“EA Robustness Check”now also supports TradingView’s trading list (CSV or XLSX). Drag-and-drop the trading list to perform this article’s checks all at once. It will also flag the abundance of forced closes and whether fees are left at zero. The numbers in this article were produced with this tool.
For those who don’t want to doubt themselves, there is a service available for getting a formal check.A third-party check of EA backtest robustness14,800 yen (Skijan). We will take up to three MT5 reports, summarize findings in a written report (PDF), and return it within three business days. The criteria are fixed, and outcomes cannot be altered to improve results.
※This article introduces the author's own method of verification and does not advocate buying or selling any particular instrument, method, or strategy. Past verification results do not guarantee future performance.