I kept a trading journal for about eight months, which is long enough to notice something you'd rather not.
The setups were fine. Not brilliant, but fine. When I went back through the entries and separated "trades my rules said to take" from "trades I actually took", the two lists weren't the same list. Not even close. I'd skipped setups after losing streaks. I'd taken things that didn't qualify because I was bored at 11am. I'd moved a stop twice, both times on the same bad afternoon, and I'd written "gave it room" in the notes like that was analysis.
The rules made money on paper. I lost money trading them. There's no clever way to reframe that, and it took me an uncomfortably long time to stop looking for one.
First I tried discipline, because of course I did
The obvious response is to try harder. So I did all the things.
Printed rules stuck next to the monitor. A pre-trade checklist I had to tick before clicking. A rule that I'd stop for the day after two losers, which I'd then negotiate with. I even had a period of writing the reason for each trade in a notebook before entering, on the theory that having to justify it in writing would filter out the nonsense.
It worked for about three weeks each time. It always worked for about three weeks. Then a fast morning would come along, or a trade would go against me in a way I hadn't planned for, and the entire apparatus would quietly stop existing. The checklist doesn't help when you're already down and the thing you want more than money is to not be down any more.
What eventually got through to me is that this isn't a character flaw you fix with more willpower. Executing a mechanical process, identically, for six hours a day, with money on the line, is a genuinely unnatural thing to ask of a person. Some people can do it. I can't, at least not reliably, and pretending otherwise was costing me more than any bad setup ever did.
The part I wasn't expecting: I couldn't actually describe my setup
So I decided to automate it. Simple enough. I already knew the rules.
Except I sat down to write them out properly and discovered I didn't. I had "long when it pulls back into the zone with the trend intact", which is a sentence, not a rule. What zone. Which trend. How intact. It turned out I'd been running on a large amount of pattern recognition I'd never had to make explicit, because I'd only ever needed to satisfy myself.
This turned out to be the most valuable part of the whole exercise, and it's the thing I'd tell anyone thinking about automating a discretionary setup. The forcing function of having to specify it is worth doing even if you never switch the strategy on. You find out which of your rules are real and which are vibes.
Two specific discoveries, for me:
The first was that my actual rule had a higher-timeframe condition in it that I'd never written down anywhere. I wasn't taking the 5-minute setup unless the hourly agreed. I'd have told you that if you'd asked, but it wasn't in my written rules, and it turns out it was doing a lot of work. When I built the first version without it, the backtest was noticeably worse and I couldn't understand why. That's the sort of thing you only find by being forced to be explicit, and it's why being able to put a higher timeframe inside a single rule mattered so much to me when I was building the designer. Every no-code builder I'd tried before made that either impossible or a hack.
The second was that I'd been improvising exits my whole trading life. My entries were reasonably consistent. My exits were mood. Sometimes a fixed target, sometimes "it feels heavy", sometimes I'd trail it in my head. Writing down what actually happens to a trade after entry, the stop, the target, whether it moves to break-even and when, whether there's a time limit, was harder than writing the entry and mattered more.
Why the test and the live version had to be the same thing
Here's a design decision I feel strongly about, and it comes directly from getting burned.
Plenty of tools let you build and test a strategy in one place and then export it to run somewhere else. I'd used that workflow and I'd had the experience of the exported thing not behaving like the tested thing. Slightly different order handling, slightly different assumptions about fills, and you're left reconciling two versions of your own strategy while it's live with real money.
So there's no export step here. The strategy you design is the object that gets backtested, and the same object is what runs at the broker. Not a translation, not generated code you then maintain separately. The reason is boring and important: if the test and the live version are two artefacts, they will drift, and you'll find out about the drift at the worst possible moment.
The related thing I care about is that the backtest fills the way live execution does. I've spent a lot of time on that specific problem, more than on anything visible. A backtester that fills at convenient prices will hand you beautiful equity curves for strategies that cannot exist, and it will do it confidently. That's not a bug in a chart, it's a machine for generating false confidence.
The guardrails I always meant to handle manually and never did
Two of them, both slightly embarrassing.
News. I knew the calendar. I'd tell myself I'd flatten before the number and stand aside. Sometimes I did. Often I was mid-trade and decided this one would be fine. Having entries pause automatically around high-impact events isn't a sophisticated feature, it's just the thing I'd been failing to do by hand for years.
End of session. I have held positions overnight that I absolutely did not intend to hold overnight, purely because I got distracted. Automatic flattening at the session close is another one of those unglamorous features that exists because I needed it, not because it demos well.
The prop-firm presets came from the same place, though from other people more than me. Traders kept reporting the same thing: strategy's fine, account still died, because a normal losing afternoon dragged a trailing drawdown to balance. So now you pick the firm and the account type and the drawdown, daily loss and contract limits are set for you, before you've designed anything.
What it's like now, including the weird part
I don't click my own entries any more. Four or five strategies run across a couple of instruments, and I watch them roughly the way you watch a dishwasher.
The weird part, and nobody warned me about this, is that it's boring in a way I found genuinely difficult for a couple of months. I'd built my day around the market. Sitting there watching software take a trade I'd have taken, at a better price than I'd have got, without any of the small thrill of deciding, felt like being made redundant by myself. There were a few afternoons where I nearly intervened purely because I wanted something to do.
The other thing I didn't expect: watching a strategy take a loss you'd have avoided is much harder than taking the loss yourself. When I'm wrong by hand, I can immediately start explaining it. When the software is wrong, I sit there thinking I knew that one was bad. I didn't, of course. I've checked. My interventions, back when I was making them, were worse on average than leaving it alone. But knowing that and feeling it are different, and the feeling took a long time to fade.
What I do by hand now is upstream. Deciding which strategies run at all, reading their rules until I can explain why they work in one sentence, and deciding when something's decayed enough to switch off. That last judgment is the one I don't think I'd want automated, at least not yet. It's also, conveniently, the kind of decision you make on a Sunday with a coffee rather than at 09:47 with money on the line, which is exactly the sort of decision I'm actually any good at.
Who this doesn't work for
I'd be lying if I said everyone should do this.
If your edge is genuinely discretionary, if you're reading the room in a way you can't specify even after honestly trying, then automating it will produce a worse version of you. Some people trade context in a way that resists being written down, and forcing it into rules throws away the part that worked.
And if you're going to override the strategy whenever you disagree, don't bother. You'll have built an expensive alarm clock. The whole benefit is that it doesn't negotiate, and if you're the negotiating party the benefit evaporates.
But if you keep a journal and you find, like I did, that your rules and your trades are two different lists, then the problem isn't your strategy and no amount of trying harder is going to fix it. That's worth knowing, even if what you do about it looks nothing like what I did.
The tool I ended up building is here, and the sibling piece about letting a machine find the strategies in the first place is here.