Most expert advisors are built around an entry. Somebody finds one, tests it, likes the curve, and ships it — the entry is the product. This post is about the part almost nobody builds: the piece that sits after the entry and decides which signals are worth taking at all.
The Wall Every EA Developer Hits
You can find entries. That part is not actually hard.
What is hard is that almost every entry worth finding sits somewhere around break-even once the spread is paid. Not broken. Not brilliant. Just — flat.
And the usual response is to keep tuning. Different stop, different filter, different session, another indicator on top. The curve improves every time you try something, which feels like progress and mostly isn't: you are fitting the past a little harder each round.

At some point I stopped and asked a different question. Not "how do I find a better entry" but "why is this entry sometimes right and sometimes wrong?"
Because it isn't random. The same setup, in two different market conditions, does two different things. Everyone knows this. Almost nobody builds around it.
What I Built Instead
Gatekeeper has two parts, and the interesting one is not the entry.
The first part looks for opportunities. I am not going to publish exactly how — that is the piece I actually own, and any specific description of it becomes somebody else's product within a month. What I will say is that it is rule-based, entirely mechanical, with no discretion and no hidden switches.
The second part is the gatekeeper. Before any order goes out, it takes a reading of the current market — a range of measurements describing the conditions the signal is appearing in — and decides whether this particular opportunity is worth taking.
Most of them are not. It says no to roughly half.
That decision is not a rule I invented and it is not something I tuned by hand. It came out of thousands of recorded signals across more than five years: for each one, what the market looked like at that moment, and what happened afterwards. The pattern is in there. It just isn't visible by eye.
Why You Should Not Simply Believe Me
Here is the uncomfortable truth about this market: a backtest proves almost nothing, and everybody selling something knows it.
Turn the knobs long enough and any strategy produces a beautiful curve over data you already have. That is not a forecast — it is a description of the past wearing a forecast's clothes. When you see a product page with a perfect equity line and no explanation of how it was validated, you are looking at a screenshot, not evidence.
So let me be specific about how I checked mine.
The selection model was trained on the older half of the data only. The recent months were held back completely — never seen, not once, in any form. Then it was tested on exactly those months. It had to judge conditions it had never been shown.
| filter off | filter on | |
| Net profit | −94 | +2,570 |
| Profit factor | 0.99 | 1.35 |
| Maximum drawdown | 25.36% | 14.05% |
| Trades | 139 | 68 |
| Equity curve straightness | 0.22 | 0.78 |
XAUUSD, H1, real ticks, 19 January to 10 August 2026. Starting balance 10,000, risk 1.5% per trade.
Without the gatekeeper the system is a coin flip that pays the spread: 139 trades, a small loss. With it, 68 trades remain and the coin flip becomes a result — at roughly half the drawdown.
Then I did the check most people skip. I ran the identical training procedure dozens of times with the outcomes deliberately scrambled — signals paired with the wrong results. If the model were just memorising noise, scrambled data should work about as well. It didn't. Nothing close.
That is the difference between "the curve looks nice" and "there is something here." It is not a guarantee. It is the strongest honest statement I can make.
And the honest limit: that is 68 trades over seven months. Enough to show the filter works. Not enough to derive an annual return from. If you want the same idea measured over a longer stretch, the sister product DRX FastAi has 236 trades across 2.3 years.
What It Is Like To Actually Run
Quiet. Sometimes uncomfortably so.
Because the gatekeeper rejects most signals, there are stretches with no trades at all. You will see setups on your chart that look perfectly reasonable, and nothing will happen.
That is the design working, and it is also the single most common reason people uninstall an EA like this. So I would rather you know now: if activity is what you want from an EA, buy a different one. There are plenty that will trade every day, and most of them will also lose every day.
What you get instead is fewer positions, each one selected, each one with its stop in place from the first second.
The Boring Guarantees
No grid. No martingale. No averaging into losers. Not disabled by default — not present in the code.
I put this here because it is the first thing I would look for as a buyer, and because the phrase "no martingale in the recommended settings" appears on a lot of product pages. That phrase means there is a martingale. There isn't one here.
Every position gets a fixed stop loss when it opens. Profits are protected by a trailing stop. If the account reaches the drawdown limit you configure, everything closes and the EA pauses, with the reason written in plain text on the chart. It resumes by itself at the start of the next month rather than sitting dead forever.
That last detail exists because I found the opposite behaviour in my own code — a brake that engaged once and never let go. In testing it silently cost years of trading. It is fixed, and I would rather tell you about it than hope you never notice.
Installation: Drag, Load, Done
Drag it onto an XAUUSD H1 chart, load the set file, enable AlgoTrading. That is the whole procedure.
The model is inside the expert. There is no separate file to download, no folder to hunt for, nothing to place anywhere. I build it into the product before it ships, so it cannot be lost, misplaced or forgotten — and the EA cannot end up quietly running without it.
I mention this because it is not how most AI-based products ship, and because the alternative causes real problems: an expert that runs perfectly while silently missing the part you paid for.
H1 and gold are not preferences. The model was built on those conditions specifically. Put it anywhere else and it is being asked about a world it has never seen. The EA will warn you.
Before You Go Live
Run the tester with "Every tick based on real ticks". Not "1 minute OHLC".
OHLC assumes price travels in a straight line inside each minute. For anything using a trailing stop, that assumption inflates results — consistently and substantially. I measured the gap on my own system and it was large enough that I threw away weeks of work based on it.
Real ticks are slower and the first run has to download data. It is worth it. A number you can trust is worth more than a number you like.
Then demo it. A few weeks, minimum. Not because I doubt the system, but because an EA that goes silent for two weeks feels completely different when the money is real.
The 3 Mistakes That Will Ruin Your Results
- Testing on 1-minute OHLC. It flatters any trailing-stop system. You will get a number you like and then wonder why live doesn't match it.
- Switching on the extras without measuring. News filter, trading window, randomisation — all off by default, because the published numbers were measured without them. Turn one on and you are trading something untested.
- Judging it on trade count. Fewer trades is the mechanism, not a malfunction. If a quiet fortnight makes you change settings, the settings were never the problem.
The Set File for Gold
Exactly the configuration the results above were measured with. Nothing tidied up for the screenshot.
Save it as DRX_Gatekeeper_XAUUSD_H1.set into MQL5\Presets\ , or download the ready-made file below.
RiskLevel=1 CustomRiskPercent=1.5 MaxDrawdownPercent=25.0 MaxDailyLossPercent=0.0 SizeFromEquity=false SetSlTpAfterEntry=false RandomizePoints=0 UseAiFilter=true FilterStrength=1 UseNewsFilter=false NewsLevel=0 NewsMinutesBefore=30 NewsMinutesAfter=30 NewsCurrencies=USD HoursReference=0 TradeStartHour=7 TradeEndHour=21 FridayCloseHour=-1 ManualGmtOffset=99 MagicNumber=991000 TradeComment=DRX Gatekeeper MaxSpread=0.60
You may notice the news filter, the trading window and the entry randomisation are all switched off.
That is deliberate. The published numbers were measured without them. The moment you switch one on, you are trading something other than what was tested — possibly better, possibly worse, but definitely unverified. They are built in because some accounts need them, not because they improve the result.
If you use them, measure again afterwards. One tester run, and then you know.
What I Am Not Claiming
This runs on one instrument, on one timeframe, measured against one broker's spreads. The results are real and they are also limited to that context. A broker with materially higher costs will produce worse numbers, and I would rather say it here than have you discover it yourself.
Past results are not a promise. Markets change — gold in 2021 behaved nothing like gold today, and I have the test results to prove it. Nothing built on history is immune to that.
What I can tell you is how it was built, how it was checked, and where it stops. Everything else you should verify yourself, which is exactly why the set file is included and the tester settings are spelled out above.
Where DRX Gatekeeper fits in
Two rule-based engines find the opportunities. A trained model decides which ones are worth taking and rejects the rest — automatically, on your own chart, before the order is placed. The model ships inside the expert: nothing to install, nothing to configure beyond your risk level.
What is the longest you have let an EA sit without a trade before you started second-guessing it? That threshold says more about whether a selective system suits you than any backtest does. Tell me in the comments — and if something in your own testing looks wrong, message me. I answer.





![[iVISTscalp5]: The Evolution of VISTmany [iVISTscalp5]: The Evolution of VISTmany](https://c.mql5.com/6/1022/splash-preview-774097.png)