Systems & Timeframes
Building a system you can trust
Anyone can produce a set of rules that would have made a fortune last year. It takes an afternoon and a spreadsheet, and the result is worthless — not because backtesting is useless, but because a rule fitted to the past is describing the past, and you cannot trade the past. The whole discipline of system building is a set of defences against your own ability to find patterns in noise.
Every extra parameter you add — a period, a threshold, a filter, an exception — gives your rules another degree of freedom to bend around the specific accidents of your sample. With enough parameters you can fit any history perfectly, and the better the fit, the less of the result is a real effect and the more of it is coincidence you have memorised. This is curve-fitting, and it has a signature you can check for: performance that collapses when you change a parameter slightly, or when you run the same rules on a different period or a different instrument.
- CONCEPT — start from an idea about behaviour, not from a chart. "Breakouts from long quiet ranges continue because trapped sellers must cover" is a concept. "RSI 9 crossing 43" is not; it is a number you found.
- RULES — write them so that another person could execute them without asking you a question. Entry, stop, exit, size, and what disqualifies a setup. If a rule needs your judgement, it is not yet a rule.
- EYEBALL — scroll a year of charts bar by bar and mark where the rules would have fired. You will find ambiguities and impossible fills in an hour that a backtest would have silently smoothed over.
- BACKTEST — mechanically, over a long period, WITH costs. Then repeat on data you did not use while designing: a different instrument, an earlier decade, another market. Consistency across samples is the only evidence that matters.
- FORWARD TEST — run it live at minimum size, or on paper, for enough trades to see the drawdowns. This step is where you discover whether YOU can execute it, which is a separate question from whether it works.
A backtest reports 1,200 trades over ten years and an average gain of 0.22% per trade — a fine-looking result. Now subtract reality: 0.05% commission, a 0.05% spread, and 0.05% of slippage because your stop orders fill at worse prices in fast markets. That is 0.15% per round trip, which removes over two thirds of the average trade and turns a decent system into a marginal one. Any backtest that does not model costs is not optimistic — it is measuring a different game. And the shorter your holding period, the more of your reported edge is an accounting artefact.
You test a system, the result is mediocre, so you adjust a parameter and test again. Ten iterations later the numbers look excellent. What actually happened is that you used your test data as training data ten times over, and the final result is a measurement of how well you fitted that specific history — not of the system. The defence is to decide the rules BEFORE looking at the test period, hold back data you never touch until the end, and count your iterations honestly. If you changed something forty times, your "out of sample" test is no longer out of sample.
None of this requires you to become an algorithmic trader. Plenty of professionals trade discretionarily and do well. The distinction that matters is not mechanical versus discretionary — it is DEFINED versus undefined. A discretionary trader with a written checklist, a fixed risk per trade, a stop placed at entry, and a journal is running a system with a human decision inside it, and that is testable by review. A trader who cannot state their rules is not being discretionary; they are improvising, and improvisation cannot be measured, corrected, or improved.
Every set of rules is a bet that a particular market behaviour persists, and behaviours do change: volatility regimes shift, a strategy becomes crowded, market structure is reformed. So a system's life has an end, and the practical problem is telling "this is a normal drawdown" from "this has stopped working". The only honest answer is prepared in advance: from your testing you know the worst historical drawdown and the longest historical losing streak. Write both numbers down before you start. When live results exceed them, you stop and re-examine — not because you are certain it is broken, but because you agreed with yourself, while calm, what evidence would change your mind.
A backtest does not tell you whether a system will work. It tells you whether it COULD have worked, which is a much weaker claim, and it is only worth anything when the rules were fixed before the data was seen. The real product of system building is not the equity curve — it is a written, executable description of your edge, plus two numbers (worst drawdown, longest losing streak) that let you distinguish bad luck from a broken idea while you are living through it.
A system tests beautifully with a 17-period average and a 2.3% filter, but returns collapse at 15 or 19 periods and at 2.0% or 2.6%. Should you trade it, and what is the general principle? (No. A real effect is a plateau, not a spike — if the edge exists only at one precise setting, you have located an accident in your sample rather than a market behaviour. Prefer parameters whose neighbours also work, and accept a lower backtested return in exchange for that robustness.)
Start from a behavioural concept, not from a chart pattern you noticed. Write rules another person could follow without asking questions. Eyeball a year before you automate anything, backtest with realistic costs, and validate on data you did not use while designing. Prefer parameter plateaus over parameter spikes, count your iterations honestly, and record the worst drawdown and longest losing streak in advance — because those two numbers are what let you tell a bad month from a dead system while you are inside it.
Write your current approach down as rules, whatever it is, even if it embarrasses you. One page: what you look for, what disqualifies it, where the stop goes, how size is decided, when you exit a winner. Then hand the page to someone who does not trade and ask them to tell you what you would do in a specific situation. Every place they cannot answer is a place where you have been improvising, and each of those gaps is a decision you have been making differently every time under pressure.
Systems & Timeframes