Да, это действительно возможно.
Но все не так, как вы можете себе представить.
Конечно, это зависит от того, что вы хотите сделать, но основная идея - создать DLL и включить ее в свой советник, как сказал Дмитрий.
Все ваши функции должны быть определены следующим образом:
extern "C" __declspec(dllexport) int doSomething(...)
{ ... }
Так что вы можете позвонить с вашего терминала.
Будьте осторожны с типами c ++ в Metatrader.
В DLL вы можете делать, что хотите, в соответствии с вашей декларацией - со всеми данными, которые вы получите.
Не забудьте проверить свою DLL на наличие зависимостей (используя Dependency Walker), чтобы увидеть, какие другие библиотеки DLL использует ваша библиотека (вы должны предоставить их в свой терминал Metatrader, скопировать в папку terminal.exe
location или добавить папку с DLL в ваши системы path
).