Files
mql-trading-bots/2026-04-23 OrdersEA Smart Grid - Preset Mismatch Audit.md
T
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

171 lines
4.9 KiB
Markdown

# 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.