Appearance
Are you an LLM? You can read better optimized documentation at /troubleshooting/error-messages.md for this page in Markdown format
Error Messages
When something goes wrong, TTMT records an error you can read in the Signal Log, the trade detail, or a notification. This page translates each one into plain English and tells you the exact next step. If you only remember one thing: click the failed item in the Signal Log — it shows the precise error and the raw signal text, which is the fastest way to know what happened.
TIP
Click the failed item in the Signal Log to see the exact error and the raw signal text. That one click answers most "why did this fail?" questions.
Trading errors
Errors that stop a trade from being placed or managed.
| What you see | What it means | What to do |
|---|---|---|
| Not enough money / Insufficient margin | Free margin is too low to open the position at the computed size. | Deposit funds or lower your lot size. |
| Lot size too large / Risk too high | The computed size exceeds your available margin or the platform's total-volume safety ceiling, so TTMT clamps it down. | Lower your configured size or raise your balance. |
| Invalid volume | A per-order size fell below the broker minimum or off its lot step. | Raise your size or balance. See Wrong Lot Size in Trade Execution Issues. |
| Symbol not found on broker | The signal's symbol didn't match anything on your broker's instrument list. | Add a manual map. See Symbol Mapping. |
| Symbol disabled for this account | The broker or prop firm has trading turned off for this instrument on this account. | Trade a permitted symbol, or check your prop firm's allowed list. |
| Market closed | The signal arrived while your broker's market for that instrument was closed. TTMT rejects it right away and places no order — it is not queued for the next open. | No action — but if you want off-hours signals to trade, watch a market that's actually open. The reopen countdown is a display aid, not a promise the signal will run. |
| Stopped out (insufficient margin) | The broker liquidated the position because free margin ran out. This is a broker stop-out, not your strategy stop-loss firing. | Reduce size or add funds so positions have margin headroom. This is different from a normal SL hit. |
| Trade closed by per-trade P&L limit | You set a per-trade max loss or max profit and this trade reached it, so TTMT closed it. | Working as configured. The threshold is fixed when the trade opens and doesn't change mid-trade. |
| Message blocked by filter | The message matched a term on the channel's text blacklist, so it was skipped before being read as a signal. Logged as blacklist_match:<term>. | Check the channel's Filters tab. Replies bypass the blacklist, so follow-ups still work. See Signal Issues. |
| Position or order not found | During fast parallel fills, TTMT briefly looked for a position the broker hadn't surfaced yet; it retries on its own. | Usually self-heals, no action. If the trade ends up without a stop or target, check the trade detail. |
| Couldn't confirm whether the order went through | A network blip left the result uncertain, so TTMT re-checks the broker before risking a duplicate. | No action. TTMT resolves it, then either keeps the one real order or retries safely. |
| Connection lost during execution | A temporary broker or connection drop interrupted the trade. | Retried automatically. If it persists, see Connection Issues. |
| Automatic Safety Pause active | After repeated failures, new attempts are paused briefly to protect the account. | It lifts on its own once attempts succeed. If it keeps tripping, the cause is connection or broker — see Connection Issues and Trade Execution Issues. |
| Trading paused — Risk Limit reached | The account is halted; new signal trades are blocked. | See I'm Halted — What Now?. |
WARNING
A Risk-Limit halt is not an error in your settings — it's the safety cap doing its job. See I'm Halted — What Now?.
Validation errors (caught before the trade is placed)
TTMT's own safety checks on the signal values, run before anything reaches the broker.
| What you see | What it means | What to do |
|---|---|---|
| Stop loss on the wrong side | The SL is above entry on a BUY (or below on a SELL). | Check your invalid-SL handling (skip / correct / default). Usually a bad signal. |
| Stop loss too far | The SL distance is more than 5× the distance to the farthest take-profit, which looks like a typo. | Verify the signal. Widen tolerance only if you trust it. |
| Take profit on the wrong side | One or more TPs are on the wrong side of entry; wrong-side TPs are dropped automatically. | No action. If all TPs drop, the trade may fail. |
| Entry zone invalid | The zone is inverted (low above high) or implausibly wide relative to the stop distance. | Usually a reading slip — test it in the Signal Tester. |
| Extreme values detected | A price or value sits far outside any trustworthy reference, so TTMT replaces or rejects it. | Check the signal. Adjust your extreme-value handling if it was intentional. |
| Duplicate signal | An identical signal already ran. | No action — this is a safety feature. |
Connection errors
Broker and Telegram connectivity problems.
| What you see | What it means | What to do |
|---|---|---|
| Broker authentication failed | Wrong login, server, platform, or an investor password used in place of the master password. | Verify the details in your account settings. See Connection Issues. |
| Broker disconnected | The connection to your trading server dropped. | Usually resolves in seconds. If it stays red for 5+ minutes, a Reconnect banner appears — see Connection Issues. |
| Session expired | Your Telegram link was invalidated. | Reconnect Telegram, and don't terminate the "TTMT Client" session. See Connecting Telegram. |
| Rate limited by Telegram | Too many connect attempts triggered a Telegram cooldown. | Wait out the countdown. Don't retry. |
| Connection token expired | Your account's trading access token rotated. | TTMT refreshes it automatically and retries; a trade that failed during the swap re-runs. No action — contact support only if it persists. |
MetaTrader broker error codes
Numeric codes returned by the broker's trading server.
| Code | Meaning | What to do |
|---|---|---|
| 10004 | Requote — price moved during execution. | Auto-retried. |
| 10006 | Request rejected by broker. | Check the instrument's availability and your account permissions. |
| 10010 | Partially filled. | TTMT tracks and manages the partial. |
| 10013 | Invalid request. | Check the symbol spec and volume step. |
| 10014 | Invalid volume. | The size doesn't match the broker's lot step. |
| 10015 | Invalid price. | The requested price is outside the broker's allowed range. |
| 10016 | Invalid stop loss. | The SL is too close to current price (broker minimum stop distance). Widen the SL. |
| 10017 | Invalid take profit. | The TP is too close to current price. Widen the TP. |
| 10019 | Not enough money. | Insufficient free margin. Maps to the "Not enough money" trading error above. A repeated 10019 that liquidates a position is a broker stop-out — see the trading errors table. |
| 10030 | Order already filled. | No action. |
Provider differences
Almost every account connects through MetaAPI Cloud, and the errors above apply to it directly. If your account is on a self-host provider (a limited preview), a couple of features behave differently rather than erroring — most notably broker-managed trailing stops, which the gateway-backed self-host path skips instead of activating. If a trailing stop never engages on a self-host account, that's expected, not a broker error. See Self-host providers.
How TTMT decides whether to retry
You almost never need to retry anything by hand. TTMT sorts every error into one of three behaviors:
- Retried for you. Most temporary problems are recoverable: requotes, brief disconnects, rate limits, a position the broker hasn't surfaced yet, and token rotation. TTMT retries these with growing wait times until they succeed.
- Failed fast. Genuine refusals fail immediately so you can act: wrong credentials, no money, a disabled symbol, or invalid stops. Retrying these would just waste attempts.
- Skipped outright. Some things aren't retried at all because retrying makes no sense: a market-closed signal is skipped immediately with no order placed and is not held for reopen; a signal inside your blocked hours is skipped the same way; a blacklisted message is stopped before it's read. None of these are failures — they're TTMT declining to act on purpose.
INFO
You almost never need to retry anything by hand. TTMT retries the recoverable errors and fails fast on the ones that need your input.
The Automatic Safety Pause is the mechanism that briefly stops retrying when one account keeps failing. It only counts real execution failures: a closed market, a rate-limited request, and a position not found yet do not push toward the pause. The pause lifts on its own once attempts start succeeding again.
Examples
- Not enough money. A prop account near its max position can't open the next signal — deposit funds or drop to a smaller computed size.
- Symbol disabled. A prop account blocks weekend crypto; a signal fired Saturday and the broker refused it.
- Position or order not found. On a six-order parallel fill, TTMT briefly can't find a position that the broker hasn't surfaced yet. It self-heals two seconds later — no action needed; the error is shown so you don't panic.
- SL too far. A gold signal arrives with the stop-loss mistyped 100 pips off, more than 5× past the farthest take-profit. TTMT catches it before placing the stop. Without the check, a single fat-finger SL would have placed a position with an enormous stop.
- Automatic Safety Pause active. A broker outage causes a run of failed orders; the pause activates and clears on its own once the broker is back.

