Обсуждение статьи "Разработка экспериментальной DLL с поддержкой многопоточности в C++ для MetaTrader 5 на Linux"

 

Опубликована статья Разработка экспериментальной DLL с поддержкой многопоточности в C++ для MetaTrader 5 на Linux:

В статье рассмотрен процесс разработки для платформы MetaTrader 5 исключительно в системе Linux. При этом конечный продукт без проблем работает как в Windows, так и в Linux. Мы познакомимся с Wine и Mingw - важными инструментами кроссплатформенной разработки. В Mingw реализована потоковая передача (POSIX и Win32), что необходимо учитывать при выборе подходящего инструмента. Затем мы создадим DLL для проверки концепции и используем ее в коде MQL5, а также сравним производительность обеих реализаций потоков. Статья призвана стать отправной точкой для ваших собственных экспериментов. После прочтения статьи вы сможете создавать инструменты для MetaTrader в Linux.

Linux располагает динамичной экосистемой и хорошей эргономикой для разработки программного обеспечения.

Она хорошо подходит тем, кто любит работать с командной строкой и стремится к простоте установки приложений через диспетчер пакетов. Операционная система не является черным ящиком, но я ее интересно осваивать. Она настраивается почти для всех подсистем, располагает встроенными инструментами, а также гибкой и оптимизированной средой разработки ПО.

ОС доступна как на настольном ПК, так и в виде облачного решения, в частности на виртуальном выделенном сервере (VPS) или у поставщиков облачных услуг, таких как AWS и Google Cloud.

Думаю, многие разработчики придерживаются выбранной ими операционной системы, но при этом хотят разрабатывать продукты и для пользователей Windows. Конечно, продукты должны работать одинаково хорошо на разных платформах.

Обычно разработчики создают свои индикаторы, роботов и сопутствующие продукты на MQL5, а затем публикуют их на Маркете, не заботясь об операционной системе. В вопросе компиляции и сборки исполняемого файла .EX5 они могут просто положиться на интерактивную среду разработки MetaTrader 5 (при условии, что они знают, как запустить MetaTrader 5 в Linux).
Но когда разработчикам необходимо создать решение в виде разделяемой библиотеки (DLL) для дальнейшего расширения и создания дополнительных опций, им приходится тратить больше времени и усилий на поиск решений для кросс-компиляции, обнаружение подводных камней, изучение наиболее оптимальных методов, знакомство с инструментами и т. д.

Автор: Wasin Thonkaew

 
Спасибо автору за интересный материал!
Было бы ещё интересно узнать и почитать об экспериментах по работе MT5 с Docker.
 

теперь у меня только один вопрос: "почему мою серию аналогичных (про С/С++/mingw) статей отклонили отклонили с формулировкой не соответствуют идеологии компании"

 
Было бы интересно что-то подобное в контексте создания быстрых кастомных функций на С/С++ для обработки питоновских массивов и таблиц (из numpy и pandas). Можно даже без линукса)
 
Nikolai Semko #:
Спасибо автору за интересный материал!
Было бы ещё интересно узнать и почитать об экспериментах по работе MT5 с Docker.
Thank you for your kind words. Sorry I didn't speak Russian.
 
Aleksey Nikolayev #:
Было бы интересно что-то подобное в контексте создания быстрых кастомных функций на С/С++ для обработки питоновских массивов и таблиц (из numpy и pandas). Можно даже без линукса)
Yes, exactly no need to be only Linux. It is just that I base on it solely, offer in perspective of cross platform developing on platform of your choice.

Ideally, it would be best to use compiler native to each platform. I might write something about it using CMake build system.

Thanks for your comment!