I am investigating a Strategy Tester case where GBPAUD stops receiving current quote updates after other symbols have been initialized. A diagnostic EA that sends no orders reproduces it. I would appreciate advice on the initialization and synchronization sequence; I have not established whether this is a platform defect, a history-data condition, or an issue in my code.
Environment
- MT5 and MetaTester build 6230; Windows 11 build 26200; local testing agent.
- Tradeview-Demo, primary symbol GBPAUD, M15, JPY deposit currency, initial deposit 200000, leverage 1:500.
- Every tick based on real ticks, Model=4; 2024.11.21 through 2024.11.26; non-visual, no optimization.
- Referenced symbols: GBPAUD, USDCAD, USDJPY, CADJPY, GBPJPY and AUDJPY.
Observation
At simulated TimeCurrent 2024.11.22 20:01:00, SymbolInfoTick("GBPAUD") still succeeds with error 0, but returns time_msc=1732300679923, corresponding to 18:37:59.923. Bid is 1.92859 and Ask is 1.92877. The OnTick count remains 224381 while the 100 ms timer continues to run.
The diagnostic deliberately calls ExpertRemove at 20:01 when it cannot obtain a current quote for the 20:00 target within its 60-second gate. This is an EA-initiated termination, not a terminal crash. The question is why quote delivery stops beforehand.
Ticks obtained outside the tester include GBPAUD records at 18:38:00.175 and 20:00:00.019. The interval from 18:37:58 to 20:00:00.019 contains 8047 stored records; the failing diagnostic records only the first six via OnTick. We compare all stored fields, not just record counts.
Controls already checked
We compared a six-symbol closed-M1 preparation control against the same preparation followed by CopyTicksRange for the preceding day in OnInit. The latter returned 618323 records across all six symbols, each with error 0, positive counts, valid bounds and nondecreasing timestamps. OnTick and OnTimer counts were both zero at preparation completion. Both cases later stopped updating GBPAUD at the same time. The logging helper itself does call SymbolInfoTick for the primary symbol during preparation; the source is attached without simplifying this sequence.
The successful preload used genuine tester history retained after earlier diagnostic runs starting on 2024.11.20. This is not a claim of successful preload from a fresh empty tester cache. The attachment describes the preparation runs and distinguishes an initialization failure from a valid quote-delivery test.
A separate GBPAUD-only replay using history from the same stored source processed all 1342 requested events, including the 20:00 transaction at 1.92717. In other no-order diagnostics, changing the first AUDJPY access time allowed all 8047 records in the target window to be delivered with byte-for-byte field agreement. Delaying a required currency to a specific known date is not an acceptable general fix for our application.
Questions
1. Is there a known condition in multi-symbol real-tick testing that can stop current quotes and OnTick delivery for the primary symbol in this way?
2. Is there a problem with the attached symbol-selection, series-access or calculation-API sequence? Is another synchronization step needed despite successful historical tick retrieval?
3. The MQL5 testing reference (https://www.mql5.com/en/docs/runtime/testing#real_ticks) describes cases where ticks without corresponding M1 bars can be used, and distinguishes the tester cache from its tick database. The MT5 help page (https://www.metatrader5.com/en/terminal/help/algotrading/tick_generation) says ticks without a corresponding minute bar are ignored. Which conditions should we check for these FX symbols?
4. What additional evidence would help distinguish provider-history issues from tester behavior?
The attachment contains the executed no-order diagnostic sources, settings, reproduction notes and sanitized logs. It does not require the original trading EA or its proprietary parameters. Historical prices are not substituted for current quotes, and no future prices or synthetic history are injected.
Thank you.
Files:
MT5_quote_delivery_inquiry_20260930.zip
37 kb
- Generating ticks in tester
- Multicurrency testing
- Overview of Copy functions for obtaining arrays of quotes
Issue reproduced and under investigation by MetaQuotes.
You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register