A lightweight synthetic testing engine for MQL5 using dependency injection, mocking, and event-driven architecture. Part 1 of the Institutional Architecture series.
  • MQL5 96.2%
  • PowerShell 3.8%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Alex David Hernandez Maturrano 007519d775 Updated mocked data
2026-07-23 16:27:34 -03:00
Documentation/decisions Implement modular synthetic test harness with interface-based dependency injection for MQL5 strategies 2026-07-18 22:42:31 -03:00
MQL5 Updated mocked data 2026-07-23 16:27:34 -03:00
.gitignore Added Canvasfor better visualization of mocked data 2026-07-23 15:10:24 -03:00
Install-Symlinks.ps1 Updated Readme 2026-07-18 23:14:16 -03:00
LICENSE Initial commit 2026-07-18 01:13:47 +00:00
README.md Fix spacing 2026-07-21 21:52:12 -03:00

MQL5-SyntheticTestHarness

A lightweight synthetic testing engine for MQL5 using dependency injection, mocking, and event-driven architecture. Proof of concept. Part 1 of the Institutional Architecture series.

Installation

We provide a PowerShell script to easily link this project to your MetaTrader 5 Data Folder so you can edit files here and have them instantly reflected in MT5.

Open PowerShell (as Administrator if Developer Mode is not enabled) and run:

.\Install-Symlinks.ps1 -Mt5DataFolder "C:\Path\To\Your\MT5\Data\Folder"

(You can find your Data Folder by opening MT5 and clicking File -> Open Data Folder)

Running the Tests (Example script)

After linking, open MetaEditor, navigate to Scripts -> SyntheticTestHarness and compile TestSpreadSpike.mq5.

Then, in MetaTrader 5, drag the TestSpreadSpike script onto any chart to see the test runner execute the synthetic scenarios in real-time.