MT5 error 10033: Pending orders limit reached (TRADE_RETCODE_LIMIT_ORDERS)

The account already has the most pending orders the broker allows. Nothing was placed; delete old orders first.

10033TRADE_RETCODE_LIMIT_ORDERS
After a fixSafe to retry?
NoCould it have executed?

What it means

You see this code in the retcode of a trade result, from OrderSend() in MQL5 or order_send() in Python.

Brokers can cap the number of pending orders an account holds at one time. At the cap, a new pending order is refused with 10033.

The cap is visible in the account information, so you can check it in advance.

Common causes

  • Grid strategies that leave many orders open.
  • Old orders that were never canceled.
  • Several programs placing orders on one account.

How to fix it

  • Compare orders_total() with account_info().limit_orders before placing.
  • Delete orders that are no longer needed.
  • Use expirations so orders clean themselves up.

Example in Python:

import MetaTrader5 as mt5

cap = mt5.account_info().limit_orders     # 0 means no cap
if cap and mt5.orders_total() >= cap:
    print("at the pending order limit:", cap)

Is it safe to retry?

After you remove some pending orders.

Could the order have executed?

No new order was placed.

How Tickwire handles it

MT4 error 148 comes back as 10033.

All MetaTrader error codes

One API for MT4 and MT5

Clear trade outcomes, idempotent orders and an audit log. Read the error reference or the quickstart.