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
36 lines
900 B
YAML
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
|