Главная / Блог / WebRequest в MT5 не разрешён: как добавить адрес в список и…

WebRequest в MT5 не разрешён: как добавить адрес в список и убрать ошибку 4014

Коротко: Добавьте точный адрес советника в Сервис → Настройки → Советники, в список «Разрешить WebRequest для следующих URL», и нажмите OK; ошибка 4014, скорее всего, значит, что его там нет.

WebRequest в MT5: 4014 MT5 блокирует запросы советника, пока его точный адрес не добавлен в список
4014 MT5 блокирует запросы советника, пока его точный адрес не добавлен в список

MT5 не пропускает вызовы WebRequest из советника, пока его точный адрес не внесён в список, который ведёте вы. Откройте Сервис → Настройки → Советники, отметьте «Разрешить WebRequest для следующих URL», добавьте адрес, к которому ходит советник (например, https://lic.midasgrid.com), нажмите OK и ищите на вкладке «Эксперты» ошибку 4014, «Системная функция не разрешена для вызова».

В статье (12)

Что значит «WebRequest не разрешён» и ошибка 4014?

Ошибка 4014, «Системная функция не разрешена для вызова», — то, что сообщает заблокированный вызов WebRequest в MT5: скорее всего, адреса нет в списке разрешённых, либо вызов идёт из индикатора или из тестера стратегий.

WebRequest() — функция MQL5, которой программа отправляет HTTP-запрос. При сбое она возвращает -1, а причину подскажет GetLastError(). В таблице ошибок времени выполнения 4014 — это ERR_FUNCTION_NOT_ALLOWED (справочник MQL5, ошибки времени выполнения, дата обращения 8 октября 2026).

Её могут дать три ситуации:

  1. Адреса нет в списке или не включена сама опция WebRequest. В примере из справочника при результате -1 выводится подсказка, что URL, возможно, отсутствует в списке и его нужно добавить (справочник по WebRequest). Прямо связать 4014 с этим случаем справочник не берётся. Это делают ответы на форуме и инструкции некоторых разработчиков; в теме про соседние функции сокетов, которые тоже возвращают 4014, ответы отправляют к тому же списку, но помогло ли это, там не сказано. Поэтому считайте это вероятной причиной, а не доказанной.
  2. Вызов идёт из индикатора. Справочник: из индикаторов WebRequest вызывать нельзя, такой вызов даёт 4014.
  3. Программа запущена в тестере стратегий, где функция не выполняется; в одной теме на форуме 4014 видели именно там.

Строку в журнале пишет автор советника, поэтому формулировки разные («WebRequest не разрешён», «err=4014»). Ищите номер.

Почему MT5 по умолчанию блокирует WebRequest?

MT5 блокирует WebRequest по умолчанию: MetaQuotes выключает опцию из соображений безопасности и просит вручную указать адреса доверенных сайтов (справка MetaTrader 5, настройки «Советники», дата обращения 8 октября 2026). Риск понятен: советник видит номер вашего счёта, баланс и открытые сделки, а WebRequest может отправить их куда угодно. Представьте проходную со списком пропусков: советник может попроситься куда угодно, но охрана выпустит его только по списку. Через WebRequest обычно идут проверка лицензии, котировки или новости и уведомления в мессенджер.

Как разрешить WebRequest для URL в MT5: пошагово

Чтобы разрешить WebRequest для адреса в MT5, откройте Сервис → Настройки → Советники, отметьте «Разрешить WebRequest для следующих URL», добавьте точный адрес, к которому ходит советник, и нажмите OK.

  1. Скопируйте точный адрес из документации советника. Именно скопируйте, а не перепечатывайте.
  2. В MT5 откройте Сервис → Настройки (Ctrl+O), вкладка Советники.
  3. Отметьте Разрешить WebRequest для следующих URL.
  4. Щёлкните строку «добавить URL в формате 'https://www.mql5.com'», вставьте адрес, нажмите Enter и убедитесь, что запись осталась в списке.
  5. Нажмите OK.

Чтобы удалить запись, выделите её и нажмите Delete. Соседний флажок «Разрешить автоматическую торговлю» (в англоязычном терминале — Allow algorithmic trading) отвечает за саму торговлю. Если советник молчит из-за него, смотрите «Автоторговля отключена в MT5».

Какие ошибки в адресе ломают запрос?

Список не умеет угадывать, какой адрес вы имели в виду, поэтому неверная запись выглядит так же, как отсутствующая. На примере адреса Midas:

Что ввелиПочему не работаетЧто делать
Пропущенную букву или .co вместо .comЭто другой адресВставлять, а не печатать
https://midasgrid.com, когда советник ходит на https://lic.midasgrid.comПоддомен — отдельный сервер; подтверждения, что MetaQuotes принимает маски, мы не нашлиДобавить тот хост, куда идёт запрос
http:// вместо https://Порт выбирается по протоколу: 80 для http, 443 для https (справочник); что одна запись покрывает оба протокола, мы не нашлиКопировать протокол как в документации
https://lic.midasgrid.com/pathВ списке сервер, а не страница: подсказка в самой строке и пример из справочника — протокол и хост, без путиТолько хост, если разработчик не требует иного
Адрес добавлен, галочка не стоитПо умолчанию опция выключенаПоставить галочку

Нужно ли перезапускать MT5 после добавления адреса WebRequest?

Нужен ли перезапуск MT5 после добавления адреса, точно сказать нельзя. На страницах MetaQuotes, которые мы читали, перезапуск не упомянут, и официального ответа «да» или «нет» мы не нашли. Инструкции некоторых разработчиков советников советуют перезапустить. Разумный порядок такой: нажать OK, дождаться следующего запроса советника (тот, что проверяет лицензию раз в час, сразу не повторит) и перезапускать MT5, только если не помогло.

Если открыты позиции, не спешите с перезапуском. Пока терминал закрыт, ими никто не управляет, а инструкция по установке Midas прямо просит не закрывать терминал, пока открыта корзина.

Почему WebRequest не работает в тестере стратегий?

Справочник говорит прямо: в тестере стратегий WebRequest() не выполняется. На форуме автор, уже добавивший адрес в список, всё равно видел 4014 в прогоне тестера, а модератор ответил ограничением тестера (тема по ссылке выше). Советник, который проверяет лицензию по сети или берёт данные с внешнего сервера, там не сработает, а что он сделает вместо этого, решает его автор: спросите у разработчика. Сетевой код проверяйте на демо-графике в обычном терминале.

Индикаторам WebRequest закрыт по другой причине: они работают в едином потоке, и, по словам справочника, задержка в одном индикаторе может остановить обновление всех графиков того же символа. Перенесите вызов в советник или скрипт.

Нужно ли добавлять адрес заново на VPS и во втором терминале?

Да, считайте, что нужно: окно настроек принадлежит одной установке MT5, а текста MetaQuotes о том, что список копируется между установками, мы не нашли, поэтому терминалу на VPS, терминалу у другого брокера и копии на другом компьютере нужна своя запись. На Windows VPS подключитесь по удалённому рабочему столу, откройте настройки внутри того терминала и добавьте тот же адрес (как подключиться, описано в разделе про VPS).

Если вместо 4014 вы видите 5201, 5202 или 5203, вызов дошёл до сети, а проблема, скорее всего, в соединении: проверьте исходящий HTTPS с VPS, брандмауэр, прокси, VPN или антивирус, который перехватывает HTTPS. В одной теме на форуме про ошибку 5203 ответ отсылал к настройкам прокси (Сервис → Настройки → Сервер) и к такому ПО; подтверждённой причины в теме не названо. Соседние коды разобраны в статье «Ошибки советника в MT5».

Что вы разрешаете, добавляя адрес?

Вы разрешаете любой программе MQL5 в этом терминале, которая умеет вызывать WebRequest, то есть советнику или скрипту, отправлять запросы на этот сервер; книга по MQL5 называет методы HEAD, GET и POST. Список лежит в настройках терминала, а не у одного советника. Он определяет, куда можно слать данные; что слать, решает код советника. Поэтому:

  • добавляйте только те адреса, которым доверяете и которые понимаете, из документации самого разработчика;
  • если документация молчит, спросите, что именно отправляет советник;
  • удаляйте записи, которыми больше не пользуетесь.

Это отдельный переключатель, не путайте его с «Разрешить импорт DLL»: для незнакомых советников MetaQuotes советует держать импорт DLL выключенным.

Как проверить, что заработало?

  1. Откройте вкладку «Эксперты» (Ctrl+T открывает окно «Инструменты»). После следующего запроса советника строки с 4014 быть не должно.
  2. Посмотрите собственный статус советника, если он есть.
  3. Запустите тестовый скрипт. В MetaEditor выберите «Файл → Создать → Скрипт», вставьте код, нажмите F7 и перетащите скрипт на график:
void OnStart()
{
   string url = "https://www.mql5.com";   // адрес, который есть в вашем списке
   char post[], result[];
   string headers;
   ResetLastError();
   int code = WebRequest("GET", url, NULL, NULL, 5000, post, 0, result, headers);
   Print("HTTP code: ", code, ", GetLastError: ", GetLastError());
}

WebRequest возвращает HTTP-код ответа сервера или -1 при системной ошибке (книга по MQL5, выше). Любой код, даже 404, значит, что запрос вышел из терминала и сервер ответил. Если -1, смотрите номер ошибки: 4014 или 5200–5203.

Пример: адрес лицензии Midas

Мы делаем Midas — советник для MT5, который торгует золотом (XAUUSD) на хеджевых центовых счетах. Инструкция по установке (шаг 6) просит одну запись в списке, https://lic.midasgrid.com, и тот же адрес стоит в параметре LicenseServer вашего .set-файла (как загрузить set-файл). Загрузка .set-файла не добавляет адрес в список: список — настройка самого терминала.

Midas проверяет ключ на нашем сервере не чаще раза в час. Страница о конфиденциальности перечисляет, что несёт проверка: номер счёта, лицензионный ключ, версию советника, сборку терминала и символ графика, плюс IP-адрес, который видит сервер. Там же сказано, что это единственный запрос советника к нам и что баланс, ордера и история сделок не отправляются.

Если в журнале «Эксперты» написано, что WebRequest не разрешён: повторите шаг 6 и проверьте каждый символ (https://, без пробелов, ничего после .com). Затем, когда корзины нет, нажмите F3, удалите переменные, имя которых начинается с Midas_Lic_, и снова прикрепите Midas, иначе следующая проверка может ждать до часа. Те же шаги есть в блоке «Если не работает» инструкции по установке; если советник молчит по другим причинам, смотрите «Устранение неполадок».

Что может пойти не так?

  • Непроверенный адрес. Сервер из списка может получить всё, что отправит код советника. Каждая запись — это разрешение, которое вы выдаёте.
  • Сервер недоступен. Запрос падает (скорее всего, с 5201 или 5202) либо возвращает HTTP-код ошибки, а что советник делает в этом случае, решает его автор.
  • Рабочая проверка ничего не говорит о риске. Зелёный статус лицензии значит лишь, что советнику можно работать. Мартингейл-сетка связана с риском: при недостаточном депозите возможен стоп-аут; см. «Риск, прямо».

Источники: справочник MQL5 (WebRequest() и ошибки времени выполнения), книга по MQL5 (раздел об обмене данными с веб-сервером по HTTP/HTTPS), справка MetaTrader 5, темы форума MQL5 по ссылкам выше, инструкция по установке Midas; всё получено 8 октября 2026. Это инструкция по настройке, а не прогноз и не индивидуальная инвестиционная рекомендация. Торговля с плечом связана с риском: если депозита не хватает, возможен стоп-аут. Подбирайте депозит с запасом.

FAQ

Как добавить адрес в список разрешённых для WebRequest в MT5?

Откройте Сервис → Настройки (Ctrl+O), вкладку «Советники», отметьте «Разрешить WebRequest для следующих URL», щёлкните пустую строку списка, вставьте точный адрес, к которому ходит советник, нажмите Enter и OK. Копируйте адрес из документации советника вместе с https:// и добавляйте только хост, без пути к странице, если разработчик не требует иного. Если запись не сохранилась, проверьте галочку и кнопку OK.

Что значит ошибка 4014 в MT5?

Это ERR_FUNCTION_NOT_ALLOWED, «Системная функция не разрешена для вызова». Справочник называет одну причину, вызов WebRequest из индикатора, и сообщает, что в тестере стратегий функция не выполняется. Ответы на форуме указывают на адрес, которого нет в списке разрешённых: проверьте его в Сервис → Настройки → Советники. Сначала убедитесь, что вызов идёт не из индикатора и не из тестера.

Можно ли проверить в тестере стратегий MT5 советник, который использует WebRequest?

Сам веб-запрос в тестере не проверить: в справочнике MQL5 сказано, что WebRequest() в тестере стратегий не выполняется, поэтому список адресов там ничего не решает. Советник, которому нужен веб-сервер, можно проверить на демо-графике в обычном терминале. Как конкретный советник ведёт себя в тестере, решает его автор. Если список настроен верно, а ошибка есть только в тестере, это ожидаемо.

Почему советник не подключается к серверу в MT5?

Сначала прочитайте номер ошибки. 4014 указывает на список разрешённых адресов, индикатор или тестер. 5200 значит, что URL не прошёл проверку: перепроверьте символы. 5201 — не удалось подключиться, 5202 — таймаут, 5203 — запрос не удался; это похоже на сетевую причину: брандмауэр, прокси, антивирус или недоступный сервер. Список лечит только 4014, сеть чинят на стороне VPS или провайдера.

Чем рискуете, добавляя адрес в список WebRequest?

Каждая запись — разрешение: советник, который работает в этом терминале, может отправлять запросы на этот сервер. Список определяет, куда можно слать данные, а что слать, решает код советника, и он видит номер счёта, баланс и открытые сделки. Добавляйте только адреса, которым доверяете, из документации разработчика, и удаляйте ненужные записи.