MT5 build6182 - fixed-object paired callbacks (v2)

Purpose: test a chart-query failure without a busy-poll barrier.
This is a synthetic diagnostic, not production or proprietary indicator code.
Three source files and Concurrent.tpl are byte-identical to the recorded run.
Logs are raw file bytes; only filenames are changed to capture_E/I.tsv.
There is NO timestamp normalization or added header in these two TSV files.
Columns: round,begin_GetTickCount64_ms,end_GetTickCount64_ms,value,error,
         IsStopped_before,IsStopped_after (tab separated).

Recorded outcome: M15,956 calls each. EA last call succeeds. Indicator last
call returns0/error4102 after3141ms. IsStopped before/after is0 for both.
Terminal connection was reportedtrue before test and at result.
Reproduction remains intermittent; this is not a deterministic failure claim.
No CPU stress workers were deliberately started in this recorded run.

Install in a disposable demo/private MT5 build6182 instance:
1. Create MQL5/Experts/PairedEvents46 and put the4 source/template files there.
2. Compile ReadRaceEA.mq5,ReadRaceIndicator.mq5,ReadRaceController.mq5.
   Recorded compilation: all0errors0warnings.
3. Keep live trading and DLL imports disabled. Use a connected demo terminal
   with room for one temporary chart. Attach ReadRaceController to a chart
   whose symbol can serve as the CustomSymbolCreate clone.
4. The controller waits up to60sec for TERMINAL_CONNECTED, then opens a
   synthetic symbol/chart for each M15/H1/H4/D1 case. It stops on first error.
5. Output is PE46_*.tsv and PE46Suite_*.tsv in MQL5/Files.
   On failure it preserves the test chart for inspection. After preserving
   logs, remove only the test-owned chart/expert and its synthetic symbol.

Scheduling: one EventChartCustom event asks both readers for one fixed
ObjectGetInteger(0,"RR_FIXED",OBJPROP_TYPE). Each callback returns.
READY/DONE acknowledge completion. Only the second finisher, selected by
GlobalVariableSetOnCondition, queues the next event. There is no waiting loop.
The1ms timers bootstrap/supervise completion; they do not do measured reads.
The200ms controller timer supervises lifecycle only. Each case has a30000ms
deadline and20000-round limit; controller watchdog120000ms.
Objects are created once and not changed during the measured reads.
Rows accumulate in memory and are written/flushed/closed at completion.

Earlier event experiment45 also recorded an indicator4102, but EA completion
logging stalled after the peer failed. Version46 adds EA timer supervision
for that completion case. No API waiting bound was increased.

These observations show busy-polling is not necessary for the observed
synthetic failure. They do not identify the internal root cause or establish
the cause of the separate historical415-object discrepancy.
No account details, absolute local paths, proprietary indicators, debugger,
memory patching or order submission code are included.
