Přeskočit na obsah
Windea.cz
  1. Úvod
  2. Návody pro MetaTrader 4

Kompilace MQL4 z VS Code pomocí MetaEditoru

MQL4 můžete psát ve VS Code a kompilaci předat MetaEditoru z instalace MT4. Úloha VS Code připraví volání kompilátoru; výsledek ověřte v čerstvém logu a novém souboru EX4. Pouhé zvýraznění syntaxe ani prázdný panel Problems úspěch nepotvrzuje.

Postup je pro Windows, desktopový VS Code a hlavní zdroj .mq4. Rozšíření editoru pro pohodlnější psaní je volitelné; samotný kompilátor dodává MetaEditor.

Zvolte správný kompilátor a složku MQL4

  1. Připravte samostatnou testovací instalaci MT4 a ověřte její skutečnou datovou složku.
  2. Ve VS Code otevřete její složku MQL4 jako kořen pracovního prostoru. Zdroj EA pak bude například v Experts\MujRobot.mq4 a sdílené hlavičky v Include.
  3. Dohledejte metaeditor.exe odpovídající této instalaci MT4. Příklad cesty níže nahraďte skutečnou cestou; nepřebírejte náhodně kompilátor jiné instalace nebo MT5.
  4. Před kompilací ukončete testovací MT4 a ověřte, že nebudete přepisovat soubory jiné běžící instalace. Do běžícího obchodního prostředí tímto ověřovacím postupem nezasahujte.
  5. Zálohujte zdroje, závislosti a dosavadní výsledky. Pracujte v zapisovatelné testovací složce.

Při prvním ověření použijte cestu bez mezer včetně názvu zdroje MQ4. Před použitím cest s mezerami zvlášť ověřte jejich předání konkrétnímu sestavení MetaEditoru; oddělené argumenty úlohy samy nepotvrzují, jak je externí program vyloží.

Přepínač /include v příkladu míří na kořen MQL4, nikoli přímo na MQL4\Include. MetaEditor pod tímto kořenem hledá podsložku Include. Dokumentace externího kompilátoru MetaEditoru pro MQL4/MQL5.

Přidejte úlohu do tasks.json

V otevřeném kořeni MQL4 vytvořte soubor .vscode\tasks.json s následujícím obsahem. Pokud už soubor existuje, přidejte novou položku do pole tasks a zachovejte své ostatní úlohy. Jde o vzor k úpravě pro vaše cesty a sestavení MetaEditoru.

{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "MQL4: compile active file",
      "type": "process",
      "command": "C:\\Trading\\MT4-Test\\metaeditor.exe",
      "args": [
        "/compile:${file}",
        "/include:${workspaceFolder}",
        "/log"
      ],
      "options": { "cwd": "${workspaceFolder}" },
      "group": "build",
      "problemMatcher": [],
      "presentation": {
        "reveal": "silent",
        "focus": false,
        "panel": "shared"
      }
    }
  ]
}

Úloha typu process má příkaz a argumenty oddělené; neskládejte je do jednoho příkazu shellu. Proměnná ${file} označuje právě otevřený soubor, ${workspaceFolder} otevřený kořen. V JSON zapisujte zpětné lomítko jako \\. Úlohy VS Code a proměnné úloh.

Nastavení focus: false řídí jen fokus panelu s výstupem VS Code. Nezaručuje chování oken externího programu; automatizované zkoušky, které vyžadují spuštění GUI, provádějte v odděleném testovacím prostředí.

Ověřte nový log a výsledný EX4

  1. Po úpravě konfigurace přepněte zpět na hlavní soubor .mq4 a uložte jej. Aktivní karta nesmí zůstat na tasks.json nebo pomocném .mqh.
  2. Pro ověřovací běh odložte předchozí log a EX4 do zálohy mimo pracovní složku, abyste je nezaměnili za nový výstup.
  3. Přes Terminal → Run Task (Terminál → Spustit úlohu... v českém VS Code) vyberte MQL4: compile active file a nechte kompilátor doběhnout.
  4. Otevřete čerstvý log vedle zdroje, například MujRobot.log. Zkontrolujte souhrn chyb, projděte varování a ověřte vznik odpovídajícího MujRobot.ex4.

Přepínač /log zapisuje kompilační zprávy do souboru. Příklad nemá parser tohoto logu do panelu Problems, proto prázdný panel ani samotné dokončení úlohy nestačí. Při chybě nepoužívejte starší EX4 jako údajně nový build. Kompilace a varování v MetaEditoru.

Když výsledek nevznikne

  • Kompilátor nenalezen: opravte cestu v command; samotná instalace VS Code MetaEditor nenainstaluje.
  • Chybějící include: ověřte kořen MQL4, strukturu závislostí a cestu použitou ve zdroji.
  • Chybí nový log: ověřte aktivní soubor, zapisovatelnost cíle a podporu parametrů v použitém sestavení.
  • Log obsahuje chyby: řešte uvedený soubor a řádek; kompilujte hlavní MQ4, nikoli samotnou hlavičku.

Úspěšná kompilace potvrzuje vytvoření programu, ne jeho obchodní chování. Pokračujte instalací EA do MT4 a návodem k testeru strategií. Tato úloha EA nepřipojuje ke grafu ani nezapíná AutoTrading (Automatické Obchodování).

Zpět na návody pro MetaTrader 4