Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
При запуске тестера mcp возвращает run_id:
[ { "type": "text", "text": "{ \"ok\": true, \"run_id\": 7678002216842818227 }" } ]Но ассистент не может получить статус(tester_get_status) и отчёт(tester_get_report) по причине, что происходит обрезание числа run_id:
{"run_id":7678002216842818}Потеряны 3 последние цифры. Видимо, баг LM Studio. Проверил с другим ассистентом - такая же ошибка.
Прошу уменьшить количество разрядов, используемых для run_id.
uint32_t fast_div_86400_u35(uint64_t x) { // Входное условие: x < (1ULL << 35) // Вычисление происходит строго внутри 64-битных регистров uint64_t prod = x * 0xBD24E47ULL; // Итоговый сдвиг на 44 бита return (uint32_t)(prod >> 44); }Якобы быстрое деление 35-битных чисел на 86400. Так можно посчитать количество дней в datetime-переменной.
Совсем лаконичный код. И он неправильный.
Черт знает, что может быть в более длинных кодах.
Приведу результат моих раскопок. Часть для обсуждения.
В инфраструктуре MetaTrader 5 и MetaEditor порты диапазона около 22345 (например, 22435 и 22436) обычно используются не для стандартного протокола MCP, а для внутренних межпроцессных коммуникаций, удаленного управления, облачной сети MQL5 Cloud Network или взаимодействия между терминалом и редактором.
Вот к чему они относятся и в чем их различие:
1. Назначение портов в экосистеме MetaTrader
MetaTrader 5 активно использует сеть (даже на локальном компьютере через localhost) для связи различных модулей:
- Терминал (terminal64.exe)
- Редактор (metaeditor64.exe)
- Локальный агент тестера (mql5cloudserver.exe / агенты тестирования)
2. В чем различие между 22435 и 22436?
Когда вы запускаете сервисы терминала, компиляции или сетевые службы (например, агенты тестирования или удаленный доступ), приложения динамически или по умолчанию резервируют последовательные пары портов:
- Первый порт (например, 22435): Обычно выделяется под основной управляющий канал (командный интерфейс, передача заданий, синхронизация состояния между редактором и терминалом, либо запросы к локальному агенту тестирования).
- Второй порт (например, 22436): Используется для сопутствующего или дочернего потока (например, передача потока данных, результатов тестирования, логов, пинг/статус соединения или служебный канал передачи файлов).
3. Для кого они предназначены?
1. Для внутренних служб MetaTrader (MQL5 Cloud / Tester Agents): Если вы задействуете локальные или сетевые агенты тестера стратегий, они поднимают сетевые службы на фиксированных или динамических портах для распределения вычислительных задач оптимизации.
2. Для плагинов и утилит интеграции: Сторонние мосты, IDE-плагины (например, интеграция с VS Code) или служебные модули могут использовать эти порты для отладки и обмена данными с запущенными терминалами.
Резюме для разработчика:
- Порты 22435 и 22436 не являются стандартными портами для внешних MCP-клиентов (вроде Claude Desktop по SSE).
- Это служебные порты экосистемы MetaTrader/MetaEditor для внутреннего межпроцессного взаимодействия или сервисов тестирования.
- Вмешиваться в их работу или перенастраивать их вручную без прямой необходимости не рекомендуется, так как это нарушит связь между терминалом, редактором и тестером стратегий.Для подключения внешнего агента (например, клиента MCP, такого как Claude Desktop, Cursor, пользовательское приложение на Python/Node.js) к MCP-серверам MetaTrader 5 (MT5), используется стандартный протокол Model Context Protocol (MCP) по одному из поддерживаемых транспортов: stdio (стандартный ввод-вывод) или SSE (Server-Sent Events / HTTP).
Далее по подключению.
Ниже приведено подробное руководство о том, как настроить внешнее подключение.
1. Архитектура подключения
MCP-сервер для MetaTrader 5 выступает в роли моста (сервера), который запускается на вашей машине (или в контейнере) и предоставляет инструменты (tools) для работы с терминалом MT5 (просмотр котировок, позиций, истории, запуск тестера и т.д.).
Внешний агент выступает в роли MCP-клиента.
2. Варианты транспорта
Вариант А: Подключение через stdio (Рекомендуемый для локальных агентов)
При этом варианте MCP-клиент (например, Claude Desktop) запускает исполняемый файл MCP-сервера напрямую как дочерний процесс и общается с ним через стандартные потоки ввода-вывода (stdin/stdout).
Пример конфигурации в файле настроек клиента (например, claude_desktop_config.json):
{ "mcpServers": { "metatrader5": { "command": "node", "args": [ "C:/path/to/your/metatrader-mcp-server/dist/index.js" ], "env": { "MT5_PATH": "C:/Program Files/MetaTrader 5/terminal64.exe" } } } }(Вместо node и пути к JS-скрипту может использоваться путь к вашему бинарному файлу на Python, Go или C# в зависимости от реализации MCP-сервера MT5).
Вариант Б: Подключение через HTTP / SSE
Если ваш агент работает удаленно или в другом контейнере/процессе, MCP-сервер запускается как веб-сервер с поддержкой SSE (Server-Sent Events).
1. Запустите MCP-сервер MT5 с поддержкой SSE (обычно через указание порта, например --port 8080).
2. В конфигурации клиента укажите URL:
{ "mcpServers": { "metatrader5-remote": { "url": "http://localhost:8080/sse" } } }3. Обярзательные требования для работы с MT5
1. Запущенный терминал MetaTrader 5:
MCP-сервер взаимодействует с запущенным торговым терминалом через Python-библиотеку MetaTrader5 (или напрямую через WinAPI/IPC). Убедитесь, что терминал запущен на том же ПК и в настройках разрешен автоматический трейдинг (в самом терминале: Сервис -> Настройки -> Советники -> Разрешить автоматический трейдинг).
2. Пре-фрейт (Pre-flight check):
При старте сессии агент обязан инициализировать подключение через инструмент get_workspace_info (или аналогичный), чтобы проверить доступные пути, права на чтение/запись и статус соединения с терминалом.
4. Безопасность и ограничения
- Файловая песочница: Операции с файлами (MQL5-скрипты, эксперты, индикторы) строго ограничены рабочими каталогами терминала (обычно папка MQL5/).
- Торговые операции: Инструменты отправки рыночных и отложенных ордеров (trade_send_market_order, trade_close_single_position и др.) требуют явного подтверждения пользователя и соблюдения правил риск-менеджмента (наличие Stop Loss, проверка объема лота и т.д.).То, что MetaTrader 5 (терминал) и MetaEditor 5 (редактор) настроены на один и тот же порт (например, 22345), но при этом имеют различные IP-ключи (токены / ключи авторизации или привязки интерфейса), является абсолютно нормальной и архитектурно правильной ситуацией в экосистеме MetaTrader.
И далее:
Вот основные причины и объяснения, как это работает:
1. Это два независимых приложения (процесса)
Хотя MetaTrader 5 и MetaEditor тесно связаны друг с другом, запускаются из одной папки и часто открываются кнопкой из терминала, это два разных исполняемых файла (terminal64.exe и metaeditor64.exe).
- Каждый из них поднимает свой собственный внутренний сервер/интерфейс для взаимодействия (включая поддержку протоколов автоматизации, плагинов или MCP).
- Поскольку это два разных процесса в ОС, они не могут одновременно слушать один и тот же TCP-порт на уровне операционной системы, если оба пытаются принимать входящие подключения как серверы (в зависимости от реализации моста). Однако, если они работают как локальные службы или разные конечные точки, совпадение номера порта обусловлено единым стандартом конфигурации среды разработки.
2. Разделение ролей и безопасности (Различные IP-ключи)
IP-ключи, токены или маркеры авторизации служат для разграничения доступа и безопасности:
- MetaEditor отвечает за работу с исходным кодом (.mq5, .mqh), компиляцию, проекты и отладку. Ключ редактора гарантирует, что внешние инструменты разработки или агенты имеют доступ именно к среде написания кода и компилятору.
- MetaTrader отвечает за торговый терминал, ордера, котировки, историю и Strategy Tester. Ключ терминала защищает торговый контур и финансовую информацию.
- Разные ключи гарантируют, что агент (или внешний клиент), имеющий доступ к компиляции кода в редакторе, не сможет автоматически или случайно получить полный бесконтрольный доступ к торговому счёту в терминале без отдельной авторизации (и наоборот).
3. Как это использовать на практике
Если вы настраиваете внешнего агента (например, через MCP-клиент), вам нужно учитывать разделение их ролей:
- Если агент должен компилировать код и искать файлы, он обращается к сервису MetaEditor (используя порт и IP-ключ редактора).
- Если агент должен получать котировки, историю, проверять позиции или запускать тестер, он обращается к сервису MetaTrader (используя тот же или выделенный порт и IP-ключ терминала).
Убедитесь, что в конфигурационном файле вашего агента (или MCP-сервера) прописаны корректные ключи для каждого из приложений раздельно, так как смешивание ключей приведет к ошибке авторизации (Unauthorized / Access Denied).В инфраструктуре MetaTrader 5 и MetaEditor порты диапазона около 22345 (например, 22435 и 22436) обычно используются не для стандартного протокола MCP, а для внутренних межпроцессных коммуникаций, удаленного управления, облачной сети MQL5 Cloud Network или взаимодействия между терминалом и редактором.
Вот к чему они относятся и в чем их различие:
1. Назначение портов в экосистеме MetaTrader
MetaTrader 5 активно использует сеть (даже на локальном компьютере через localhost) для связи различных модулей:
- Терминал (terminal64.exe)
- Редактор (metaeditor64.exe)
- Локальный агент тестера (mql5cloudserver.exe / агенты тестирования)
2. В чем различие между 22435 и 22436?
Когда вы запускаете сервисы терминала, компиляции или сетевые службы (например, агенты тестирования или удаленный доступ), приложения динамически или по умолчанию резервируют последовательные пары портов:
- Первый порт (например, 22435): Обычно выделяется под основной управляющий канал (командный интерфейс, передача заданий, синхронизация состояния между редактором и терминалом, либо запросы к локальному агенту тестирования).
- Второй порт (например, 22436): Используется для сопутствующего или дочернего потока (например, передача потока данных, результатов тестирования, логов, пинг/статус соединения или служебный канал передачи файлов).
3. Для кого они предназначены?
1. Для внутренних служб MetaTrader (MQL5 Cloud / Tester Agents): Если вы задействуете локальные или сетевые агенты тестера стратегий, они поднимают сетевые службы на фиксированных или динамических портах для распределения вычислительных задач оптимизации.
2. Для плагинов и утилит интеграции: Сторонние мосты, IDE-плагины (например, интеграция с VS Code) или служебные модули могут использовать эти порты для отладки и обмена данными с запущенными терминалами.
Резюме для разработчика:
- Порты 22435 и 22436 не являются стандартными портами для внешних MCP-клиентов (вроде Claude Desktop по SSE).
- Это служебные порты экосистемы MetaTrader/MetaEditor для внутреннего межпроцессного взаимодействия или сервисов тестирования.
- Вмешиваться в их работу или перенастраивать их вручную без прямой необходимости не рекомендуется, так как это нарушит связь между терминалом, редактором и тестером стратегий.
Что я понял из длительных препираний с ассистентом:
1. Теперь и терминал, и эдитор работают через один порт: либо 22 345, либо 302 346, но с разными ключами. Может быть, это ошибочное, моё мнение.
2. Теперь внешний агент работает через локально запущенный собственный агент goos . Для этого у меня в систему была установлена документация по этому агенту.Узнал случайно из раскопок с агентами.
3. Пока не смог настроить новое подключение. Работаю через питон-интеграцию.
Если кому-то удалось настроить, запустить или какие-то новые данные, вы скиньте сюда решение.
И последние. Приведу список изменений и дополнений, которые разработчики добавили в ассистент и которые мне удалось добыть .
В текущей сессии я подключён к следующим MCP-серверам и расширениям:
1. MetaEditor 5 / MetaTrader 5 MCP ( metaeditor5 / metatrader5 )
2. Market Data MCP ( marketdata )
3. Вспомогательные сервисы и расширения
1. Интеллектуальный анализ кода ( analyze )
2. Управление расширениями ( extensionmanager )
1. Анализ и инспекция кода ( analyze и developer )
2. Управление расширениями ( extensionmanager )
3. Навыки и автоматизация процессов ( skills )
В среде предустановлен набор методологий и сценариев:
4. Делегирование и субагенты (`summonНиже представлен полный обзор вспомогательных сервисов и расширений, доступных в текущей сессии:
1. Анализ и инспекция кода ( analyze , developer )
2. Управление расширениями ( extensionmanager )
3. Библиотека методологий и навыков ( skills )
4. Субагенты и делегирование ( summon / delegate )
5. Управление задачами и UI ( todo , apps )
Более детально:
. Вспомогательные сервисы и расширения
1. Интеллектуальный анализ кода ( analyze )
2. Управление расширениями ( extensionmanager )
1. Анализ и инспекция кода ( analyze и developer )
2. Управление расширениями ( extensionmanager )
3. Навыки и автоматизация процессов ( skills )
В среде предустановлен набор методологий и сценариев:
4. Делегирование и субагенты (`summonНиже представлен полный обзор вспомогательных сервисов и расширений, доступных в текущей сессии:
1. Анализ и инспекция кода ( analyze , developer )
2. Управление расширениями ( extensionmanager )
3. Библиотека методологий и навыков ( skills )
4. Субагенты и делегирование ( summon / delegate )
5. Управление задачами и UI ( todo , apps )
1. MetaTrader 5 и MQL5
2. Платформа агента (Goose) и система расширений
3. Встроенные навыки и методологии (GSD, SDD, Code Review)
Полные спецификации и руководства по этим методологиям заложены непосредственно в саму среду. Их можно изучать прямо в диалоге:
4. Как посмотреть документацию прямо сейчас
Если вас интересует конкретный навык, инструмент или процесс (например, как работает планировщик gsd-planner , алгоритм ревью judgment-day или правила написания MQL5-советников):
Постоянно получаю ошибку Resource not found (404) от серверов InferDeck (api1 и api4).
Перезапуск и повторное включение не помогли. MetaEditor работает нормально.
Подскажите, пожалуйста, есть ли сейчас сбой сервиса и когда его исправят? Спасибо!