Changes Applied
1. ERMT_PME_2.1_M5.mq5 - InitializeM5BarCountingMode()
config.breakeven_enabled = InpBreakevenEnabled (was: true hardcoded)
config.partial_enabled = InpPartialEnabled (was: true hardcoded)
config.trailing_method = InpTrailingMethod (was: TRAIL_DYNAMIC hardcoded)
config.trail_distance = InpTrailDistance (was: 40 hardcoded)
config.trail_step = InpTrailStep (was: 15 hardcoded)
config.adaptive_trailing = InpAdaptiveTrailing (was: true hardcoded)
2. ERMT_PME_2.1_M5.mq5 - ConfigureContrarianMode()
Same pattern: All hardcoded booleans replaced with input-driven values
Preset now demonstrates best practices without overriding user choices
3. PositionManager_PME_Complete.mqh - Phase 1 Breakeven
Added m_config.breakeven_enabled && check before executing BE
Combined with existing delay logic: if(m_config.breakeven_enabled && be_allowed && ...)
4. PositionManager_PME_Complete.mqh - Phase 2 Maturity
Phase 2 BE: Added m_config.breakeven_enabled && check
Wrapped all partial closes in if(m_config.partial_enabled) { ... } block
Prevents unconditional execution when features disabled
Preserved M5-Specific Features
✓ Graduated stop-loss system (3.5→2.5→2.0 ATR)
✓ Delayed BE triggers (InpMinBarsBeforeBE, InpMinProfitBarsForBE)
✓ Delayed trailing (InpMinBarsBeforeTrail, InpTrailMinProfit)
✓ M5 partial thresholds (InpM5Partial1-4)
✓ Phase timings (60/180/300 bars)
Testing Recommendations
Verify Disabled Features:
Verify Enabled + Delayed Features:
Expected Backtest Report Alignment:
Now tester reports will show enabled/disabled flags matching actual runtime behavior.
17 KiB
1640x400px
17 KiB
1640x400px