MT5 Expert Advisor Development
You write the rules. We implement them in MQL5 as a working Expert Advisor that runs on your own MetaTrader 5 terminal, …
Read moreThis is a software acceptance checklist, not a strategy evaluation. It tells you whether the build does what the specification says — nothing about whether the rules are good.
When a build is delivered, there are two completely separate questions. Does the software do what the specification said? And is the strategy itself any good? This checklist answers only the first. The second is yours, and no developer should be answering it for you.
Run through this before you release the final payment. Everything here is reproducible, and every item is something a developer can fix if it fails.
Open the source in MetaEditor and compile. You want 0 errors, 0 warnings. Warnings are not cosmetic — "possible loss of data due to type conversion" is how a lot size silently becomes zero.
Every input in the specification exists, is spelled the way you expect, has a sensible default and is grouped readably. Change a few and confirm the behaviour actually changes — an input that is accepted but never read is a surprisingly common defect.
Set a negative lot size. Set a stop loss of zero. Set a risk percentage of 500. The EA should refuse to initialise with a clear message in the Experts tab, not start and do something unexpected.
int OnInit()
{
if(RiskPercent <= 0.0 || RiskPercent > 10.0)
{
Print("RiskPercent must be between 0 and 10. Got: ", RiskPercent);
return INIT_PARAMETERS_INCORRECT;
}
return INIT_SUCCEEDED;
}
Run the Strategy Tester over a short period in visual mode and open three or four trades by hand in the log. For each one, check the entry bar against your written entry condition and the exit against your written exit condition. Three correct trades tell you more than a thousand you never looked at.
Set maximum open positions to 1 and confirm a second never opens. Set the daily loss limit low enough to trigger and confirm the EA stops. Limits that were specified but never tested are the most common gap between a build and its specification.
With a position open in the tester or on demo, remove the EA from the chart and attach it again. It must recognise its own existing position by magic number and carry on managing it — not ignore it, and not open a duplicate. Terminals restart, VPS reboots, and connections drop; this will happen in real use.
Open a manual trade on the same symbol. The EA must leave it completely alone. If it manages or closes your manual trade, the magic-number filtering is wrong, and that is a serious defect.
XAUUSD.m) and confirm nothing is hard-codedUnsupported filling mode and no trades at allNot to judge the strategy — to catch what a tester cannot show you: weekend rollover, swap charges, connection drops, server-time edges around midnight, and holiday sessions. A week of demo finds things no amount of backtesting will.
That last point matters more than it looks. Six months later, "it used to work" is impossible to investigate if nobody can say which build "it" was.
Backtest results describe the past on one dataset with one broker's assumptions about spread, swap and slippage. They are a software verification tool. They are not a prediction, we attach no claim to them, and nobody — including us — can tell you what any strategy will do next.
You write the rules. We implement them in MQL5 as a working Expert Advisor that runs on your own MetaTrader 5 terminal, …
Read moreSoftware you already own, fixed or extended — and deployed on a VPS so it keeps running when your own machine is o…
Read moreSend your rules, your script or your existing file on WhatsApp and we will reply with a written scope, price and timeline.