MT4 error 4107: Invalid price
NormalizeDouble() every price.
Updated 24 October 2026. Runs in your browser; nothing you type is uploaded.
The number after "error" in MT4's Experts or Journal tab. 161 codes, as MQL4's reference words them.
Share this fix
What MQL4 says
4107ERR_INVALID_PRICE_PARAM- Invalid price
From MQL4's table of error codes, read 24 October 2026. An Expert Advisor reads it with GetLastError() after a call fails; the Experts and Journal tabs print what the EA logs.
What causes it
A trade function got a price it can't use. MQL4 lists 4107 among its runtime errors, apart from the server's 129 (Invalid price), and its OrderSend page says a calculated price has to be normalized to the symbol's digits.
How to fix it
Normalize every price before you send it. Use NormalizeDouble(value, Digits) for the price, stop loss and take profit, and open a buy at Ask and a sell at Bid, as the MQL4 Book's table of correct prices lists.
Source: MQL4 Reference: OrderSend. No MQL4 code is shown because none here was compiled; adapt the steps to your EA.
Other MT4 errors
- MT4 error 0: No error returned
- MT4 error 1: No error returned, but the result is unknown
- MT4 error 2: Common error
- MT4 error 3: Invalid trade parameters
- MT4 error 130: Invalid stops
- MT4 error 131: Invalid trade volume
- MT4 error 132: Market is closed
- MT4 error 133: Trade is disabled
- MT4 error 134: Not enough money
- MT4 error 136: Off quotes
- MT4 error 4051: Invalid function parameter value
- MT4 error 4111: Shorts are not allowed
- MT4 error 4112: Automated trading by Expert Advisors/Scripts disabled by trade server
- MT4 error 4200: Object already exists
- MT4 error 5004: Cannot open file
Moving to MT5? Read a whole EA's source
- MTR FullSystemEA (MQL5 source) The full MQL5 source of a production MT5 EA for XAUUSD M5 (hedge-grid and recovery): 21 files, 16,923 lines. $49 once.