Skip to content

feat(compile): compile MQL4 on POST /compile - #28

Open
Marinski wants to merge 1 commit into
psyb0t:masterfrom
Marinski:feat/mql4-compile
Open

Marinski wants to merge 1 commit into
psyb0t:masterfrom
Marinski:feat/mql4-compile

Conversation

@Marinski

@Marinski Marinski commented Oct 2, 2026

Copy link
Copy Markdown
Contributor

POST /compile gains MQL4: a filename ending in .mq4 selects the MT4 MetaEditor (COMPILE_MT4_TERMINAL_DIR) and returns ex4_base64; everything else is MQL5 exactly as before. Compile-only — no MT4 terminal, account or tester. The MT4 toolchain gets its own local mirror under <cache>/mt4, and MT4 responses carry no include_hash.

scripts/install-mt4-compiler.bat installs MT4 once on boot from compile-mt4/mt4setup.exe; it is never fatal.

Tests: tests/test_compile.py MQL4 cases.

A filename ending in .mq4 selects the MT4 MetaEditor (COMPILE_MT4_TERMINAL_DIR,
default compile-mt4/ beside terminals/) and returns ex4_base64; everything else
is MQL5 exactly as before. Compile-only: no MT4 terminal, account or tester.
The MT4 toolchain gets its own local mirror under <cache>/mt4, and MT4 responses
carry no include_hash.

scripts/install-mt4-compiler.bat is a one-time, never-fatal boot step, called
from start.bat, that installs MT4 from compile-mt4/mt4setup.exe (the installer
ignores /path:, so it copies out of %APPDATA%) and runs terminal.exe /portable
once so MQL4\Include exists. Its boot path was verified live only up to the
manual steps; the rewritten script itself was not re-run end to end.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant