Обсуждение статьи "Как за 10 минут написать DLL библиотеку для MQL5 и обмениваться данными?" - страница 10
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Спасибо за статью. Полностью её повторил, но хочу несколько слов о то, с чем столкнулся я при реализации - эти вроде бы небольшие вещи чуть не оттолкнули от этого. Что же хотелось уточнить (использую VS2010 + MT5 (32 бит) build 756 + Win 7 Максимальная x64):
В остальном очень даже очень не плохая статья ... Респект!
Очень хороший учебник!
нужно ли создавать ссылки на файлы?
Мне нужно модифицировать Fann2MQl.dll (документирована на http://fann2mql.wordpress.com), потому что она не работает в MT5. Причина в том, что в MT5 вы не можете открывать файлы, где вам вздумается. Они должны быть открыты в двух местах по умолчанию (для прямого режима и режима тестирования).
Поэтому вопрос в том, какую функцию вызывать вместо fopen и какой заголовочный файл включать? Потому что кажется, что файлы должны открываться изнутри MT5. Любая попытка открыть файл в обход terminal.exe (как это происходит при использовании fopen из dll) автоматически перенаправляется либо в директорию установки, либо на рабочий стол, в зависимости от используемого режима запуска terminal.exe (нажатие на иконку или из командной строки с параметром /portable).
Эта переадресация еще и странная, потому что результирующее имя файла находится только в первом летере пути к нему.
Кто-нибудь знает, как создать 64-битную DLL или позволить MQL5 загрузить 32-битную DLL? MQ5 не загружает мой тестовый скрипт, потому что моя DLL "не 64-битная". Спасибо.
Это можно исправить, инструкции здесь: Solution Explorer -> Правый клик на решении -> Configuration Manager -> Active solution platform drop down menu -> select x64 -> click Close -> Rebuild Solution
Надеюсь, это поможет.
Удачи.
На 64-х битном МТ5 пример не работает. Терминал отписывается, что это 32-х битная DLL и не подключает ее. Но под Win32 (как в данном примере и во всех других примерах - типа на Дельфи) - все же DLL 32-х битные. Приходится как в предыдущем посте деинсталировать 64-х битную версию терминала и ставить 32-х битную. Еще надо знать как это сделать, так как 64-х битная версия ставится насильно. Получается что МТ5 64 бита вообще мертвый терминал, не понятно зачем выпущенный. Уважаемые разработчики, если это возможно, сделайте пожалуйста возможность подключения к МТ5 64 бита, 32-х битных DLL.
А если это технически невозможно или сложно, тогда так и пишите про подводные камни, что эта версия не будет работать с 32-х битными DLL, а то пользователи мучаются и не могут понять в чем дело. И напишите открыто, что папка Libraries находится не в директориях самого терминала, а фиг знает где, и без опыта не найдете, даже не пытайтесь. И кстати в этом тайном месте находятся и все индикаторы и эксперты, так что установив МТ5 вы можете про них забыть, - если Вы не знаете что все это находится в скрытой папке C:\Users\пп\AppData\Roaming... . А то пользователь думает что устанавливает нормально написанную программу, а это обман.
Вам бы технический уровень подтянуть.
Для 64 битных программ нужны 64 битные библиотеки и никак в разумных рамках не подключить 32 битные. Чтобы установить 32 битную версию, инсталлер надо запустить с ключом /32
Статью я перепишу и дополню крутыми штуками, что давно уже внедрены в Метаедитор и платформы МТ4 и МТ5. Многие разработчики не в курсе новых возможностей.
Вам бы технический уровень подтянуть.
Для 64 битных программ нужны 64 битные библиотеки и никак в разумных рамках не подключить 32 битные. Чтобы установить 32 битную версию, инсталлер надо запустить с ключом /32
Статью я перепишу и дополню крутыми штуками, что давно уже внедрены в Метаедитор и платформы МТ4 и МТ5. Многие разработчики не в курсе новых возможностей.
И смотрю что Майрософт стал ужимать C++. В последнем компиляторе даже установку возможности работы с формами в С++ убрали. И на вопрос почему? Отвечают что а почему бы Вам не попробовать на новом более совершенном С#. Так что если Вы смотрите в перспективу, Вам это тоже нужно учитывать.
Ну Майкрософт известный убийца технологий, а в последнее время и себе могилу за могилой копает.
Зачем ему мешать - пусть сам в свою яму падает. Это так образно, дабы не тратить время на технические детали. Кто желает деталей - их тысячи есть в интернете. После "более совершенного C#" у меня других слов нет.