У меня перестал работать WebRequest на Windows 10. Проблема появилась в пределах двух последних обновлений MT5. Сервер Бинанс возвращает ошибку 404 на GET-запросы. Проблема появляется после перекомпиляции на последнем релизе Metaeditor работавших до этого скриптов. Но в единичных случаях запросы прорываются. Тоже самое ПО на питоне работает без проблем и вставка в строку браузера тоже.
Кто-нибудь из жалующихся может предоставить тестовый скрипт целиком, а не какие-то выжимки и общие слова?
Stanislav Korotky #:
Кто-нибудь из жалующихся может предоставить тестовый скрипт целиком, а не какие-то выжимки и общие слова?
Да пожалуйста! А у вас что, работает? У меня тоже работало до перекомпиляции. Вот скрипт запроса времени с бинанса: Кто-нибудь из жалующихся может предоставить тестовый скрипт целиком, а не какие-то выжимки и общие слова?
void OnStart() { // URL для получения серверного времени от Binance string url = "https://data-api.binance.vision/api/v3/time"; uchar result[]; int servMess = ReqwestWrite(url,result,"Серверное время"); int size = ArraySize(result); /*=== извлечение serverTime из uchar в string Ответ имеет формат: {"serverTime":1757595699443}*/ if(servMess == 200 && size > 0) { string strResponse = ""; bool writeOn = false; for(int i = 0;i < size;i++) { if(result[i] == '}') writeOn = false; if(writeOn == true) strResponse += CharToString(result[i]); if(result[i] == ':') writeOn = true; }//i //Print(__FILE__," ",__FUNCTION__," Получено время сервера Бинанс=",strResponse); // Убираем возможные пробелы StringTrimRight(strResponse); StringTrimLeft(strResponse); // Преобразуем строку в число (время в миллисекундах) long time_ms = (long)StringToInteger(strResponse); // Получаем время в секундах long time_sec = (long) MathFloor((double)time_ms / 1000); Print("Получено время Binance: ",TimeToString((datetime)time_sec)); }//size > 0 }//OnStart() //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //| Функция отправки WebRequest | //+------------------------------------------------------------------+ int ReqwestWrite(string urlMess,uchar &responArr[],string sendName) { // Подготавливаем параметры для WebRequest string headers = ""; char data[]; string result_headers; int timeout = 10000; // 10 секунд // Выполняем GET запрос int res_code = WebRequest("GET", urlMess, headers, timeout,data, responArr,result_headers); // Проверяем результат запроса if(res_code > -1) { if(res_code > 400) { string mess = "Бинанс отверг запрос"; Print(__FUNCTION__," ",sendName," ",mess," ", res_code); if(res_code > 499) mess = "Ошибка на стороне Бинанс"; }//res_code>=400 }//res_code > -1 else { string mess = "Неверно сформирован запрос WebRequest для " + sendName; Print(__FILE__," ",__FUNCTION__," ",mess); }//res_code!>-1 return res_code; }//ReqwestWrite()
Good Beer #:
Да пожалуйста! А у вас что, работает? У меня тоже работало до перекомпиляции. Вот скрипт запроса времени с бинанса:
Да пожалуйста! А у вас что, работает? У меня тоже работало до перекомпиляции. Вот скрипт запроса времени с бинанса:
2025.10.25 16:14:15.572 498054 (EURUSD,H1) Получено время Binance: 2025.10.25 14:13
2025.10.25 16:05:06.602 Terminal ICMarkets - MetaTrader 5 x64 build 5370 started for International Capital Markets Pty Ltd.
2025.10.25 16:05:06.602 Terminal Windows Server 2019 build 17763 on KVM, 4 x AMD EPYC, AVX2, 1 / 3 Gb memory, 18 / 99 Gb disk, RDP, UAC, admin, GMT+1
2025.10.25 16:05:06.602 Terminal Windows Server 2019 build 17763 on KVM, 4 x AMD EPYC, AVX2, 1 / 3 Gb memory, 18 / 99 Gb disk, RDP, UAC, admin, GMT+1
Alain Verleyen #:
Я запускал на 2-х разных компьютерах. Пробовал через VPN. Результат одинаковый. Может быть от провайдера зависит?
2025.10.25 16:14:15.572 498054 (EURUSD,H1) Получено время Binance: 2025.10.25 14:13
2025.10.25 16:05:06.602 Terminal ICMarkets - MetaTrader 5 x64 build 5370 started for International Capital Markets Pty Ltd.
2025.10.25 16:05:06.602 Terminal Windows Server 2019 build 17763 on KVM, 4 x AMD EPYC, AVX2, 1 / 3 Gb memory, 18 / 99 Gb disk, RDP, UAC, admin, GMT+1
2025.10.25 16:05:06.602 Terminal Windows Server 2019 build 17763 on KVM, 4 x AMD EPYC, AVX2, 1 / 3 Gb memory, 18 / 99 Gb disk, RDP, UAC, admin, GMT+1
Good Beer #:
Я запускал на 2-х разных компьютерах. Пробовал через VPN. Результат одинаковый. Может быть от провайдера зависит?
Я запускал на 2-х разных компьютерах. Пробовал через VPN. Результат одинаковый. Может быть от провайдера зависит?
Очень может быть. У меня кабель МТС, половина сайтов не открывается (биржи - ок). Открываю через прокси-сервер на VPS в Москве. Там проходит всё, включая Ютуб.
В новом жилье подключусь к другому провайдеру.
Edgar Akhmadeev #:
Ошибку 404 обычно сопровождает какой-то контент и словесное описание - оно есть?
Очень может быть. У меня кабель МТС, половина сайтов не открывается (биржи - ок). Открываю через прокси-сервер на VPS в Москве. Там проходит всё, включая Ютуб.
В новом жилье подключусь к другому провайдеру.
Stanislav Korotky #:
Ошибку 404 обычно сопровождает какой-то контент и словесное описание - оно есть?
Не сопровождает. В расшифровке Бинанса это означает "Неверно сформированный запрос". Я пробовал поймать тело запроса и ответа специальной программой. Там что то говорится про ошибку сертефиката. Попробую переделать скрипт под другого поставщика.
Ошибку 404 обычно сопровождает какой-то контент и словесное описание - оно есть?
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Появилась проблема на MQL5 с WebRequest на Windows Server 2019 - функция возвращает обрезанный ответ при очень огромных текстах, хотя на Windows 10 и Windows Server 2012 R2 работает идеально. Вот сама функция