Обсуждение статьи "Введение в Connexus (Часть 1): Как использовать функцию WebRequest?"

 

Опубликована статья Введение в Connexus (Часть 1): Как использовать функцию WebRequest?:

Настоящая статья является началом серии разработок для библиотеки под названием “Connexus”, предназначенной для облегчения выполнения HTTP-запросов с помощью MQL5. Цель настоящего проекта - предоставить конечному пользователю такую возможность и показать, как использовать эту вспомогательную библиотеку. Я намеревался сделать его как можно более простым, чтобы облегчить изучение и обеспечить возможность для будущих разработок.

Функция WebRequest открывает широкий спектр возможностей для интеграции с внешними сервисами. Эта функция позволяет экспертам напрямую взаимодействовать с Интернетом - от сбора финансовых данных, которые могут быть необходимы для принятия автоматических торговых решений, до полной автоматизации процессов. Это позволяет, например, вашему торговому роботу получать информацию в режиме реального времени из внешних источников, такую как экономические новости или рыночные данные с других платформ. Такие данные можно обработать и использовать для автоматической корректировки ваших торговых стратегий, что повышает как точность, так и эффективность ваших операций.

Однако, как будет продемонстрировано в представленных примерах, использование функции WebRequest может оказаться нетривиальным. Отправка HTTP-запроса может показаться простой, но вы быстро столкнетесь с техническими проблемами, такими как отправка корректных заголовков, форматирование данных в формате JSON, правильная обработка ответов сервера и даже устранение ошибок и исключений, которые могут возникнуть во время коммуникации. Такие проблемы покажут, что, несмотря на свою мощность, функция требует глубокого понимания протоколов и взаимодействия между системами, что может стать серьезным препятствием для разработчиков, которые только начинают осваивать эту область.


Автор: joaopedrodev

 

Здравствуйте, инженер joaopedrodev!

В любом случае, большое спасибо за эту очень интересную статью.

Но есть одна небольшая проблема. Дело в том, что когда я пытаюсь протестировать в реальных условиях код, который вы предоставили, а именно функцию "WebRequest" с методом POST, то запрос приходит без проблем на мой сервер. Только вот данные, переданные в параметрах (

"{\"key1\":\"value1\",\"key2\":\"value2\"}" 

), они не поступают на сервер. Возможно ли у вас есть идея, чтобы решить это? Спасибо

Автоматический перевод выполнен модератором. На англоязычном форуме, пожалуйста, пишите на английском языке. Либо используйте инструмент автоматического перевода, либо пишите на одном из других языковых форумов.
 
J M #:

Здравствуйте, инженер joaopedrodev!

В любом случае, большое спасибо за эту очень интересную статью.

Но есть одна небольшая проблема. Дело в том, что когда я пытаюсь протестировать в реальных условиях код, который вы предоставили, а именно функцию "WebRequest" с методом POST, то запрос приходит без проблем на мой сервер. Только вот данные, передаваемые в параметрах (

), они не поступают на сервер. Возможно ли у вас есть идея, чтобы решить это? Спасибо

Автоматический перевод применен модератором. На английском форуме, пожалуйста, пишите на английском. Либо используйте инструмент автоматического перевода, либо пишите на одном из других языковых форумов.

Привет @J M

Убедитесь, что вы отправляете эти данные в теле запроса, так что сервер будет правильно получать данные, которые вы хотите отправить. Я также прошу вас использовать последнюю версию библиотеки, которая прилагается в последней статье Connexus Observer (часть 8): Добавление наблюдателя запросов

J M
J M
  • 2024.06.19
  • www.mql5.com
Trader's profile
 
Меня тоже интересует проблема использования MT5 для DeFi. В целом я вижу, что MT5 при всей своей привлекательности (а именно, возможности писать инструменты встроенными средствами) не предназначен для работы без брокеров. именно брокеры оплачивают поддержку терминала, а для трейдеров он бесплатен. Существующие коммерческие проекты, которые позволяют свободно подключать внешние ресурсы, довольно дорого просят за своё использование. Хлеб трейдера обычно нерегулярен, поэтому постоянные расходы нам неуместны. WebRequest() изначально не удобен для загрузки котировок через API, потому что API у разных бирж-разные и не адптированы под WebRequest(). По сути WebRequest() это узконаправленный метод GET, Но в ответ приходит набор разнотипных данных, который нужно адаптировать  (лучше) в .csv, структурированный под MT5. Списки из Python гораздо лучше подходят для этого, чем массивы MQL. Но дело не в этом, а в том, что нам нужен символ в обзоре рынка, который мог бы грузить котировки из внешнего источника (SQL, например). Через советник это громоздко и требует подключения к левому брокеру. Так что свободное использование MT5 пока под вопросом, а WebRequest() - утопия.
 
Good Beer #:
Но дело не в этом, а в том, что нам нужен символ в обзоре рынка, который мог бы грузить котировки из внешнего источника (SQL, например).

Я для этой цели создал пользовательский символ и сервис, который в фоновом режиме занимается обновлением его истории посредством функций CustomRatesUpdate (через WebRequest) и CustomTicksAdd (через вебсокет).

Good Beer #:
Через советник это громоздко и требует подключения к левому брокеру.

Через советник действительно громоздко. Используйте сервис. Подключение к "левому" брокеру не требуется, получайте котировки сразу от того провайдера, где планируете торговать.

Good Beer #:
Так что свободное использование MT5 пока под вопросом, а WebRequest() - утопия.

Я использую МТ5 свободно, никаких вопросов не возникает. WebRequest хорошо справляется с нечастым обновлением истории и отправкой торговых запросов. Для обновления данных в реальном времени используйте вебсокеты.

 
Точно! Сервис! Я их не изучал и позабыл. Благодарю!