Most strategies live in a trader's head as a feel for what usually works. This page is about the unglamorous part — writing that feel down as conditions precise enough that software can check them the same way every time.
Every line on the right is something you decide. The software has no opinion about any of it.
Discretionary trading feels consistent from the inside. You believe you take the same setup every time. But "the zone looked clean" on a Tuesday morning and "the zone looked clean" after three losses on a Friday afternoon are not the same judgement, and no amount of discipline fully closes that gap.
Writing the strategy down as conditions does two things. It forces you to discover which parts of your edge you can actually define — and that is often uncomfortable, because some of it turns out to be vague. And once it is defined, it can be tested, reviewed and executed identically whether you are watching or not.
This is not a claim that automation makes a strategy profitable. A badly defined strategy automated is just a badly defined strategy executed faster. The point is consistency, not performance.
Work through these in order. Each step depends on the one before it, and skipping ahead is the most common reason an automated strategy behaves nothing like the manual one.
Before touching any software, describe what you do in ordinary language, as if explaining it to another trader. Do not try to be precise yet. The goal is to get the whole thing out of your head and onto a page, including the parts you do by instinct.
Most people discover at this stage that their strategy has three or four conditions they were aware of, and two or three more they were applying without noticing.
Go through your sentences and underline anything a computer could not check. Words like clean, strong, decent, obvious, usually, around, a bit, if it looks right. Each of these is a decision you are making without a rule.
This step is where most of the real work happens. Every vague word has to become either a number, a boolean, or an explicit exclusion.
"Enter when the pullback is decent and momentum still looks strong."
retrace_min_percent = 38
retrace_max_percent = 79
momentum_check = higher_low_present
An entry condition is a reason to trade. A filter is a reason not to. Mixing them together produces rule sets that are hard to test, because when results are poor you cannot tell whether the entry logic is weak or a filter is blocking good trades.
Keep two lists. Entry conditions describe the setup itself — structure, zone, pattern. Filters describe the environment — session, news, spread, day of week, how many trades you have already taken.
Entries are more interesting to think about, which is why most people write them first and leave exits half-finished. But the exit determines the risk, and the risk determines the position size, so the exit has to be settled before anything else can be calculated.
Decide where the stop goes and why. Decide whether the target is fixed, structure-based, or trailing. Decide what happens when neither is hit by the end of the session.
"I move to breakeven once it's in decent profit, then let it run."
breakeven_trigger = 1.0R
breakeven_offset = 2 pips
trail_after = 1.5R
trail_distance = 20 pips
Run the rule set on a demo account for long enough to see it behave in conditions you did not anticipate. You are not looking for results at this stage. You are looking for the gap between what you meant and what you wrote.
Expect that gap to exist. It always does the first time. Watch for trades the software took that you would not have, and setups you would have taken that it skipped — each one points at a condition that is defined wrongly or not at all.
This is a structure-based setup taken through all five steps. It is here to show the level of detail required, not as a strategy to copy — the numbers are illustrative and mean nothing outside the context they were chosen for.
Notice how much of this has nothing to do with the entry. Roughly two thirds of a workable rule set is filters and exits — the part most traders leave undefined.
Every filter you add makes historical results tidier and the rule set less likely to hold up on data it has not seen. If a condition cannot be justified by why the setup works, it probably should not be there.
Some things you see on a chart are genuinely hard to express — the shape of a consolidation, the character of a move. Either find a measurable proxy or accept that part stays manual.
Sessions have to be defined in broker server time, which is often two or three hours off from yours and shifts with daylight saving. This single mistake silently changes which trades the rule set is even allowed to see.
A rule set that only describes entries will happily open a second and third trade on the same signal. Define what happens when a position is already open before you run anything live.
Demo conditions are usually kinder than live ones. Test with a spread and commission model close to what your broker actually charges, or the results describe a market you cannot trade in.
Adjusting parameters while a test is running restarts the evidence without restarting the clock. Decide the rule set, run it untouched for a defined period, then review.
Once your strategy is defined, something has to execute it. Thunderbot is an Expert Advisor for MetaTrader 5 that holds the conditions from the method above and checks them on every bar, on your own terminal.
It does not send signals, does not give advice, and has no access to your trading account. Your broker relationship and your capital stay entirely with you.
Renews weekly. Cancel any time — no minimum term.
We reply on WhatsApp during business hours.
ThunderbotsV_13.ex5 · MetaTrader 5 · A licence key is required to activate it.
Prices are in US dollars. A MetaTrader 5 terminal from your own broker is required and is not included. The licence covers the software only — it does not include trading capital, a broker account, or any managed service.
No. The method on this page is about defining rules in plain terms and then entering them as settings. The software exposes them as fields and toggles rather than as code.
It only evaluates conditions you have switched on, using values you entered. A disabled module is never checked. It will not act outside the session hours or daily limits you set.
No. Nothing here is a recommendation to buy or sell anything. We do not provide signals, do not manage money, and have no access to your trading account. The method is a way of writing your own strategy down; the software executes your own configuration.
No, and anyone telling you otherwise is selling something. Automation makes execution consistent. If the underlying strategy has no edge, consistent execution of it will not create one. Trading involves substantial risk of loss.
Any symbol available on your broker's MetaTrader 5 terminal. The symbol is a setting you choose, not something built into the software.
The licence is $30 per week, with the setup session and onboarding guide included. It renews weekly and you can stop at any time — the licence then runs to the end of the paid week and deactivates. See the refund policy for details.
A MetaTrader 5 terminal from your broker, running on a machine or VPS that stays online while you want the software active.
Thundersoftware publishes a software tool. Nothing on this website or inside the software is financial advice, investment advice, or a recommendation to buy or sell any instrument. We do not manage money, hold client funds, or have access to your trading account.
Trading financial markets involves substantial risk of loss and is not suitable for every individual. Past performance does not indicate future results. Any figures or settings shown on this page are illustrative and are not a projection of any outcome. You are responsible for the rules you configure and for evaluating your own strategy and risk tolerance.
Fill this in and we'll continue on WhatsApp. The licence is $30 per week; setup and the onboarding guide are included.
This opens WhatsApp with your details filled in. Press send there and we'll pick it up.