Version 1.15 2026.02.06
Version 1.15 (Martingale Multiplicator Fix & Broker-Step Lot Normalization)

In the previous version, martingale lots were calculated using a fixed NormalizeDouble(..., 2) rounding.
On brokers with MINLOT = 0.01 and LOTSTEP = 0.01, this could cause small multiplicators (e.g., 1.10–1.49) to be rounded back to the same value (0.01), making it look like the multiplicator “does not work” except at larger values (e.g., 1.50).

What has been changed / fixed:

Martingale lot calculation is now broker-step aware:

Lots are normalized using the real symbol settings (MINLOT / MAXLOT / LOTSTEP) via a new NormalizeLot() helper.

Added an additional safeguard EnsureLotIncrease():

If Multiplicator > 1 but rounding keeps the lot unchanged, the EA forces at least +1 LOTSTEP increase.
This guarantees visible martingale growth even on 0.01 accounts.

What has been added:

New input parameter: UseGlobalMultiplicatorInTester

If true (default), Strategy Tester uses the global Multiplicator input.

If false, Strategy Tester keeps per-symbol / per-set multiplicators (same behavior as in live trading).

New input parameter: LogMartinCalc

Optional debug log showing: previous lot, multiplicator, normalized new lot, and broker LOTSTEP (default false).

Testing notes:

To verify the fix, test on a broker/account with MINLOT 0.01 and try multiplicators like 1.10, 1.20, 1.30.

Enable LogMartinCalc to see the exact lot rounding and applied LOTSTEP in the Experts log.

For multi-symbol/per-set testing, set UseGlobalMultiplicatorInTester = false.
Version 1.14 2026.01.04
Graphics