TROUBLESHOOTING · METATRADER 5

MT5 invalid price error (10015)

SYMPTOM

Orders are rejected with "Invalid price" or error 10015.

Causes, most likely first

1. The price is not aligned to the symbol tick size

Every symbol quotes in discrete steps. A calculated price of 4012.3457 on a symbol quoting to two decimals is not a price that exists. Round to the tick size read from the symbol specification rather than assuming a number of decimals.

2. A pending order is on the wrong side of the market

A buy limit must sit below the current price and a buy stop above it; sells are the mirror. Getting this backwards produces an invalid price rather than a helpful message, and it is the most common cause in EA code.

3. The price was never rounded to the symbol's digits

The most common coding cause, and the one every MQL5 thread on this error ends at. A price computed from arithmetic — an average, a percentage, an ATR multiple — almost never lands exactly on the symbol's price grid. Gold quoted to 2 decimals will reject 2412.33333. Round with NormalizeDouble against the symbol's own SYMBOL_DIGITS rather than a hardcoded number: brokers quote the same instrument to different precision, and a 3 or 5 digit feed breaks any EA written against a 2 or 4 digit one. This is why the identical code runs at one broker and rejects every order at another.

4. The price is stale

A price captured a few seconds ago may no longer be valid on a fast-moving symbol. Read the current tick immediately before sending rather than reusing a value from earlier in the logic. See off quotes.

5. The order is too close to the market

Brokers enforce a minimum distance for pending orders and stops. Inside it the request is refused. That is usually reported as invalid stops rather than invalid price, so if both appear, check the stop level first.

Why this happens

The word "invalid" is doing a lot of work here: it covers a price that does not exist on the grid, one on the wrong side, and one the broker will not accept at that distance. The Journal entry rarely distinguishes them.

The fastest diagnostic is to log the exact price being sent alongside the current bid and ask at that instant. Nine times out of ten the answer is visible immediately — it is on the wrong side, or it has more decimals than the symbol supports.

Common questions

What does invalid price mean in MT5?

The price attached to the order is not one the server will accept, usually because it is not an exact multiple of the symbol tick size or because it sits on the wrong side of the current market for that order type. The request is rejected before it reaches the book, so nothing fills and no money moves.

How do I find the tick size for a symbol?

Right-click the symbol in Market Watch and open Specification. Tick size is the smallest increment the server accepts, and every price you send must be an exact multiple of it. Rounding to two decimals is correct on a symbol that quantises to 0.01 and wrong on one that uses 0.001.

Can slippage cause an invalid price error?

Not directly, but a stale price can. If the EA calculates a level, waits, then sends it, the market may have moved far enough that the price now sits on the wrong side or inside the broker stops level. That reports as invalid price even though the arithmetic was correct when it ran.

Related problems

MT5 trading botAll troubleshootingContact support

Educational information only, not financial advice. Trading leveraged products carries substantial risk of loss. Last updated 2026-09-04.