MT5 can be connected to its server while the target pair's quotation is too old for your EA's decision. A closed session, an unexpected symbol or the program itself can also explain its silence. Separate these causes before restarting the terminal or resending an order. This procedure produces a diagnostic record for one actual symbol and identifies the missing evidence. It applies to MT5 and MQL5 programs, rather than every trading platform.

What does the connection indicator actually confirm?

In MQL5, TERMINAL_CONNECTED describes the terminal's connection to a trade server. Connection, quote age and trading permission are separate facts. A working communication channel does not establish that your instrument just received a price update. Other instruments may be updating while the target symbol remains unchanged in your observations.

Check the full instrument name, server, account type and terminal running the program. A provider may offer similar names with different suffixes. Record the name used by the EA instead of copying a label from your phone. When using a VPS, inspect the actual remote instance too: the local display does not prove the remote program's state. The VPS monitoring guide develops that distinction. Avoid resetting an instance before preserving the relevant logs and determining which copy controls your account.

Why can three clocks tell different stories?

The TimeCurrent documentation distinguishes the handled tick's time inside OnTick from the latest Market Watch quote time in handlers such as OnTimer. In the latter case, another selected symbol can refresh the reading. That general clock therefore cannot answer a symbol-specific freshness question.

Each reading answers a different question
ReadingWhat it describesWhat it does not prove
TimeCurrent in OnTimerThe latest Market Watch quotation time.Freshness of the target pair.
TimeTradeServerServer time calculated by the terminal.Arrival of a new quotation.
SymbolInfoTick for the targetThe selected instrument's data and last update time.Order acceptance or execution.

TimeTradeServer is calculated in the terminal and depends on the computer's time settings. Obtain SymbolInfoTick for the exact symbol, verify success and record time_msc, Bid and Ask. Do not subtract a raw computer clock from a server timestamp without aligning their time basis. Negative age, missing time or a failed read indicate uncertainty, rather than a fresh quote.

How can a recent clock hide an older quotation?

Authored diagnostic model. All times below use one illustrative server-time axis. These are invented example records, not broker observations. The check occurs at 12:00:00, with TimeCurrent read in OnTimer. The model does not establish an acceptable quote-age limit for a market.

Connection is live, but the target pair has older data

Connection is live, but the target pair has older dataModel at 12:00:00: EUR/USD was updated at 11:59:59, GBP/JPY at 11:59:35. A recent general clock does not prove that GBP/JPY is fresh.Shared server-time axis 11:59:3511:59:59 Last GBP/JPY tick25 seconds without an update Last EUR/USD tick1 second since the update Check: 12:00:00Two symbols need two separate checks
Model at 12:00:00: EUR/USD was updated at 11:59:59, GBP/JPY at 11:59:35. A recent general clock does not prove that GBP/JPY is fresh.

EUR/USD updates at 11:59:59, while GBP/JPY last updated at 11:59:35. The general reading is just one second behind the model clock, but the target pair's data are 25 seconds behind it. An EA checking only TimeCurrent could overlook the distinction. This does not establish a broker outage: session status, symbol availability and the program's conditions still need checking.

Repeat the observation after an interval measured with an elapsed-time counter. If time_msc is unchanged, you have evidence that no newer update appeared in those reads. You have not measured the transport delay of an individual tick from its source to your computer. A server timestamp and a client estimate do not provide that precision by themselves. Keep observed facts separate from the fault you suspect.

How do you distinguish a quiet market from a program issue?

Compare the instrument's quotation schedule with its trading schedule, including the provider's server-time convention, breaks and holiday notices. Outside a session, an older displayed price may be expected. Do not assume that a major currency pair's hours apply to an index or metal from the same list. During an open session, a repeated absence of updates warrants investigation, but no single number of seconds suits every instrument and strategy.

OnTick concerns the symbol of the chart hosting the EA. A new NewTick event is not queued if one is already queued or being processed. Consequently, the number of OnTick log entries need not equal the number of ticks. For a multi-symbol EA, distinguish its hosting chart from the instruments actually used in its decisions.

“The EA operation is not stopped.” — MetaQuotes, MQL5 Reference, OnTick, excerpt about disabled AutoTrading; accessed 13 October 2026.

Disabling AutoTrading prevents the EA from sending trade requests; it does not stop calculations. Record program activity, data updates, strategy conditions and trade replies separately. The OnTick reference explains this difference. A diagnostic check does not require a trial trade, and a heartbeat in a log does not establish that the strategy has met its entry conditions.

In the log, distinguish “no signal”, “no data” and “trading not permitted”. These outcomes call for different actions. Saying only that the robot is silent cannot establish whether it skipped calculation or deliberately rejected an entry.

What should you preserve before resuming order requests?

Prepare one diagnostic record: observation time and time basis; server and exact symbol; connection state; data-read result; tick time, Bid and Ask; session status; program state; latest trade reply. For example: “12:00:00, server-time axis; GBP/JPY; read successful; tick 11:59:35; session unconfirmed; new entries paused.” Do not include a password or complete account identifier in a support request.

If sending produced an error or an uncertain reply, reconcile positions, pending orders and history before retrying. Fresh quotes returning do not tell you what happened to the earlier request. The MT4 and MT5 order-error guide explains reply handling. Existing exposure still needs attention during diagnosis: turning off an EA does not confirm the protection currently accepted for its positions.

What to do tomorrow

  1. Record the actual symbol and schedule. Open its specification on the relevant account and write down the server, quotation hours and trading hours. Compare these with the incident time. This establishes whether expecting an update at that moment was reasonable.
  2. Take two observations without trading. On demo, record the target tick timestamp, prices, connection state and program status. Repeat after a known interval. Mark missing information explicitly instead of treating a failed data read as zero quote age or a valid price.
  3. Reconcile state before resuming requests. Inspect positions, orders and history, then confirm the data freshness required by your own strategy. If the cause remains unclear, send anonymised records to the developer or provider. This diagnostic procedure is not a recommendation to open a position.