Orders & execution

Off Quotes in MT4: Meaning, Causes and Next Checks

Start with the exact message and the order’s current status. Then check the relevant prices, instrument and log entries instead of changing settings at random.

Author · Editor

Reviewed

Magnifying glass over blue quotation tiles, with an amber pause symbol and an open notebook.

The essentials

  1. Off Quotes is MT4 error 136. The message identifies an error category, not a single proven cause.

  2. If a request’s outcome is unclear, verify current orders and account history before sending it again.

  3. Use the checklist to organize observations and download a support note. It does not connect to your account or inspect the broker’s server.

What does Off Quotes mean in MT4?

Off Quotes is the message associated with error 136, ERR_OFF_QUOTES, in the MQL4 error list. It is a quote-related trading error. The visible message alone does not identify why that particular request failed or establish the current state of your account.

Missing or unusable prices are one possibility, but the instrument and preceding responses also matter. For example, Exness’s own troubleshooting page discusses unavailable prices, instruments withdrawn from trading and earlier rejection messages. Those are provider-specific checks, not a universal explanation of every MT4 incident.

If a timeout or disconnection left you unsure whether an instruction reached the server, first check the order’s status. A second click can create another request. Follow the uncertain-outcome checklist before considering a repeat.

Which message did you actually receive?

Copy the message and code exactly, including the line immediately before it. These MT4 codes describe different categories; a search for “Off Quotes fix” should not replace that first distinction.

MT4 message / code

First distinction to make

Off Quotes — 136

Check quote availability, the exact instrument and the surrounding rejection messages.

Requote — 138

A different price-response category; review the requested and available price and the execution conditions.

No Connection — 6

Check the terminal’s connection to the assigned trading server.

Invalid Stops — 130

Check the relevant order or protective levels and the instrument’s restrictions.

Trade Disabled — 133

Check trading permissions and availability for that account and instrument.

Trade Timeout — 128

Establish the request’s outcome before any repeat.

Market Closed — 132

Check the exact instrument’s trading session, including breaks and holidays.

Not Enough Money — 134

Review the request’s margin requirement and available funds; this is a separate category.

Scroll sideways to compare all columns ↔

Do not apply these numbers to MT5. Its trade-server return codes use a different system: for example, 10021 means no quotes are available to process the request. Similar wording does not make the two code lists interchangeable.

Find the next check for your situation

Choose what you actually observed. “Unknown” is useful: it keeps an assumption from becoming a diagnosis. The helper prioritizes the next checks and prepares a local TXT note; it cannot test a connection, verify an order or determine the broker’s internal reason.

  • Identify the request: manual or automated, opening or closing, modifying, placing or deleting a pending order.
  • Check the account state first if the outcome is unclear. A confirmed instruction and an old error line can both exist.
  • Observe the connection and whether the affected symbol’s prices update. Compare other symbols as an observation, without submitting test trades.
  • Verify the exact symbol, including any suffix, its availability for the account and the broker’s session information. Read earlier log responses.

Illustrative case: an invented log contains Trade Disabled / 133 followed by Off Quotes / 136. Other symbols continue updating. The useful next step is to preserve both lines and check that instrument’s permissions with the broker. The second message does not erase the earlier clue, and moving prices do not prove that trading is enabled. This sequence illustrates a method, not a diagnosis of a real broker.

Try it yourself

MT4 · next-check guide

Find the next useful check

Choose what you observed. The result updates immediately; it helps organize checks, not diagnose a broker’s server or authorize another order.

Your entries are kept only in this tab; downloading creates a TXT copy. Do not enter passwords, API keys, account numbers or a full account history. Redact identifiers in log excerpts before sharing.

1. Identify the request

For “result confirmed”, verify the requested action itself: an existing position alone does not prove that a close or modification succeeded.

Use the actual message. A different code has a different troubleshooting path.
Opening, closing and changing an order have different consequences.
After a timeout or interrupted connection, inspect orders and history before sending anything again.
This guide interprets MT4 categories, not MT5 return codes.
AutoTrading settings do not enable manual order entry.
2. Record what you observed

Use “Unknown” when you cannot verify a detail. A symptom is evidence to check, not a confirmed cause.

Record what the terminal showed at the incident, not only whether a website opened.
A moving chart does not guarantee that this request can be executed.
Check comparable symbols only when their sessions are open.
Use this broker’s schedule and the exact symbol specification.
An earlier rejection may contain more useful detail than the latest message.
3. Add a short support note

Optional facts only. Keep the symbol suffix and time as displayed; name the time zone, or write “Unknown”.

Example: EURUSD.demo is a fictitious symbol used below.
Do not silently convert between terminal, server and local time.
Record the observed zone or offset. If unavailable, say “Unknown”.
Optional descriptive label; no login or account number.
Copy only the relevant message; remove private identifiers.
Keep a short redacted excerpt around the incident, including times.
For automation, record the failed function, return value and promptly captured error. Do not paste access credentials.
Describe observations; do not guess at a server-side cause.

Static downloads work without JavaScript. Your customized TXT contains the current facts and checking steps; it is not an executable script.

MT4 codes only. A moving quote or a completed checklist does not prove that execution is available. This tool never connects to a broker, sends an order or transmits your note.

Where should you look for the rejection reason?

On desktop MT4, the Terminal’s Journal tab records terminal and trader events. Find the relevant time and include the surrounding messages. Its context menu can copy a line or open the log folder; saved logs can contain earlier entries no longer visible in the tab. Preserve the useful lines before restarting or changing settings.

For an Expert Advisor (EA), also inspect the Experts tab. Keep the failed operation, symbol and the EA’s accompanying message together. A developer should capture the error immediately after the failed trading call, rather than report a code obtained later without that context. The OrderSend documentation explains its failure return and the use of GetLastError().

A broker may provide additional information elsewhere. OANDA Corporation’s US help page, for example, directs its users to Terminal → Mailbox for Off Quotes rejection details. Do not assume that every broker uses that route. On mobile, record the app and operating system and use that version’s help; desktop Journal, Experts and Mailbox instructions are not a universal mobile menu path.

Keep the timestamp as displayed and identify its time zone only if you know it. If not, write “time zone unknown” and name the screen or log it came from. Do not silently label it UTC or convert it from your computer’s clock.

Why may changing deviation fail?

Deviation is a price-tolerance setting, not a repair for missing connectivity or trading permissions. In the MQL4 OrderSend rules, a fully outdated requested opening price produces a requote regardless of the slippage parameter. When an older price remains in the price stream, the documented tolerance condition is different. This is not a promise that increasing a setting will resolve error 136.

Check the actual execution mode, operation and parameter units before changing anything. The MQL4 trading guide specifies points for market-order slippage; that parameter is not processed when placing a pending order. Points and forex pips are not automatically the same unit. A larger permitted deviation can accept a less favorable price where the setting applies. There is no universal number suitable for every symbol, account and request.

The AutoTrading setting controls trading by EAs and scripts. Turning it on is not a general remedy for a failed manual order. Likewise, restarting the platform, refreshing local prices or repeatedly sending the same request does not establish why the server rejected it. Preserve the evidence and check the applicable condition first.

What if the request’s outcome is unclear?

An explicit rejection tied to a particular request is different from not knowing what happened after a timeout or interrupted connection. Stop repeated submissions while resolving that uncertainty. An error in the log is evidence about an event, not a live account-status display.

  • Once you can obtain current account information, inspect the Trade tab for open positions and pending orders. Check the exact account, symbol and relevant order.
  • Inspect Account History, with a date range that includes the incident. An order may already have closed or a pending order may have been deleted.
  • For a close, modification or cancellation, verify the resulting state or levels. Looking only for a newly opened trade is insufficient.
  • If the information is unavailable or still ambiguous, use the broker’s verified support or dealing channel to establish the outcome before resubmitting.

Illustrative case: after pressing Close, the connection drops and a timeout appears. Do not infer that the position is still open from the old screen, or that it closed because the button was pressed. Reconcile current Trade and History information first. If an open position requires urgent attention, contact the broker through its established channel rather than wait for this checklist to resolve the account state.

What should you send to broker support?

A useful report lets support locate one incident without guessing. The helper records the circumstances you selected and creates a TXT file in your browser. It does not send the file, access your terminal or automatically save your input. Read the note before sharing it through the broker’s verified channel.

  • Exact message and code, instrument with suffix, and the requested action.
  • Incident date and time as displayed, its known time zone or an explicit unknown, and the source of that timestamp.
  • Desktop or mobile, manual request or EA/script, and a non-sensitive broker/server label if useful.
  • Connection and quote observations, session information and the relevant earlier rejection lines.
  • What current orders and history actually show, what remains unknown and which checks have already been completed.

Use a short, relevant log excerpt. Remove passwords, access tokens and unrelated personal or account information. Do not paste a complete account history. Describe observations separately from your hypothesis; “prices updated but the request was rejected” is more useful than an unsupported claim about the server’s cause.

Off Quotes: common questions

Does Off Quotes always mean my internet is down?

No. Connection status is one check, while MT4 also has the separate No Connection code 6. Review the exact symbol, current information and preceding messages instead of assigning one cause from error 136 alone.

Is Off Quotes the same as a requote or slippage?

No. Requote has code 138. Slippage describes a difference between a reference price and an execution price; an Off Quotes message by itself does not show that a trade was filled at a different price.

Why can prices move while my request is rejected?

A changing display shows quote activity, not confirmation that your specific instruction is acceptable or executable. Check the affected symbol and its permissions, session and surrounding responses. Another symbol’s movement does not settle those questions.

What if an earlier message says there is not enough money?

Preserve that message and review the separate margin condition. The margin-level guide explains the terminology. Neither wider deviation nor a larger leverage setting is a universal troubleshooting step.

Is a pending order that has not triggered an Off Quotes error?

Not by itself. An accepted pending order can remain waiting for its triggering condition. Check its current status and distinguish placement from activation; the stop-versus-limit guide explains those order types.

Does this error prove that the broker manipulated my trade?

No. The message alone cannot establish that conclusion. Keep the timestamp, request details and relevant logs, ask for the specific rejection reason and compare the response with the account’s terms and the observed order history.

Sources & further reading

  1. MetaQuotes — MQL4 OrderSendChecked
Orders & execution
Slippage explainedUnderstand the difference between an execution-price change and a rejected request.Margin levelCheck margin terminology when the recorded rejection points to available funds.Buy Stop vs Buy LimitDistinguish a pending order’s placement from its later activation.
All guides