# Performance and stability report

Result: **PASS** on AMD Ryzen 9 7900, MetaTrader 5 build 6163.

## Concurrent runtime

- 20 Regime Persistence handles across EURUSD, GBPUSD, USDJPY, AUDUSD, and EURJPY on M15/H1/H4/D1.
- Five Currency Network handles with broker-connected history.
- 4,000 non-empty regime reads, 1,000 non-empty currency reads, zero copy failures.
- The measured per-handle access median was below the one-microsecond timer resolution and therefore reported as `0.000 µs`, below the locked 5,000/15,000 µs limits.
- Combined handle initialization after history warm-up: 1,481.995 ms.

## Deep history and simulated day

- 124,096 M5 bars available; Regime requested and calculated its 100,000-bar maximum.
- Deep handle plus first buffer read: 4,616.455 ms.
- 5,617 simulated ticks and 1,439 timer events over 24 trade-server hours.
- 200 incremental samples; median below one microsecond timer resolution.
- MQL memory start/warm/peak/end: 1/1/1/1 MB.
- Positions and orders remained 0/0 before and after.

## Lifecycle

Strategy Tester does not execute custom-indicator deinitialization through `IndicatorRelease`, so its temporary object count is not used as a leak gate. A separate ordinary live-chart context created 74 suite objects and returned to zero after releasing all four handles.
