How TradingPal Backtests
A setup’s trade history and an account’s return answer different questions.
Backtesting applies a trading rule to historical prices and records the simulated outcomes. A worked example shows how to build the test, read its results and recognize the assumptions that could make it too optimistic.
Backtesting measures how a trading rule would have behaved on past prices. Suppose you want to buy a bullish pennant breakout, close losing trades at a defined safety exit and manage winners with a stated target rule. A backtest applies those instructions to historical charts and records the outcome of each eligible trade.
For an illustrative test, choose ten years of daily prices for 500 stocks. The result is a list of simulated entries and exits. You can calculate how many trades gained, how large their gains and losses were, and how long positions stayed open.
The result depends on the data and the rules you chose. It gives you a way to examine a trading idea before committing money to it.
A few memorable charts give an incomplete picture. If you study only successful breakouts, you miss the failed trades and quiet periods that a trader following the same rule would also encounter.
Our example needs a consistent definition of a pennant and a record of every eligible outcome. Keeping the losses allows us to ask whether the gains covered them, and whether the result depended on a handful of unusually large winners.
Build the test in the order a trader would have to make the decisions.
Define the eligible stocks, pattern, entry, safety exit and final exit. Specify what happens when price gaps beyond an order or reaches two possible exit levels during one candle.
At each decision, restrict the test to information available at that time. A simulated Tuesday order cannot use Wednesday’s price. Also check whether later information affected which patterns were selected for the test.
Keep entry and exit prices, gains and losses, holding times, and reasons for skipping a signal. A rejected fill or a full account should be visible in the accounting.
Win rate, average R and profit factor describe the eligible completed trades. Account return and drawdown describe the subset a portfolio could afford and hold. The metrics guide explains both.
Three common data and design choices can improve a reported result without improving the strategy.
To check for overfitting, reserve part of the data before designing the rule. The development portion is the in-sample data. The reserved portion is out-of-sample data, used to evaluate the finished rule.
For the pennant example, you might develop the rules on one period and test them on a later period you have not used to tune them. Specify that split first. If you repeatedly change the rule after viewing the reserved results, that period becomes part of development too.
Compare the size and stability of the results across the two periods. A weaker result in the reserved period may indicate overfitting, different market conditions or a small sample. One split cannot resolve all of those explanations.
TradingPal uses reserved tests for research conducted under a fixed protocol. That claim does not apply automatically to every nightly statistic. The methodology guide identifies the different validation procedures.
TradingPal’s pattern simulation uses an entry trigger beyond the pattern boundary after the pattern could be established on an earlier daily candle. A gap past that trigger fills at the worse opening price.
A safety exit sits beyond the relevant recent turning point, and the target comes from the pattern’s height. Some bullish patterns use a moving-average exit after reaching the target. These rules determine how each result is recorded.
The published sample includes patterns that passed later confirmation checks. Although the entry model checks prices available at the time, later confirmation can affect membership in the sample. That limits how directly the results represent an alert a trader could have acted on at the first crossing.
The complete methodology covers the account limits, repeated allocation runs and cost assumptions used alongside these trade records.
The table below shows the latest published pattern results. Start with the number of trades, then compare win rate with average R. Check the measurement period and the date the test was run before comparing it with another record.
| Pattern | Usual break | Win rate | Avg return | Backtested trades | Fresh (45d) |
|---|---|---|---|---|---|
| Bullish Pennant | Up | 54.5% | +3.6% | 6,817 | 86 |
| Bearish Pennant | Down | — | — | — | 0 |
| Ascending Triangle | Up | 48.9% | +2.6% | 1,753 | 19 |
| Descending Triangle | Down | 48.9% | +2.6% | 1,753 | 6 |
| Symmetrical Triangle | Either way | 48.9% | +2.6% | 1,753 | 80 |
| Falling Wedge | Up | 44.3% | +2.9% | 1,149 | 60 |
| Rising Wedge | Down | 52.0% | +1.6% | 390 | 9 |
Historical results of a simulated strategy, refreshed nightly. Triangle rows show their usual break direction's family; each guide breaks out both directions.
TradingPal’s screener places the track-record panel beside the current pattern family. The panel below includes individual trade statistics and the return and drawdown of a simulated account with limited capital.
Use the distinction from our example: counting every eligible pennant answers how those trades performed; replaying an account answers which ones it could hold. Read each number with the rules and sample that produced it.
Not a screenshot — this is the real panel from the screener, populated from the latest completed stored nightly result.
The historical test can reveal losses, long drawdowns and sensitivity to rule changes that a few selected charts would miss. Its usefulness still depends on how closely the data and execution assumptions match the question you are asking.
For our pennant example, the next steps would be to examine excluded stocks, the effect of later confirmation, realistic fills and performance on reserved data. Markets can then change again. A profitable test provides historical evidence for further evaluation; future gains remain uncertain.
A setup’s trade history and an account’s return answer different questions.
A track record describes trade outcomes, account growth and the losses along the way.
A trade’s entry, safety exit and target let you compare its planned loss with its potential gain.
A falling wedge has two downward-sloping boundaries that draw closer together.
Educational content, not investment advice. Backtest statistics are historical results of a simulated strategy. Publication timing varies by record; the numbers describe the past, not the next trade.