Error Codes
Complete reference guide for TradeSgnl error codes. Find solutions for common trading errors, EA connection issues, and signal processing problems.
Introduction
When the Expert Advisor processes a signal, errors can occur due to market conditions, account restrictions, or signal-format issues. Each error returns a numeric code so you can identify the cause quickly.
Three categories of codes
- MT5 Error Codes (10000+) come directly from the MetaTrader 5 platform.
- EA Error Codes (6000+) are raised by the TradeSgnl EA itself.
- Signal Error Codes (7000+) are raised during signal validation, before the request reaches your terminal.
Error codes appear in Signal History in your dashboard, next to any signal that didn't execute. The code tells you why.
MT5 Error Codes
Returned directly by MetaTrader 5 when a trade request can't be completed. These are consistent across brokers, though the conditions that trigger them depend on your broker's rules.
| Code | Error | Description |
|---|---|---|
10004 | Requote | Price changed during order execution. Try again at the new price. |
10006 | Request Rejected | Trade request was rejected by the server. |
10007 | Request Canceled | Trade request was canceled by the trader. |
10008 | Order Placed | Order has been successfully placed. |
10009 | Request Completed | Trade request has been completed successfully. |
10010 | Partial Completion | Only part of the requested volume was executed. |
10011 | Processing Error | Error occurred while processing the trade request. |
10012 | Timeout | Trade request was canceled due to timeout. |
10013 | Invalid Request | Trade request contains invalid parameters or is improperly formatted. |
10014 | Invalid Volume | The volume specified in the trade request is invalid or outside allowed limits. |
10015 | Invalid Price | The price specified in the trade request is invalid. |
10016 | Invalid Stops | Stop levels (take profit or stop loss) in the request are invalid. |
10017 | Trading Disabled | Trading is disabled for this account or symbol. |
10018 | Market Closed | The market is currently closed for the requested symbol. |
10019 | Insufficient Funds | Not enough money in the account to complete the trade request. |
10020 | Price Changed | The price changed during order execution. Retry with the new price. |
10021 | No Quotes | There are no quotes available to process the request. |
10022 | Invalid Expiration | The order expiration date in the request is invalid. |
10023 | Order State Changed | The state of the order has changed since the request was made. |
10024 | Too Many Requests | Too many trade requests have been sent in a short period. Please wait and try again. |
10025 | No Changes | The request contained no changes to the existing order. |
10026 | Server Disabled AutoTrading | Automated trading has been disabled by the server. |
10027 | Client Disabled AutoTrading | Automated trading has been disabled by the client terminal. |
10028 | Request Locked | The request is currently locked for processing. |
10029 | Order/Position Frozen | The order or position is currently frozen and cannot be modified. |
10030 | Invalid Fill Type | The order filling type specified is invalid. |
10031 | No Connection | No connection to the trade server. Check your internet connection. |
10032 | Only Real Accounts | This operation is only allowed for live trading accounts. |
10033 | Pending Orders Limit | The number of pending orders has reached the maximum allowed limit. |
10034 | Volume Limit | The volume of orders and positions for this symbol has reached the limit. |
10035 | Invalid Order Type | The order type specified is incorrect or prohibited. |
10036 | Position Already Closed | The position with the specified identifier has already been closed. |
10038 | Invalid Close Volume | The close volume exceeds the current position volume. |
10039 | Close Order Exists | A close order already exists for this position. Check existing orders. |
10040 | Position Limit Reached | The account has reached the maximum number of open positions allowed. |
10041 | Activation Rejected | The pending order activation request was rejected and the order was canceled. |
10042 | Long Only | Only long positions are allowed for this symbol. |
10043 | Short Only | Only short positions are allowed for this symbol. |
10044 | Close Only | Only position closing is allowed for this symbol. |
10045 | FIFO Close Violation | Position closing is only allowed according to FIFO (First In, First Out) rule. |
10046 | Hedge Prohibited | Opposite positions on the same symbol are disabled for this account. |
EA Error Codes
Raised by the TradeSgnl Expert Advisor when a signal violates its configuration (risk limits, spread filters, symbol availability, etc.).
| Code | Error | Description |
|---|---|---|
6001 | Outside Trading Session | The trade was rejected because it was placed outside of allowed trading hours. |
6002 | Spread Too High | The trade was rejected because the current spread exceeds maximum allowed value. |
6003 | Pyramid Limit Reached | The trade was rejected because it would exceed the maximum allowed positions in the same direction. |
6004 | Maximum Volume Exceeded | The trade was rejected because it would exceed the maximum allowed volume. |
6005 | Pending Order Level Missing | The pending order could not be placed because the order level was not specified. |
6006 | Direction Lock Violation | The trade was rejected because Direction Lock is enabled and prevents opening positions in the opposite direction. The strategy is currently locked to one side of the market. |
6007 | Invalid Symbol | The specified trading symbol does not exist, is not available, or cannot be traded on this broker. |
6008 | DCA Filter Violation | The trade was rejected by DCA Filter. Buys must be below the last entry price, and sells must be above the last entry price to allow averaging down. |
6009 | EA Stopped by Max Drawdown | The trade was rejected because the EA has been stopped after reaching the maximum drawdown limit. Manual resume required. |
6010 | EA Paused by Daily Drawdown | The trade was rejected because the EA is paused after reaching the daily drawdown limit. Will auto-resume at start of new trading day. |
6011 | Maximum Trades Limit Reached | The trade was rejected because opening it would exceed the maximum total number of allowed open trades. |
6012 | Maximum Trades Per Symbol Limit Reached | The trade was rejected because opening it would exceed the maximum number of allowed trades for this symbol. |
6013 | SL Required for Volume Type | The trade was rejected because the selected volume type requires a stop loss value for lot size calculation. |
6014 | EA Paused by Daily Profit Target | The trade was rejected because the EA is paused after reaching the daily profit target. Will auto-resume at start of new trading day. |
6015 | EA Paused by Monthly Profit Target | The trade was rejected because the EA is paused after reaching the monthly profit target. Will auto-resume at start of new trading month. |
6016 | Maximum Long Trades Limit Reached | The trade was rejected because opening it would exceed the maximum allowed number of long (buy) trades. |
6017 | Maximum Short Trades Limit Reached | The trade was rejected because opening it would exceed the maximum allowed number of short (sell) trades. |
6018 | Broker Disconnected | The terminal was disconnected from the broker when the signal arrived, so the symbol could not be verified. This is usually transient. The next signal should succeed once the connection is restored. |
Adjustable in EA settings
EA error codes usually point at safety filters or trading rules you've configured. Most can be relaxed or disabled in the EA settings if they're blocking signals you want executed.
Signal Error Codes
Raised during signal validation on the TradeSgnl servers, before the signal reaches your terminal. These usually indicate a problem with the signal payload itself.
| Code | Error | Description |
|---|---|---|
7001 | Invalid license code | License code is invalid, expired, or not found. Check your license details. |
7002 | Invalid action/command | Signal command (e.g., BUY, SELL) is not recognized or improperly formatted. Verify command syntax. |
7003 | Missing trade volume/risk | Signal must include trade volume or risk percentage. This information was not found. |
7004 | Invalid symbol format | Trading symbol is improperly formatted, contains invalid characters, or is not recognized. Check symbol against broker's naming convention. |
7005 | Invalid numeric value for TP | Take Profit (TP) must be a valid positive number. Check formatting and ensure it is a logical price. |
7006 | Invalid numeric value for SL | Stop Loss (SL) must be a valid positive number. Check formatting and ensure it is a logical price. |
7007 | Invalid numeric value for volume/risk | Trade volume or risk percentage is not a valid positive number or is outside broker limits. Check value and formatting. |
7008 | Missing required symbol | Signal is missing trading symbol (e.g., EURUSD). Specify the financial instrument. |
7009 | Missing required action | Signal is missing action/command (e.g., BUY, SELL). Specify the trading operation. |
7010 | Invalid secret key authentication | Secret key or API token is incorrect, expired, or unrecognized. Verify authentication credentials. |
7011 | Signal parsing failed | Error interpreting signal data due to incorrect formatting, unexpected characters, or corrupted structure. Review signal syntax. |
7012 | Payload too large | Signal data exceeds the server's maximum allowed size. Reduce information in comments or optional parameters. |
7013 | Empty or malformed payload | Received signal data is empty, incorrectly formatted, or has structural errors preventing parsing. Check signal content and structure. |
7014 | Invalid parameter format | One or more parameters (e.g., price, SL/TP) are not in the correct data type or format. Review parameter specifications. |
7015 | Duplicate signal ID | A signal with this unique ID has already been processed. Ensure each new signal uses a unique identifier. |
7016 | No client connected | Signal was received but no client was connected to receive it. Ensure your EA is running and connected before sending signals. |
7020 | Exit signal ignored | Strategy has "Ignore Exit Signals" enabled (the ,noexit flag), so the server rejected this position-close action. Entries, reversals, and pending-order cancels from the same strategy still execute. To re-enable: remove the noexit flag from the alert message. |
Common signal error scenarios:
- Authentication issues (7001, 7010) — verify your license code and secret key are correct and active.
- Missing parameters (7003, 7008, 7009) — your signal must include symbol, action, and volume/risk.
- Format errors (7004, 7011, 7013, 7014) — check the signal's syntax and data types.
- Data issues (7012, 7015) — avoid sending duplicate signals or oversized payloads.
Troubleshooting Common Errors
The most frequent errors and how to resolve them.
| Error | Problem | Solution |
|---|---|---|
10019 Insufficient Funds | Account does not have enough free margin to open the position. | Check account balance and margin requirements. Reduce risk per trade if needed. |
10017 Trading Disabled | Automated trading is blocked at the terminal or broker level. | Enable automated trading in MT5. Confirm your broker allows EA execution. |
10031 No Connection | EA cannot reach the broker server. | Check internet connection, confirm terminal is logged in, restart MT5 if needed. |
10018 Market Closed | The symbol is outside its trading hours. | Check your broker's trading hours for that instrument. |
6002 Spread Too High | Current spread exceeds the EA's configured max-spread. | Wait for tighter market conditions, or adjust the spread filter in EA settings. |
6007 Invalid Symbol | The signal's symbol does not match any tradeable symbol on your broker. | Verify the symbol name matches your broker (e.g. EURUSD.m, EURUSD.micro). Use the symbol mapping feature to translate names. |
General troubleshooting steps:
- Check EA logs. The Experts tab in MT5 has the detailed error context.
- Verify signal format. All required fields present, correct types.
- Check account status. Active, funded, not in margin call.
- Restart the EA. Solves transient connection issues.
- Contact support. For persistent errors that don't match any of the above.