out there are a lot of very good editors, with a lot of features, more than the build in MQL4 Editor.
it is a bad idea and a lot of work to modify the editor to make it as good as all the others out there.
my suggestion is, to provide the compiler as standalone exe file, this should be easy to establish, or, call the editor with switches like /compile /file=test.mq4
so everyone can use its favourite editor and compile mq4 files directly from the favourite editor.
as mql5 is out now, but it is not liked very much for some reasons from many programmers/traders,
i would be very pleased if the MT4 team makes my suggestion avaiable at MT4 too.
i think MT4 will be used at least until 2012, and i think its not more than some hours to make the compile function avaiable as a standalone exe.
Just a suggestion but you could have the file open on both editors and just switch to compile. Most people use visual C++ to generate DLLs for the complex part of the EA code.
as far as i know the MT4 editor doesnt automatically reload a changed file,
i have to close it and reopen.
i compile my sourcecodes even after small changes to detect errors very early, even if i havent finished the changes i want to do.
thanks for your suggestion, but i have already done it this way, and this is no comfortable solution.
for the complex parts of code i prefer perl or php, really powerful languages.
C is only useful if you need speed. i use it for coding modules for www.synthedit.com
C is a boring language ;-)
I may be missing the point but, as gordon is saying... the compiler is a standalone file: metalang.exe. For example, I routinely compile MQ4 code using a batch file which calls metalang.exe and then copies the ex4 into multiple installations of MT4. (I also compile using build 220 of metalang.exe: https://www.mql5.com/en/forum/117233.)
Yes, me to. Call metalang.exe from batch or some function in your editor (dll for example). Need only two parameters to pass ... source file and destination file :-)
i havent noticed that there is metalang.exe
non existing problem solved. ;-)
for all others like me who also missed the metalang.exe file (the standalone compiler) here the summary:
copy metalang.exe from the installation directory into your experts folder (because of this you dont need to add a path to your filenames )
open a dosbox in the experts folder and type for example
metalang test.mq4 test.ex4 > test.log
this compiles test.mq4 to test.ex4 and writes errors in test.log
Yes it does, I save, switch and press F5. no problem. I do edit in the mt4/experts folder if that makes a difference.
It may depend on what you want to use the log/error codes for. If you just want to check for success/failure of the compilation, then %ERRORLEVEL% (i.e. the exit code from metalang.exe) will give you that. Zero for success; non-zero for failure. Non-critical warnings (e.g. redundant functions) leave the exit code set to zero.
i just made a language file for Geany Editor, its not perfect.
i havent figured out how to do a special MQ4 file, so i modified the C definition file, it will override the default C file. simply copy it in the "geany installation/data" folder (filetypes.c)
thanks Cloudbreaker i havent had much work to get the keywords list for highlighting (Alphabetic Index of MQL4 Functions https://www.mql5.com/en/forum/122679)
additional the modified filetype_extensions.conf in the same folder mentioned above.
change the last line of filetypes.c to the path where your metalang.exe is, then relaunch geany and pressing F5 compiles as usual
here the last line, change the path to your metalang.exe
run_cmd="E:\Programme\MBT MetaTrader 4\metalang.exe" "%f"