WebRequest В тестере стратегий

 

Добрый день!

Хотел бы узнать, как заставить работать WebRequest в тестере стратегий. Я так понимаю он зажимается для повышения производительности тестера, но мой эксперт основан на анализе внешних данных и без WebRequest совсем никак.

Или может быть есть альтернативная библиотека, которая железно делает веб-запросы при любых ситуациях? 

Помогите пожалуйста! Спасибо!

 

Да, в тестере эта функция не работает.

https://docs.mql4.com/ru/common/webrequest


Если совсем никак без обращений к удалённому серверу, то, пожалуй, только при помощи dll можно решить эту задачу...

WebRequest - Документация на MQL4
  • docs.mql4.com
WebRequest - Документация на MQL4
 
Sergey Eremin:

Да, в тестере эта функция не работает.

https://docs.mql4.com/ru/common/webrequest


Если совсем никак без обращений к удалённому серверу, то, пожалуй, только при помощи dll можно решить эту задачу...

На всякий случай: я имел ввиду mql5, но там та же ситуация: "При работе в тестере стратегий функция WebRequest() не выполняется.".

Пожалуйста подскажите подробнее, как через dll решить эту проблему? Что искать, читать? 

 
zabachok:

На всякий случай: я имел ввиду mql5, но там та же ситуация: "При работе в тестере стратегий функция WebRequest() не выполняется.".

Пожалуйста подскажите подробнее, как через dll решить эту проблему? Что искать, читать? 

Ну... для начала нужно владеть языком программирования, на котором пишутся dll :)

К пример C++, C#, Delphi. А дальше - дальше уже по выбранному языку искать как решить конкретно вашу задачу. Боюсь, я тут без конкретики (ЯП, пример запроса) не смогу ничего умнее сказать, чем "гугл в помощь".

Либо найти на фрилансе того, кто Вам поможет.

Хотя может тут ещё чего конкретного порекомендуют.

 
Sergey Eremin:

Ну... для начала нужно владеть языком программирования, на котором пишутся dll :)

К пример C++, C#, Delphi. А дальше - дальше уже по выбранному языку искать как решить конкретно вашу задачу. Боюсь, я тут без конкретики (ЯП, пример запроса) не смогу ничего умнее сказать, чем "гугл в помощь".

Либо найти на фрилансе того, кто Вам поможет.

Хотя может тут ещё чего конкретного порекомендуют.

Я все понял. Спасибо за ответ!
 
Сделайте собственную функцию-оболочку. В реале (!IsTesting()) эта функция вызывает WebRequest, в тестере (IsTesting()) эта функция пусть читает заготовленный Вами файл с тестовыми ответами
 
Я пользуюсь методами описанными здесь https://www.mql5.com/ru/articles/73 
Использование WinInet.dll для обмена данными между терминалами через Интернет
Использование WinInet.dll для обмена данными между терминалами через Интернет
  • 2010.05.05
  • o_O
  • www.mql5.com
В статье рассматриваются принципы работы с Интернет посредством HTTP запросов и обмен данными между терминалами с использованием промежуточного сервера. Представлен библиотечный класс MqlNet для работы с ресурсами Интернет в среде MQL5. Мониторинг цен от разных брокеров, обмен сообщениями с другими трейдерами не выходя из терминала, поиск информации в Интернете - вот только некоторые примеры, рассматриваемые в этой статье.
 

Как это поможет в тестере?

Никак.

Скорее введёт в заблуждение

 

Ну например индикатор, который при помощи wininet.dll качает новости каждый понедельник в полночь и рисует на неделю вперед.

Только что прокрутил, работает вполне в тестере. Разумеется зависает на несколько секунд качая файл, читая и создавая новости и т.д., но все же для меня это решение вопроса.

Безусловно, если обращаться с запросомами чаще, скорость тестирования падает. 

 
zabachok:

Добрый день!

Хотел бы узнать, как заставить работать WebRequest в тестере стратегий. Я так понимаю он зажимается для повышения производительности тестера, но мой эксперт основан на анализе внешних данных и без WebRequest совсем никак.

Или может быть есть альтернативная библиотека, которая железно делает веб-запросы при любых ситуациях? 

Помогите пожалуйста! Спасибо!

а ты запрос например на питоне напиши, запускай экзешник при тестировании и получай ответ.
или советник пишет запросы в файл, скрипт на питоне читает файл с запросами, шлет их, ответы записывает в другой файл
твой советник получает из него ответы. возможно это проще, чем мутить dll 
(но сам не пробовал)

Причина обращения: