Open Portal

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.

Six 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.
  • Crypto Exchange Error Codes (7500+) are raised when a signal is executed on a connected crypto exchange.
  • cTrader Error Codes (7600+) are raised when a signal is executed on a connected cTrader account.
  • TradeLocker Error Codes (7700+) are raised when a signal is executed on a connected TradeLocker account.

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.

CodeErrorDescription
10004RequotePrice changed during order execution. Try again at the new price.
10006Request RejectedTrade request was rejected by the server.
10007Request CanceledTrade request was canceled by the trader.
10008Order PlacedOrder has been successfully placed.
10009Request CompletedTrade request has been completed successfully.
10010Partial CompletionOnly part of the requested volume was executed.
10011Processing ErrorError occurred while processing the trade request.
10012TimeoutTrade request was canceled due to timeout.
10013Invalid RequestTrade request contains invalid parameters or is improperly formatted.
10014Invalid VolumeThe volume specified in the trade request is invalid or outside allowed limits.
10015Invalid PriceThe price specified in the trade request is invalid.
10016Invalid StopsStop levels (take profit or stop loss) in the request are invalid.
10017Trading DisabledTrading is disabled for this account or symbol.
10018Market ClosedThe market is currently closed for the requested symbol.
10019Insufficient FundsNot enough money in the account to complete the trade request.
10020Price ChangedThe price changed during order execution. Retry with the new price.
10021No QuotesThere are no quotes available to process the request.
10022Invalid ExpirationThe order expiration date in the request is invalid.
10023Order State ChangedThe state of the order has changed since the request was made.
10024Too Many RequestsToo many trade requests have been sent in a short period. Please wait and try again.
10025No ChangesThe request contained no changes to the existing order.
10026Server Disabled AutoTradingAutomated trading has been disabled by the server.
10027Client Disabled AutoTradingAutomated trading has been disabled by the client terminal.
10028Request LockedThe request is currently locked for processing.
10029Order/Position FrozenThe order or position is currently frozen and cannot be modified.
10030Invalid Fill TypeThe order filling type specified is invalid.
10031No ConnectionNo connection to the trade server. Check your internet connection.
10032Only Real AccountsThis operation is only allowed for live trading accounts.
10033Pending Orders LimitThe number of pending orders has reached the maximum allowed limit.
10034Volume LimitThe volume of orders and positions for this symbol has reached the limit.
10035Invalid Order TypeThe order type specified is incorrect or prohibited.
10036Position Already ClosedThe position with the specified identifier has already been closed.
10038Invalid Close VolumeThe close volume exceeds the current position volume.
10039Close Order ExistsA close order already exists for this position. Check existing orders.
10040Position Limit ReachedThe account has reached the maximum number of open positions allowed.
10041Activation RejectedThe pending order activation request was rejected and the order was canceled.
10042Long OnlyOnly long positions are allowed for this symbol.
10043Short OnlyOnly short positions are allowed for this symbol.
10044Close OnlyOnly position closing is allowed for this symbol.
10045FIFO Close ViolationPosition closing is only allowed according to FIFO (First In, First Out) rule.
10046Hedge ProhibitedOpposite 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.).

CodeErrorDescription
6001Outside Trading SessionThe trade was rejected because it was placed outside of allowed trading hours.
6002Spread Too HighThe trade was rejected because the current spread exceeds maximum allowed value.
6003Pyramid Limit ReachedThe strategy group already holds the maximum number of trades allowed at its current pyramid level (Trade Limit Per Level). Only applies when both Level Size and Trade Limit Per Level are set. Scoped to the group, meaning trades sharing this signal's symbol and comment.
6004Maximum Volume ExceededThe trade was rejected because it would exceed the maximum allowed volume.
6005Pending Order Level MissingThe pending order could not be placed because the order level was not specified.
6006Direction Lock ViolationThe 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. Only fires on pyramid-managed strategies, and is scoped to trades sharing this signal's symbol and comment.
6007Invalid SymbolThe symbol does not exist or cannot be traded on this broker. If a close match exists, the rejection suggests it, with a shortcut to add it as a symbol mapping or enable auto-match.
6008DCA Filter ViolationThe 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. Only fires on pyramid-managed strategies, and compares against the last entry sharing this signal's symbol and comment.
6009EA Stopped by Max DrawdownThe trade was rejected because the EA has been stopped after reaching the maximum drawdown limit. Manual resume required.
6010EA Paused by Daily DrawdownThe trade was rejected because the EA is paused after reaching the daily drawdown limit. Will auto-resume at start of new trading day.
6011Maximum Trades Limit ReachedThe trade was rejected because opening it would exceed the maximum total number of allowed open trades.
6012Maximum Trades Per Symbol Limit ReachedThe trade was rejected because opening it would exceed the maximum number of allowed trades for this symbol.
6013SL Required for Volume TypeThe trade was rejected because the selected volume type requires a stop loss value for lot size calculation.
6014EA Paused by Daily Profit TargetThe trade was rejected because the EA is paused after reaching the daily profit target. Will auto-resume at start of new trading day.
6015EA Paused by Monthly Profit TargetThe trade was rejected because the EA is paused after reaching the monthly profit target. Will auto-resume at start of new trading month.
6016Maximum Long Trades Limit ReachedThe trade was rejected because opening it would exceed the maximum allowed number of long (buy) trades.
6017Maximum Short Trades Limit ReachedThe trade was rejected because opening it would exceed the maximum allowed number of short (sell) trades.
6018Broker DisconnectedThe 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.
6019Nothing to ModifyThe modify command found no open position or pending order to change on this symbol and side. When the signal carries a comment, only trades with that comment count.
6020Invalid Modify RequestThe modify command named nothing it can change. Send a stop loss or take profit, or an entry for pending orders. sl=entry, sl=none and tp=none only apply to open positions, and an entry only to pending orders.
6021Copy Below Minimum LotThe copy was smaller than the broker's minimum lot, so it was not opened. Raise the Trade Copier's sizing to copy trades this small.
6022Signal Could Not Be ReadThe signal is missing its symbol or action, or names an action the EA does not know, so nothing was done. Check the alert message against the signal syntax.
6023Blocked by the News FilterThe signal arrived during a news window set in the EA and was not traded. Turn on Queue Signals During News to trade it once the window ends, or widen the filter settings.
6024Partial Close Below Minimum LotThe part of the position this signal asked to close is smaller than the broker's minimum lot, so nothing was closed. Close a larger share, or close the whole position.
6025Signal Value Could Not Be UsedA value in the signal could not be used, so nothing was done. Usually a stop loss, take profit, entry, size or close percentage that is empty, text or out of range, or a symbol with no price yet. Check the alert message against the signal syntax.
6026Risk Below Minimum LotWith this stop loss, the risk you set works out smaller than the broker's minimum lot, so the trade was not opened. Raise the risk, move the stop closer, or use a fixed lot size.
6027No Lot SizeThe EA takes the lot size from the signal, and this signal has none, so nothing was opened. Add a lot size or risk to the alert, or set Volume Source to EA Inputs.

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.

CodeErrorDescription
7001Invalid license codeLicense code is invalid, expired, or not found. Check your license details.
7002Invalid action/commandSignal command (e.g., BUY, SELL) is not recognized or improperly formatted. Verify command syntax.
7003Missing trade volume/riskSignal must include trade volume or risk percentage. This information was not found.
7004Invalid symbol formatTrading symbol is improperly formatted, contains invalid characters, or is not recognized. Check symbol against broker's naming convention.
7005Invalid numeric value for TPTake Profit (TP) must be a valid positive number. Check formatting and ensure it is a logical price.
7006Invalid numeric value for SLStop Loss (SL) must be a valid positive number. Check formatting and ensure it is a logical price.
7007Invalid numeric value for volume/riskTrade volume or risk percentage is not a valid positive number or is outside broker limits. Check value and formatting.
7008Missing required symbolSignal is missing trading symbol (e.g., EURUSD). Specify the financial instrument.
7009Missing required actionSignal is missing action/command (e.g., BUY, SELL). Specify the trading operation.
7010Invalid secret key authenticationSecret key or API token is incorrect, expired, or unrecognized. Verify authentication credentials.
7011Signal parsing failedError interpreting signal data due to incorrect formatting, unexpected characters, or corrupted structure. Review signal syntax.
7012Payload too largeSignal data exceeds the server's maximum allowed size. Reduce information in comments or optional parameters.
7013Empty or malformed payloadReceived signal data is empty, incorrectly formatted, or has structural errors preventing parsing. Check signal content and structure.
7014Invalid parameter formatOne or more parameters (e.g., price, SL/TP) are not in the correct data type or format. Review parameter specifications.
7015Duplicate signal IDA signal with this unique ID has already been processed. Ensure each new signal uses a unique identifier.
7016No client connectedSignal was received but no MT5 terminal was connected and no cTrader or TradeLocker account was switched on for this license. Ensure your EA is running and connected, or that a cTrader or TradeLocker account on this license is switched on, before sending signals.
7017Alert time missingThe alert came through the TradeSgnl browser extension without the time TradingView fired it, so it was not traded. Update the extension.
7018Alert arrived too lateThe alert came through the TradeSgnl browser extension more than 5 seconds after TradingView fired it (for example, the computer was asleep or offline), so it was not traded at an old price. Keep the computer awake with TradingView open, or use a webhook.
7020Exit signal ignoredStrategy 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.
7021EA update requiredThis account runs an EA version that does not understand this command, so the signal was not sent to it. Modify commands need EA 0.68 or newer. Update the EA and send the signal again.
7022No active subscriptionThe signal was not accepted because the subscription on this license is not active and no account was connected to receive it. It is not saved to your signal history. Renew your subscription to send signals again.

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.

Crypto Exchange Error Codes

Raised when a signal is placed on a connected crypto exchange. They appear on the Signals page next to the order, with a sentence saying why.

CodeErrorDescription
7501Short selling not available on spotSpot exchanges cannot open short positions. Use closebuy or closeall to exit a position instead.
7502Stop-entry orders not supportedStop-entry orders are not supported on crypto exchanges yet. Use buy or buylimit instead.
7503Limit exits not supportedLimit exits are not supported on crypto exchanges yet. Set tp_price or tp_percent on the entry, or send closebuy.
7504No short position on spotShort positions do not exist on a spot exchange, so there was nothing to close or cancel.
7505Action not supported on cryptoSupported crypto actions are buy, long, buylimit, closebuy, closelong, closeall, closelongbuy, closelongsell, closeshortbuy, cancellong and cancelall. A sell closes the long, as closelong does. Use pct=, pct_percent= or pct_lots= for partial closes and comment= to close one strategy.
7506No tradable spot pairThe exchange has no spot pair for this symbol that is open for trading. Futures and perpetuals are not traded. A coin on its own (such as SOL), or a symbol quoted in USD, USDT or USDC whose own pair is missing or not open for trading (such as BTCUSD or EURUSD), is traded against USDT, USDC or USD, in that order. Check the symbol in your alert message.
7507Stale signal rejectedThe signal was older than the freshness limit, usually a delayed TradingView retry. It was not traded.
7508Duplicate signal rejectedNo longer used: every signal is now placed. Older signals may still show it, from when a repeat of the same signal within a few seconds was ignored.
7509No open position to closeTradeSgnl holds no open position for this symbol that matches the signal (its comment, if it has one), or the position is on a pair that is not open for trading right now, which the message then names. Coins bought outside TradeSgnl are never touched.
7510Insufficient balance on exchangeNot enough funds on the exchange for this order. Deposit funds or reduce the order size.
7511Order below exchange minimumThe order is below the exchange's minimum size for this pair. Increase the volume or risk value.
7512Exchange API key rejectedThe exchange no longer accepts the stored API key. Remove the connection and add it again with a new key.
7513Exchange unreachableThe exchange could not be reached or did not confirm a request, or the server was restarting. When the message says nothing was traded, later signals are tried normally. When it says a request was not confirmed, it may have gone through: check the account on the exchange before sending it again.
7514Missing trade volume/riskThe signal carried no position size. Add vol_dollar, vol_pctbal, vol_lots or risk.
7515Exit sale failedA take profit or stop loss price was reached, but the sale could not be completed after several tries (the message says why). A stop loss resting on the exchange stays there, and one TradeSgnl watches keeps being tried every minute. Close the position from your dashboard or on the exchange.
7516Buy not savedTradeSgnl placed the buy but could not save it yet. It keeps trying, and manages the position once it is saved. The message says whether a stop loss was placed meanwhile.
7517Close size not understoodpct= and pct_percent= are a share between 0 and 1 (0.5 closes half), and pct_lots= an amount of the coin above 0. Nothing was sold.
7518Sale not recordedThe exchange sold this, but TradeSgnl could not record it. Check the position before you close it again.
7519TradeSgnl could not finishTradeSgnl could not complete this signal because of a fault on its side. Check the account on the exchange before sending it again.
7520Exchange not open yetThis exchange is not open for new trades on TradeSgnl yet, so this entry was not placed. Positions already open on it are still closed, cancelled and protected as usual.
7521Account type not supportedThis exchange account type cannot be traded by TradeSgnl, so the order was not placed. The message says which account type the exchange needs.
7599Exchange rejected the orderThe exchange refused this order or did not fill it. The message says what happened.

cTrader Error Codes

Raised when a signal is placed on a connected cTrader account. They appear on the Signals page next to the order, with a sentence saying why. A message that begins "Position opened" means the trade is open without the level it names: set it in cTrader.

CodeErrorDescription
7601cTrader sign-in expiredcTrader no longer accepts the account's sign-in, for example because access was removed in your cTrader ID settings. Click Reconnect on the account's card and sign in again. You are alerted once; later signals show this code until you reconnect.
7602cTrader account not authorisedcTrader did not let TradeSgnl trade this account, or the account no longer exists or is disabled at the broker. If the card says cTrader no longer accepts the sign-in, reconnect it, or remove it if the account was closed. If the message says TradeSgnl signed the account back in, the next signal trades normally. A limited-risk account, which needs a guaranteed stop loss on every position, cannot be traded by TradeSgnl.
7603Too many requests to cTradercTrader limited how fast requests could be sent, so this one was refused. Later signals are tried normally.
7604cTrader unreachableThe connection to cTrader was unavailable or cTrader did not confirm a request, or the server was restarting. When the message says nothing was traded, later signals are tried normally. When it says a request was not confirmed, it may have gone through: check the account in cTrader before sending it again.
7605Action not supported on cTraderThe signal's action cannot be carried out on a cTrader account. See what your signals can do.
7606Symbol not offered by the brokerThe broker behind this account has no symbol by that name. The message suggests close names when there are any. Use the broker's name, map the alert's name under Symbol mapping in the account card's Settings, or add a license symbol mapping.
7607Stale signal rejectedThe alert included timenow={{timenow}} and arrived more than two minutes after it fired, so it was dropped as outdated. No alert is sent.
7608Duplicate signal rejectedNo longer used: every signal is now placed. Older signals may still show it, from when a repeat of the same trade within a few seconds was ignored.
7609No matching position or orderA close or modify arrived, but no position or pending order placed by TradeSgnl matched it, or cTrader could not cancel an order that had just filled or been cancelled. Trades you opened yourself in cTrader are never touched.
7610Margin or position limit reachedThe account does not have enough free margin for this trade, has reached its exposure limit for the symbol, or has reached its limit of open positions and orders. Reduce the size or add funds.
7611Trade size rejectedThe size is missing, below the symbol's minimum (or a partial close would be), or refused by the broker. vol_dollar= without a stop loss cannot be sized. TradeSgnl never rounds an entry up.
7612Stop loss or take profit rejectedThe broker refused the stop loss or take profit, often because it was too close to the price. If the trade opened, it is open without that level: set it in cTrader.
7613Trading not allowedTrading is not possible on this account or symbol right now, for example because the market is closed (a weekend or holiday), the symbol is close-only, or short selling is not allowed on it.
7614No price from the brokerThe broker had no price for this symbol when the signal arrived, so the order was not sized or placed.
7615Missing or unusable parameterThe action was fine, but one of its parameters was missing or unusable. The message says which one when it can.
7699cTrader rejected the ordercTrader refused the order for a reason not covered above. The message gives cTrader's reason code; contact support if it keeps happening.

About 7615. 7605 means the action itself cannot run; 7615 means the action is fine and one parameter needs fixing. The common causes:

  • A pending order without the price to place it at, or with its entry set as a distance from the price (entry_pips=, entry_points=, entry_percent=, pending=).
  • A value that is not a number, a price the broker rejected as invalid, a stop too small for the symbol to express, or a pip distance on a symbol quoted with no decimals.
  • A pct= above 1, such as pct=50: pct= is a share between 0 and 1.
  • A flag cTrader does not run: re (recovery) or py (pyramiding) on an order that opens a position, or ticket= on anything but a plain entry.
  • exop or exent on anything but a market entry.
  • A sizing field cTrader does not support: vol_pcteq=, vol_pctbal_loss=, vol_pcteq_loss=, or volume= on its own.
  • vol_dollar= with a stop set as a price or a percentage (sl_price=, sl_percent=).
  • A stop, target, trailing or breakeven field with an unknown ending, such as sl_pip=.

TradeLocker Error Codes

Raised when a signal is placed on a connected TradeLocker account. They appear on the Signals page next to the order, with a sentence saying why. A message that begins "Position opened" means the trade is open without the level it names: set it in TradeLocker.

CodeErrorDescription
7701TradeLocker sign-in refusedTradeLocker no longer accepts the account's sign-in, usually because the password was changed, or the login no longer lists this account. Click Reconnect on the account's card and sign in with your current TradeLocker password. You are alerted once; later signals show this code until you reconnect.
7702Account refused the tradeThe broker or prop firm refused the trade under its own rules, and the message quotes its reason. Also shown when the account does not allow closing part of a trade, or when TradeLocker cancelled an order before it filled.
7703Too many requests to TradeLockerTradeLocker asked TradeSgnl to slow down, so this one was not carried out. The next signal is sent normally.
7704TradeLocker unreachableTradeLocker could not be reached, was too busy, or did not answer, or the server was restarting. When the message says nothing was traded, later signals are tried normally. When it says the outcome is unknown, it may have gone through: check the account in TradeLocker before sending it again.
7705Action not supported on TradeLockerThe signal's action cannot be carried out on a TradeLocker account. See what your signals can do.
7706Symbol not offered by the brokerThe broker behind this account has no symbol by that name. The message suggests close names when there are any. Use the broker's name, map the alert's name under Symbol mapping in the account card's Settings, or add a license symbol mapping.
7707Stale signal rejectedThe alert included timenow={{timenow}} and arrived more than two minutes after it fired, so it was dropped as outdated. No alert is sent.
7709No matching position or orderA close or modify arrived, but no position or pending order placed by TradeSgnl matched it, or TradeLocker no longer had it. Trades you opened yourself in TradeLocker are never touched.
7710Not enough fundsThe account does not have enough funds or free margin for this trade. Reduce the size or add funds.
7711Trade size rejectedThe size is missing, below the symbol's minimum (or a partial close would be), not a whole number of the symbol's lot steps, or refused by the broker. vol_dollar= without a stop loss in pips cannot be sized. TradeSgnl never rounds an entry up.
7712Stop loss or take profit rejectedThe stop loss or take profit was refused, often because it was too close to the price or on the wrong side of it. If the trade opened, it is open without that level: set it in TradeLocker.
7713Trading not allowedTrading is not possible on this symbol right now, for example because the market is closed (a weekend or holiday) or the symbol is disabled. When the market is closed, TradeLocker's reason reads like "SL orders are forbidden by trade session status".
7714No price from the brokerTradeLocker had no price for this symbol when the signal arrived, so a stop or target measured from the price, or a vol_dollar= size, could not be worked out. No order was sent.
7715Parameter not supportedThe action was fine, but one of its parameters was missing or unusable. The message says which one when it can. The common causes are the same as for 7615 above.
7716Not confirmed yetTradeLocker took the order or close but did not confirm it in time, so it shows as pending. TradeSgnl checks it again within five minutes and updates it. Don't send it again in the meantime.
7799TradeLocker rejected the orderTradeLocker gave an answer TradeSgnl could not read, or a trade opened but TradeSgnl could not start managing it (the message says which take profit levels, trailing stop or breakeven are not active, so manage it in TradeLocker). Contact support if it keeps happening.

Troubleshooting Common Errors

The most frequent errors and how to resolve them.

ErrorProblemSolution
10019 Insufficient FundsAccount does not have enough free margin to open the position.Check account balance and margin requirements. Reduce risk per trade if needed.
10017 Trading DisabledAutomated trading is blocked at the terminal or broker level.Enable automated trading in MT5. Confirm your broker allows EA execution.
10031 No ConnectionEA cannot reach the broker server.Check internet connection, confirm terminal is logged in, restart MT5 if needed.
10018 Market ClosedThe symbol is outside its trading hours.Check your broker's trading hours for that instrument.
6002 Spread Too HighCurrent spread exceeds the EA's configured max-spread.Wait for tighter market conditions, or adjust the spread filter in EA settings.
6007 Invalid SymbolThe signal's symbol does not match any tradeable symbol on your broker.Open the rejection in Signal Logs: the EA suggests the closest symbol your broker lists (e.g. EURUSD.m, EURUSD.micro) with a one-click shortcut to add it as a symbol mapping, or enable auto-match to let the EA pick the one clear match itself.

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.

On this page