Files
mql-trading-bots/2026-04-23 OrdersEA Smart Grid - Preset Mismatch Audit.md
garfield 0894d18db4 WIP: 6+ weeks of uncommitted EA development and preset tuning
Confluence EA (v1.16 → v1.20):
- Per-EA realized P&L tracking via history deals
- Weekly drawdown protection
- Warmup bars, pivot cache, state persistence
- Point-scaled pivot thresholds, ranging ATR factor
- Market filling mode helper per symbol

Grid EA (v3.1 → v4.1):
- Adaptive filters, adaptive entry, spread filter
- Session filter, breakeven, correlation caps, range drift
- Profit protection (stop-after-profit, cycle reports)
- Edge cleanup v5.0 — close wrong-side positions outside grid
- Master one-shot shutdown, grid state persistence

Presets:
- Fix GetOut=Y shutdown bug on 4 grid presets
- Relax ADXMax 18→40, widen RSI 20/80 across grid presets
- Standardize daily drawdown 3%→5%, add weekly 10%
- Increase grid lots 0.01→0.03
- Normalize confluence ATR thresholds per pair
- Add XAGUSD, EURCHF, EURGBP, AUDNZD presets

Docs & DevOps:
- April 23 audit files (preset mismatch, code review, checklist)
- n8n workflow and validation infrastructure updates
- AI agent analyses in notes/

Known issues carried forward:
- Shared drawdown budget contamination (both EAs)
- Confluence ranging-market threshold inversion
- Older grid presets missing v4.1 safety controls
2026-05-12 09:02:25 -04:00

4.9 KiB

2026-04-23 OrdersEA Smart Grid - Preset Mismatch Audit

Compared older grid presets against the newer v4.1-style presets (grid-eurgbp.set, grid-eurchf.set, grid-audnzd.set).

Main Pattern

The older presets still carry only a minimal subset of settings:

  • GetOut
  • OpenNewTrades
  • BaseEquity
  • daily/weekly drawdown caps
  • MagicNum

They generally do not define newer v4.1 controls such as:

  • InpUseSessionFilter
  • InpSessionStartHour
  • InpSessionEndHour
  • InpUseBreakeven
  • InpMaxSpreadPoints
  • InpMaxLongSymbols
  • InpMaxShortSymbols
  • InpAdaptiveEntry
  • InpRelaxFilterAfterDays
  • InpRangeDriftEnable
  • explicit InpUseStopLoss

That means many live charts will fall back to source defaults instead of explicit preset values.

High-Risk Mismatch

These presets set GetOut=Y, but the EA interprets any non-N value as GetOut mode:

  • grid-usdjpy.set
  • grid-xauusd.set
  • grid-gbpusd.set
  • grid-gbpjpy.set

In the current code, that means those charts are effectively in shutdown behavior, not “safety enabled”.

Older Presets Reviewed

Older preset group

  • grid-eurusd.set
  • grid-usdjpy.set
  • grid-gbpusd.set
  • grid-gbpjpy.set
  • grid-xauusd.set
  • grid-audusd.set
  • grid-usdcad.set
  • grid-usdchf.set
  • grid-nzdusd.set
  • grid-eurjpy.set

Common traits across older presets

  • BaseEquity=10000
  • explicit GetOut / OpenNewTrades
  • explicit MagicNum
  • explicit daily/weekly DD caps
  • missing explicit v4.1 safety controls

Newer Presets Reviewed

Newer v4.1-style presets

  • grid-eurgbp.set
  • grid-eurchf.set
  • grid-audnzd.set

Common traits across newer presets

  • explicit session filter
  • explicit spread cap
  • explicit breakeven setting
  • explicit correlation caps
  • explicit adaptive relaxation setting
  • explicit range drift setting
  • explicit stop-loss toggle

Concrete Differences

grid-eurusd.set

  • GetOut=N
  • Missing explicit session filter settings
  • Missing explicit breakeven settings
  • Missing explicit spread cap
  • Missing explicit correlation caps
  • Missing explicit adaptive relaxation settings
  • Missing explicit range drift setting

grid-usdjpy.set

  • GetOut=Y -> high-risk mismatch
  • Missing explicit session filter settings
  • Missing explicit breakeven settings
  • Missing explicit spread cap
  • Missing explicit correlation caps
  • Missing explicit adaptive relaxation settings
  • Missing explicit range drift setting

grid-gbpusd.set

  • GetOut=Y -> high-risk mismatch
  • Missing explicit session filter settings
  • Missing explicit breakeven settings
  • Missing explicit spread cap
  • Missing explicit correlation caps
  • Missing explicit adaptive relaxation settings
  • Missing explicit range drift setting

grid-gbpjpy.set

  • GetOut=Y -> high-risk mismatch
  • Missing explicit session filter settings
  • Missing explicit breakeven settings
  • Missing explicit spread cap
  • Missing explicit correlation caps
  • Missing explicit adaptive relaxation settings
  • Missing explicit range drift setting

grid-xauusd.set

  • GetOut=Y -> high-risk mismatch
  • Missing explicit session filter settings
  • Missing explicit breakeven settings
  • Missing explicit spread cap
  • Missing explicit correlation caps
  • Missing explicit adaptive relaxation settings
  • Missing explicit range drift setting

grid-audusd.set

  • GetOut=N
  • Missing explicit session filter settings
  • Missing explicit breakeven settings
  • Missing explicit spread cap
  • Missing explicit correlation caps
  • Missing explicit adaptive relaxation settings
  • Missing explicit range drift setting

grid-usdcad.set

  • GetOut=N
  • Missing explicit session filter settings
  • Missing explicit breakeven settings
  • Missing explicit spread cap
  • Missing explicit correlation caps
  • Missing explicit adaptive relaxation settings
  • Missing explicit range drift setting

grid-usdchf.set

  • GetOut=N
  • Missing explicit session filter settings
  • Missing explicit breakeven settings
  • Missing explicit spread cap
  • Missing explicit correlation caps
  • Missing explicit adaptive relaxation settings
  • Missing explicit range drift setting

grid-nzdusd.set

  • GetOut=N
  • Missing explicit session filter settings
  • Missing explicit breakeven settings
  • Missing explicit spread cap
  • Missing explicit correlation caps
  • Missing explicit adaptive relaxation settings
  • Missing explicit range drift setting

grid-eurjpy.set

  • GetOut=N
  • Missing explicit session filter settings
  • Missing explicit breakeven settings
  • Missing explicit spread cap
  • Missing explicit correlation caps
  • Missing explicit adaptive relaxation settings
  • Missing explicit range drift setting

Bottom Line

The newest presets are much closer to the current EA feature surface. The older presets are not only stale, they are inconsistent in a way that can directly change runtime behavior. The worst case is GetOut=Y, which is not a harmless comment-driven setting mismatch; it changes control flow inside the EA.