Building a personal glossary of MT5 reject codes
Posted: Mon Oct 19, 2026 5:56 pm
When an order fails in MT5, the platform returns a code: 10004 requote, 10006 rejected, 10014 invalid volume, 10016 invalid stops, 10018 market closed, 10019 no money, and so on. The official list is long. A personal glossary of the ones you actually hit is more useful.
How to build it:
- Log every order result code in your EA (trade.ResultRetcode() with the CTrade class).
- For manual trading, check the Journal tab after failed orders.
- Each time a new code appears, add it to a small table: code, meaning, when it happened, what caused it, how you fixed it.
Example entries that commonly appear:
- 10016 invalid stops: stop too close to price, below the stop level.
- 10014 invalid volume: lot size not matching volume step, or above max.
- 10004 requote: price moved, especially during news.
- 10021 no quotes: no prices available, often at market open or during outages.
Over time, the glossary also shows patterns: lots of 10016 means your stops are too tight for the broker's rules; lots of 10004 during news means you're trading at the wrong moment.
Which reject code do you see most often?
How to build it:
- Log every order result code in your EA (trade.ResultRetcode() with the CTrade class).
- For manual trading, check the Journal tab after failed orders.
- Each time a new code appears, add it to a small table: code, meaning, when it happened, what caused it, how you fixed it.
Example entries that commonly appear:
- 10016 invalid stops: stop too close to price, below the stop level.
- 10014 invalid volume: lot size not matching volume step, or above max.
- 10004 requote: price moved, especially during news.
- 10021 no quotes: no prices available, often at market open or during outages.
Over time, the glossary also shows patterns: lots of 10016 means your stops are too tight for the broker's rules; lots of 10004 during news means you're trading at the wrong moment.
Which reject code do you see most often?