Обсуждение статьи "Преодоление проблем доступности в торговых инструментах на MQL5 (Часть IV): Удаленная голосовая торговля"

 

Опубликована статья Преодоление проблем доступности в торговых инструментах на MQL5 (Часть IV): Удаленная голосовая торговля:

Узнайте о практическом способе выполнения сделок в MetaTrader 5 из голосовых сообщений Telegram с помощью промежуточного ПО на Python и советника MQL5, выступающего в качестве HTTP-клиента. В статье рассматриваются архитектура, опрос WebRequest, очереди в памяти, парсинг JSON с удалением нулевых символов-терминаторов и ограниченная грамматика команд с размером лота по умолчанию 0,001. Вы настроите среду и проверите задержку передачи данных, подходящую для мобильных интернет-соединений.

Голосовой советник, идеально работающий за вашим рабочим столом (Часть III, автономный Vosk), теряет все возможности удаленного управления, как только вы отходите. Ваш мобильный телефон не может выполнять логику MQL5 — среда выполнения предназначена только для настольных компьютеров. Ручное вмешательство при торговом сетапе с высокой вероятностью успеха становится невозможным во время поездок на работу, приготовления пищи или в условиях многозадачности. В этой статье описывается полуавтоматизированный конвейер обеспечения доступности, который позволяет вам произносить команду для совершения сделки из любого места, и ваш терминал MetaTrader 5 будет выполнять ее по HTTP-каналу с низкой пропускной способностью.

У вас уже есть терминал MetaTrader 5, работающий на компьютере с Windows, с установленным Market Watch, установленной средой советника и автономной системой голосового управления (Vosk из Части III), которая работает локально. Терминал может отправлять вызовы WebRequest (HTTP-клиент) на разрешенный URL-адрес. Трейдер физически находится за рабочим столом и может произнести команду, которую советник мгновенно выполнит.

Когда вы отходите от рабочего стола, терминал остается в сети, но нет возможности передавать ему команды. Голосовые сообщения в Telegram — это естественный способ удалённого ввода: вы записываете голосовое сообщение, и оно отправляется боту, но ничто не связывает его со средой выполнения MetaTrader 5. Цель состоит в том, чтобы замкнуть цикл: голосовое сообщение → расшифровка → команда JSON → HTTP-конечная точка → опрос советника → открытие сделки → результат обратно в Telegram. И все это без необходимости касаться рабочего стола.

Мы представляем промежуточное ПО на Python, которое выступает в роли бота Telegram и локального HTTP-сервера. Бот получает голосовые сообщения, преобразует их в текст с помощью Google STT, анализирует простую команду на естественном языке и добавляет ее в очередь. Отдельный HTTP-эндпоинт передает эту команду советнику. Советник опрашивает этот эндпоинт каждые две секунды, исполняет сделку с помощью CTrade и отправляет результат обратно по POST. Вся цепочка добавляет менее 3 секунд задержки и работает через мобильные данные (< 5 КБ на сделку). Система обеспечивает конфиденциальность: для ее работы не требуются ключи API облачных сервисов, кроме Telegram, и не взимается периодическая плата. Модуль преобразования речи в текст является взаимозаменяемым, поэтому в дальнейшем вы можете заменить его на офлайн-модель для еще большей независимости.


Автор: Clemence Benjamin