Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Хорошая статья, спасибо. Как насчет асинхронного режима WinINet?
У меня нет планов по реализации такой вещи, извините.
В русском обсуждении статьи можно найти дальнейшее исследование подхода и альтернативную реализацию на основе диаграммных объектов.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Обсуждение статьи "Многопоточный асинхронный WebRequest на MQL5 своими руками"
Станислав Короткий, 2018.11.14 14:20
Выкладываю альтернативный способ запуска веб-запросов - с помощью граф-объектов, которые используют шаблон с помощником-экспертом. Его можно использовать как от экспертов, так и от индикаторов. Зависимости те же, что и в статье. Файлы новой реализации:
Для каждого запроса создается объект, в нем создается помощник-эксперт, по окончании запроса объект удаляется. Обмен данными запроса и результатами, как и в статье, происходит через ресурсы.
Судя по логам, этот механизм не обеспечивает полноценного параллелизма выполнения запросов, так как объекты, вероятно, используют общую очередь событий. Пример лога:
Исходники я также прикрепляю сюда.
Также проверьте, пожалуйста, обновленные версии include-файлов из fxsaber, которые используются в зависимостях - они могут содержать исправления и ускорения.
Совершенно потрясающая статья!!!
Поздравляю и благодарю вас, @marketeer!
Чо то не получается запустить.
Пишет ошибку 4002.
После небольшого анализа нашел что вёкер не получает URL. Вместо него приходит нулевое значение
Чо то не получается запустить.
Пишет ошибку 4002.
После небольшого анализа нашел что вёкер не получает URL. Вместо него приходит нулевое значение
Какие именно программы/библиотеки использовались (можно просто приложить)? Также нужны конкретные логи. Версия МТ5. Попробуйте в других более ранних версиях МТ5.
Все просто. Скачал с сайта архив и запустил в режиме диагностики описаные в тексте, изменив только сайты, вместо трех, указал только гугл.ком прописанный в вебреквест терминала.
версия 5 билд 2085 не текущий момент последняя. до этого версию не помню, тоже была на тот момент последняя.
из логов
Заменил Ресурс дата как было в коментариях выше ситуация не изменилась.
В принцепи можете сами повторить и проверить как оно работает....
Все просто. Скачал с сайта архив и запустил в режиме диагностики описаные в тексте, изменив только сайты, вместо трех, указал только гугл.ком прописанный в вебреквест терминала.
версия 5 билд 2085 не текущий момент последняя. до этого версию не помню, тоже была на тот момент последняя.
из логов
Заменил Ресурс дата как было в коментариях выше ситуация не изменилась.
В принцепи можете сами повторить и проверить как оно работает....
Не смог воспроизвести. Вот лог от запуска на билде 2093:
Ищите проблему у себя в настройках или в системе.
Подтверждаю, что на дефолтовых настройках скрипт не работает - получаю ту же самую "WebRequest error code 4002"..
MetaTrader 5
Version: 5.00 build 2093
02 Jul 2019
===cut here===
2019.07.23 00:47:37.182 multiwebclient (USDJPY,H1) Accepted: aQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\Experts\multiwebclient.ex5::USDJPY_PERIOD_H1_2_128968169154443359 after 0 retries
===cut here===
Подтверждаю, что на дефолтовых настройках скрипт не работает - получаю ту же самую "WebRequest error code 4002"..
MetaTrader 5
Version: 5.00 build 2093
02 Jul 2019
===cut here===
2019.07.23 00:47:37.182 multiwebclient (USDJPY,H1) Accepted: aQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\Experts\multiwebclient.ex5::USDJPY_PERIOD_H1_2_128968169154443359 after 0 retries
===cut here===
Пишите больше подробностей - версию ОС, антивирус и пр. Я меня на Win 7, MT5 сборка 2093 работает нормально, как показано выше.
В принципе, вопрос к MQ, потому что ошибка связана с "внутренним вызовом", но в помощь слабо верится - support то закрыт.
Исходники статьи - открытые, так что постарайтесь разобраться с проблемой на той машине, где ошибка воспроизводится.