The first strategy I tried to automate was a pullback setup I had been trading by hand for two years. I could spot it in about four seconds on a chart. It took me three evenings to discover that I could not describe it in a sentence a machine would accept, and the useful part of that exercise had nothing to do with the machine. Writing it down showed me that the setup I thought I traded and the setup I actually traded were two different things.
What follows is that process on one pattern, start to finish. Pick your own pattern before you read on, because this only works on something you have actually traded with real money.
Dictate the pattern before you open anything
Say the setup out loud as if you were teaching it to a friend over the phone, and type exactly what you said. Mine came out roughly like this. "In an uptrend, when it pulls back to the rising average and holds, and the selling has dried up, and it is not right into earnings, I buy a starter and add if it takes the high of the pullback."
Now number the clauses. Uptrend. Pulls back to the rising average. Holds. Selling dried up. Not into earnings. Starter size. Add on the high of the pullback. That is seven separate decisions hiding inside one four-second glance, and until they are numbered you cannot tell which ones you are about to guess at.
The next step is the uncomfortable one. Open your own trade history and pull the last fifteen trades you took under this pattern. For each one, check whether all seven clauses were true. In my case, "selling dried up" was true in maybe six of fifteen. I had been telling myself it was a requirement when it was actually a nice-to-have, and if I had encoded it as a hard condition the encoded version would have taken a third of the trades I take by hand.
Which clauses become conditions and which become numbers
The Strategy Builder is a condition-based tool. It fires on triggers you set from price, RSI, Asset Outperformer scores, whale activity and similar inputs, and a strategy is a saved stack of those conditions that you can backtest, paper trade, or run live. So the translation job is to turn each numbered clause into either a condition with a number in it, or a sizing rule, or an admission that it does not translate.

Here is how my seven clauses landed.
- Uptrend became price above the 50-period average and the 50 above the 200. Two conditions, both with explicit numbers I had never actually chosen before.
- Pulls back to the rising average became price within 2 percent of the 50, measured on the close.
- Holds became a condition on the next bar rather than the current one, which changed the trade materially. More on that below.
- Selling dried up became volume below its own 20-period average. This is a proxy, not the thing I meant, and I labelled it as a proxy.
- Not into earnings did not translate at all.
- Starter size and add on the high became a sizing rule and a second entry condition, not part of the signal.
Notice how many of those needed a number that I had never picked. Within 2 percent of the average, or within 4 percent, are different strategies with different trade counts. When you trade by feel you are choosing that number fresh every time, usually based on how the last three trades went. The encoded version forces one answer for all of them, and that is the single biggest change to your behaviour, larger than any automation.
The clause that would not encode
"Holds" was the one that broke. What I meant by it was a judgement about how the bar behaved at the average, whether the wick got bought, whether the second test was shallower than the first. That is a real thing, and I have no honest way to write it as a threshold.
There are exactly three defensible ways to handle a clause like that, and pretending is not one of them.
- Replace it with a proxy and mark it clearly. Close in the upper third of the bar's range is a proxy for "the wick got bought". It is not the same judgement, and you should expect the encoded strategy to take trades your hand would have refused.
- Drop it and let the data say whether it mattered. Run the version without it, and compare the trade count and the loss distribution with your own logged trades over the same window. If the encoded version's extra trades are mostly losers, the clause was doing work.
- Keep it as a manual veto. The strategy generates the candidate, you keep the right to skip. This is the honest hybrid, and the price of it is that you have to log every veto or you will never be able to tell whether your vetoes helped.
I went with the third option and logged the vetoes. Over the first six weeks I vetoed eleven candidates. Six of them would have been losers, four winners, one flat. That is not evidence of anything at that sample size, which is itself worth knowing before you tell yourself your discretion is adding value.
The first backtest is a translation check, not a verdict
When the encoded version runs, the temptation is to look straight at the equity curve. Resist it for one pass, because the curve cannot tell you whether you encoded the right pattern. The comparison that can is trade overlap.
Take your own last thirty hand trades in this setup, and take the encoded strategy's signals over the same period on the same symbols. Count three buckets: trades you both took, trades the machine took that you did not, and trades you took that the machine missed. My first attempt matched on nineteen of thirty, fired eight times I had passed, and missed eleven of mine. Roughly a third of my real trades were invisible to my own written rules.
Those eleven misses are where the value is. Go through them one at a time and ask which numbered clause excluded them. In my case eight of the eleven were pullbacks to 3 or 4 percent from the average rather than 2. I had written a tighter rule than I trade. Widening that one threshold to 4 percent recovered most of the misses, and it was a correction to my description rather than an optimisation, which is a distinction worth keeping straight in your own head.
Run both hands for a month before you let go of either
Once the overlap is respectable, save the strategy and put it in paper mode rather than live. You are not testing whether it makes money over four weeks, because four weeks cannot answer that. You are testing whether it behaves the way the backtest said, and whether you can stand watching it.
Keep a one-line log per signal, three columns wide: what the strategy did, what you would have done, and which of the two you would defend afterwards. At the end of the month you will have one of three findings. The rules match your hand and you can hand over the mechanical part. The rules match your hand but you keep overriding them, which is a discipline problem the Builder cannot solve. Or the rules genuinely miss something and you have a specific clause to go and encode better.
The trap in between is the strategy that trades fine but that you do not trust enough to leave alone. That one ends up half-run, overridden on the worst days and followed on the easy ones, which is the one version guaranteed to be worse than either the pure rules or your pure judgement. If you get there, cut the strategy back to the three clauses you would defend under any conditions and rebuild outward from those.