An error that puzzles many MetaTrader users is trade context busy. It appears when more than one program tries to send orders at the same time.
In MT4, the terminal can handle only one trade request at a time per account. If two expert advisors, or an advisor and a manual order, collide, one is rejected. In a fast market, that rejection may happen exactly when the order matters most.
Typical fixes include retrying after a short random delay, checking the busy flag before sending, and avoiding running many advisors on the same terminal. A cleaner design is to separate systems onto different terminals or accounts.
MT5 handles concurrency better, though orders can still conflict in logic if scripts aren't coordinated.
Logs show the issue clearly. Repeated error 146 or similar messages at busy moments point to context collisions.
Planning for it from the start is easier than debugging it after a missed exit.
How do you manage several scripts on the same platform?
Trade context busy and the trouble of several scripts talking to one terminal
-
Amanhasnoname
- Posts: 1506
- Joined: Fri Oct 30, 2026 9:45 am