Я работаю в файле сценария Metatrader и мне нужно вызвать функцию в библиотеке Boost. Кто-нибудь знает, возможно ли это? Если да, то как настроить импорт?
Импорт библиотеки Boost в файл сценария Metatrader (MT4)
Ответы (2)
Это возможно.
Проверьте это: http://docs.mql4.com/basis/preprosessor/import
Если вы посмотрите на большинство примеров метакавычек mql, они импортируют stdlib и stderror . Во встроенном разделе справки в редакторе также будет информация о том, как это сделать.
Да, это действительно возможно. Но все не так, как вы можете себе представить.
Конечно, это зависит от того, что вы хотите сделать, но основная идея заключается в том, чтобы создать DLL и подключить ее к вашему советнику, как сказал Дмитрий.
Все ваши функции должны быть определены следующим образом:
extern "C" __declspec(dllexport) int doSomething(...)
{ ... }
Таким образом, вы можете вызвать его со своего терминала.
Будьте осторожны с типами C++ в Metatrader.
В DLL вы можете делать все, что хотите, в соответствии с вашим объявлением - со всеми данными, которые вы получите.
Не забудьте проверить свою DLL на наличие зависимостей (используя Dependency Walker), чтобы увидеть, какие другие DLL использует ваша библиотека (вы должны предоставить их в свой терминал Metatrader, скопировать в папку местоположения terminal.exe
или добавить папку с вашими DLL в ваши системы path
).