Обсуждение статьи "Как за 10 минут написать DLL библиотеку для MQL5 и обмениваться данными?" - страница 5
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
1) какая версия терминала 32 или 64 битная?
2) какая версия dll 32 или 64 битная?
1) а что есть выбор? По-моему отсюда только x86 скачивается...
2) dll 32
Переустановка MT5 дала следующий результат. При запуске скрипта появляется такая инфа в логе Cannot find function fnCalculateSpeed in 'MQL5DLLSamples.dll'
На всякий случай прикладываю снимок библиотеки от Dependency Walker.
Переустановка MT5 дала следующий результат. При запуске скрипта появляется такая инфа в логе Cannot find function fnCalculateSpeed in 'MQL5DLLSamples.dll'
На всякий случай прикладываю снимок библиотеки от Dependency Walker.
А номер билда переустановленного терминала какой?
По всей видимости старый, явно не последний 240 билд.
Да, точно не последний...
После обновления до 240-го бильда первый запуск скрипта отработал нормально. Я обрадовался. Но последующие запуски привели только к крашу. Параллельно работал MT 4.
После перезагрузки вроде всё заработало! :-))
Закомментировал функцию fnCrashTest(int arr)
Спасибо всем, кто помогал!
В общем, мне не удалось повысить скорость вычислений с помощью dll более чем в 2.5 раза. Это говорит о высокой скорости MQL5, и для большинства трейдерских задач нет смысла гемороится с dll, за исключением случаев, когда необходимо защитить код, и когда необходимы "тяжёлые" вычисления.
Ренат, спасибо за статью. Думаю многим она не раз пригодиться. У меня же попутный вопрос связанный с dll. (Терминал 249, редактор 248)
Пример
Имеем либру demo.dll, в ней всего одна функция
Имеем mql скрипт demo.mq5
Компилятор не выдает ни ошибок, ни предупреждений.
Запускаем в терминале, получаем следующее
При проверке в визул дебуге обнаружил еще что в саму функцию demo.dll приходит не строка а ее первый символ.
Вопрос
В чем проблема? Как по-человечески передать строку из MQL в dll?