Files
Apex_AI_MT5_EA_Optimizer/ea_registry.yaml
T
LEGSTECH Optimizer d5a8973c05 feat(step1): Universal EA Schema Layer — replaces param_manifest.yaml
NEW FILES:
  ea/__init__.py          - EA module package
  ea/schema.py            - ParameterDef + ParameterSchema (replaces YAML manifest)
  ea/set_parser.py        - Parse ANY MT5 .set file → ParameterSchema
  ea/registry.py          - EAProfile + EARegistry (ea_registry.yaml)
  ea_registry.yaml        - LEGSTECH_EA_V2 pre-registered with automation overrides

MODIFIED:
  mt5/ini_builder.py      - Accepts ParameterSchema OR legacy manifest_path
  mt5/runner.py           - Accepts optional EAProfile for EA-agnostic validation
  config.yaml             - Removed hardcoded ea: block; added ea_registry path

KEY DESIGN:
  - .set file IS the manifest: value|min|max|step auto-detects float/int/bool/enum/fixed
  - automation_overrides in EAProfile forces headless-safe values (InpShowPanel=0)
  - Phase A optimization INI: Optimization=2 (genetic), ranges from schema
  - Phase B single backtest: Optimization=0 (unchanged behavior)
  - LEGSTECH advanced mode: fully backwards compatible via legacy manifest fallback
  - runner.py still works for legacy callers (no EAProfile needed)

TESTED:
  - 49/49 LEGSTECH params parsed correctly
  - InpShowPanel=0 automation override applied
  - INI output correct for both Phase A (Optimization=2) and Phase B (Optimization=0)
  - All imports pass
2026-04-13 19:55:16 +00:00

36 lines
900 B
YAML

profiles:
- name: LEGSTECH_EA_V2
ex5_file: LEGSTECH_EA_V2
set_template: C:/Users/DELL/Desktop/MT5 Set files/LEGSTECH_EA_V2.set
symbol: XAUUSD
timeframe: H1
mode: advanced
registered_at: '2026-04-13T19:52:30.824439+00:00'
optimize_params:
InpRiskPercent: true
InpMaxDailyLossPct: true
InpMaxTradesPerDay: true
InpRRRatio: true
InpUseTrailing: true
InpTrailStartPips: true
InpTrailStepPips: true
InpUseBreakeven: true
InpBEPips: true
InpBEBufferPips: true
InpUseSession: true
InpSessionStart: true
InpSessionEnd: true
InpMinScore: true
InpATRMultiplier: true
InpBotMode: false
InpRiskType: false
InpSLType: false
InpSLBuffer: false
InpFixedSLPips: false
InpUseSpreadGuard: true
InpMaxSpreadPips: true
automation_overrides:
InpShowPanel: 0
InpTesterMode: 1
InpTesterInitDeposit: 10000.0