Most of the trading ideas I have ever had started as a feeling. Something looks bottomed. This move has legs. That kind of thing. The feeling is fine. The problem is that a feeling is not testable, and until you make it testable you cannot know whether it is worth anything or whether you just remember the three times it worked and forgot the nine times it did not. The whole job of strategy design is converting that vague feeling into instructions precise enough that if you handed them to a stranger, they would take the exact same trades you would.
That last part is the real bar. Not backtestable in the abstract, but reproducible by another person. If two people reading your rules would end up in different positions, you do not have a rule set yet. You have a mood with some numbers attached.
Start with the hypothesis, not the entry
The mistake I see most often, and one I still catch myself making, is jumping straight to entry conditions. You spot a pattern on a chart and immediately start writing down when to buy. But an entry rule with no hypothesis behind it is just curve-fitting waiting to happen. You will tune it until it looks great on the data you already saw, and it will fall apart the moment the market does something new.
So state the claim first, in one plain sentence. Something like: when an asset pulls back to a rising average after a strong trend, buyers step back in and the trend continues. That is a hypothesis. It says something about behavior, about who is doing what and why. It can be right or wrong. And crucially, it tells you what you would need to see to believe it is broken, which matters more than it first appears.
Write the hypothesis so it commits to something. "The market tends to go up" is not a hypothesis, it is a horoscope. "After a gap down of a certain size on above-average volume, the asset typically retraces part of the gap within a few sessions" is a hypothesis. You can argue with the second one. You cannot argue with the first because it does not really say anything.
Define entry, exit, and filter so a stranger could not disagree
Now the mechanical part. You need three buckets of rules, and every rule in them has to be something a computer could check without asking you a follow-up question.
- Entry. The exact conditions that put you in the trade. Not "when it looks ready" but a specific set of measurable states that are either true or false at a given moment.
- Exit. Both sides of it. Where you get out if you are wrong, and where you get out if you are right. The stop and the target, or whatever trailing logic replaces the target. This is the half people skip, and it is usually where the actual edge lives.
- Filter. The conditions under which you do not take the trade at all, even if the entry triggers. Maybe you skip it in a downtrend, or when volatility is above some level, or around certain events. Filters are how you stop a decent idea from bleeding out in the environments it was never meant for.
The test for each rule is simple. Could two people apply it and always land on the same answer. "Buy when the 20 period average is above the 50 period average and price is within a defined distance of the 20" passes. Everyone computes the same averages and gets the same yes or no. That is a rule.
Hunt down the hidden discretion
Here is where good intentions go to die. You write your rules, they look tight, and then you read them back and find words like strong, clean, healthy, obvious. "Enter on a clean breakout." "Only in a strong trend." "Wait for a healthy pullback." Every one of those words is a place where your judgment is secretly still driving, and judgment does not survive being written down. It changes with your mood, your last trade, how much coffee you have had.
These soft words are the single most common reason a strategy that felt great in your head produces garbage when you actually test it, or worse, produces different results every time you run it by hand. The word "clean" is doing an enormous amount of work and none of it is specified. When you catch one, you have two choices. Replace it with a measurement, or admit the rule is discretionary and stop pretending the strategy is systematic.
A quick pass I run on every draft rule set: read each rule out loud and ask, for every adjective, what number makes this true. "Strong trend" becomes a slope or a distance from a moving average or a count of higher highs. "High volume" becomes volume relative to its own recent average. If you cannot turn the adjective into a number, that rule is not ready, and any test you run including it is contaminated by the decisions you will make in the moment.
Decide how you will falsify it before you test
This is the step almost nobody does, and it is the one that keeps you honest. Before you run a single backtest, write down what result would make you abandon the idea. A minimum win rate, a maximum drawdown, a number of trades below which you will not trust the result at all. Commit to it in writing.
The reason is boring and human. If you test first and set your standards after, you will always find a way to keep the strategy. You will move the goalposts, cherry-pick a good period, or decide the bad stretch was an anomaly. Deciding the kill criteria in advance takes that flexibility away from you, which is exactly the point. A hypothesis you cannot imagine failing is not a strategy, it is a belief, and beliefs are expensive to trade.
Be specific about sample size too. A rule that only fired eight times over years of data has told you almost nothing, no matter how good those eight trades look. Set a floor for the number of occurrences you need before you will take the result seriously, and set it before you see the count.
The one-page template
Everything above collapses into a page you can fill out for any chart observation you have. I keep this format and reuse it every time:
- Hypothesis. One sentence about behavior that could be wrong.
- Universe and timeframe. What you trade this on and on what bars.
- Entry rules. Fully measurable, no adjectives.
- Exit rules. Stop and target or trail, both specified.
- Filters. When you stand aside.
- Falsification criteria. The win rate, drawdown, and minimum trade count that would kill it, written before testing.
Once it is on the page, the discretion has nowhere to hide. You either have numbers in every box or you can see exactly where you are still guessing. When I load one of these into Blockcircle to backtest it, the strategies that were secretly discretionary tend to reveal themselves fast, because the tester cannot fill in the blanks I left, and it forces me back to the template to make the vague part concrete.
None of this makes a bad idea good. A rule set can be perfectly specified and still lose money, and it will, plenty of times. What the process buys you is the ability to know which it is. A losing strategy you can reproduce is fixable. A winning strategy you cannot reproduce is just luck you have not paid for yet.