
MT5 Error 10019 Not Enough Money: Fix the Margin, Not the Balance
MT5 error 10019 is the return code TRADE_RETCODE_NO_MONEY, which MetaQuotes describes as "There is not enough money to complete the request." Despite the wording, it does not mean your balance is too small to trade. It means the margin this particular order needs is larger than the free margin your account has at that moment.
That distinction is what makes "not enough money" so confusing. A 10,000 account can be refused a trade that a 2,000 account opens without trouble, if the first one holds other positions, trades a symbol with lower leverage, or asks for a much larger size. The fix is to compare the same two numbers the broker compared, which this guide shows you how to find.
Free margin and required margin#
Free margin appears in View → Toolbox → Trade on the account summary line. It is your equity minus the margin already used by open positions, so it falls as you open trades and also as open trades lose money.
Required margin is the amount the new order would lock up, and for a typical forex CFD it is roughly the volume multiplied by the contract size and the price, then divided by the leverage on that symbol:
| Order | Contract size | Price | Leverage | Margin needed |
|---|---|---|---|---|
| 1 lot EURUSD | 100,000 | 1.08 | 1:30 | about 3,600 USD |
| 1 lot EURUSD | 100,000 | 1.08 | 1:100 | about 1,080 USD |
| 0.5 lot EURUSD | 100,000 | 1.08 | 1:30 | about 1,800 USD |
The exact formula depends on the symbol's calculation mode and your account currency, so for a precise figure use the broker's margin calculator or read the contract size and margin settings in the symbol's Specification window. If you write your own EAs, OrderCalcMargin returns the margin a given order would need directly from the terminal.
Why MT5 needs more margin than you expect#
Leverage is set per symbol#
Account leverage is a ceiling rather than a rule for every instrument. Brokers, and regulators in many regions, apply lower leverage to gold, indices, shares and especially crypto CFDs than to major currency pairs, so a size that fits easily on EURUSD can be several times too large on gold at the same broker. Prop firms often set their own lower leverage on top of that. Read the margin settings in the specification of the symbol that failed rather than relying on the account's headline leverage.
Risk-based sizing combined with a tight stop#
When the lot size is calculated from a risk percentage and the stop distance, a very tight stop produces a very large position, so risking 1% with a 2-pip stop asks for five times the volume, and five times the margin, of the same risk with a 10-pip stop. The risk is exactly what you intended, but the margin needed to carry the position may not fit in the account.
Other positions are already using margin#
Every open position reduces free margin, and on hedged accounts the positions in the opposite direction can do so as well, depending on how the broker calculates hedged margin. A strategy that adds to a trend or runs on several symbols at once can therefore work for its first entries and fail on the next one.
The broker raised its margin requirements#
Brokers commonly increase margin requirements over weekends, holidays and major events, which is why an order that worked on Thursday can fail with 10019 on Friday afternoon without anything changing on your side.
How to fix MT5 error 10019#
Reduce the order size until the required margin fits inside your free margin with room to spare, then decide whether that size still suits the strategy. If you really need the larger size, the alternatives are more equity, fewer positions open at the same time, or a symbol and account whose leverage suits it. Keep in mind that higher leverage also raises how quickly a losing position eats into the account, which makes it a risk decision rather than a quick fix. Leave a buffer as well. An order that uses nearly all your free margin leaves nothing for the next one, and a small move against it can bring the account close to a margin call.
How PineHook helps you avoid margin errors#
When TradingView alerts set the size, the same strategy sends different sizes as its stop distance changes, so 10019 often appears on only some of them, and a bare "no money" from the broker gives you no hint about which alerts are at risk. PineHook records each failure on the alert's Signal Logs row with the broker's description beside the code, so you can see which alert hit the limit and what size it asked for, and it also gives you ways to stop the problem before the broker is ever asked:
size_margin_pctsizes the position from the margin it will commit, as a share of your balance, which makes margin the number you control directly.minfreemarginandminmarginlevelrefuse an entry when the account is already below the level you set, and the Signal Logs row names the check and the value that failed it.- Copied alerts take a copier multiplier per destination, so a smaller account can run the same strategy at a size it can carry.
The full parameter list is in Default mode commands, margin failures are covered in Trade errors, and you can create a PineHook account without payment details to test your sizing on a demo account.
FAQ#
Why does MT5 say not enough money when my balance is large enough?
The check uses free margin rather than balance, and open positions, floating losses and lower leverage on the symbol all reduce what is available for a new order.
Is MT5 error 10019 the same as error 134?
134 is MT4's "not enough money" code, and MT5 reports the same refusal as 10019.
Related guides#
- MT5 invalid volume
- MT5 error 4756 trade request sending failed
- Lot size conversion
- Position sizing commands
MetaTrader is a trademark of MetaQuotes, and PineHook is an independent product that is not affiliated with, endorsed by, or sponsored by MetaQuotes. Leveraged trading carries a high risk of loss, so test any automated setup on a demo account before you trade it live.
