Вот её смысл в визуальной интерпретации. 1 это как сейчас и 2 как можно было бы исходя из стиля Visual Studio Code
Спасибо за пояснение. Я исходил из того, что где значок для свёртывания кода, там он полностью и будет свёрнут, но Вы пояснили, что это не так должно работать. Против правки не имею возражений.
для меня, не имеющего опыт программирования, это просто супер удобный инструмент
находит ошибки, объясняет, предлагает решения
просто правильно ставить задачи: сначала общий список проблем в коде, затем по каждой проблеме отдельно, просить в цикле искать решение.... то есть проверять свое предложение , делать тесты, проверять их и так до тех пор, пока не будет удовлетворительного решения (критерии, конечно, задавать подробные)
Баг-репорт: MT5 AI Assistant / MCP (Beta build 6033-6034)
1. WebView2 не рендерится под Wine на macOS (критично)
Симптомы (по нарастающей, наблюдал все стадии):
Изначально: WebView2 couldn't find WebView2 Runtime в Journal, панель AI Assistant пустая
После ручной установки полного Edge + правки реестра детекции: ошибка ушла, но панель осталасьсерой заглушкой
После смены аргументов запуска ( --no-zygote вместо --single-process ): панель сталапрозрачной— сквозь неё видно график на заднем плане (окно не композитится)
Окружение: Windows 11 build 22000 on Wine 11.1 Darwin 24.6.0 — это официальная сборка терминала от MetaQuotes (bundled Wine внутри MetaTrader5.dmg ), не самодельная. То есть баг воспроизводится на родном дистрибутиве MetaQuotes для macOS.
Что установлено верно (проверено побайтово): WebView2 Runtime 109.0.1518.78, полный Edge, win11-бутылка, msxml/vcrun/.NET4, ключи реестра детекции {F3017226-...} во всех трёх ветках (HKLM native/WOW6432/HKCU) с корректным pv .
Вопрос разработчикам: какой именно WebView2 Runtime и набор флагов запуска Chromium ожидает встроенный AI Assistant внутри их же .wine -бандла? Если это известная проблема совместимости Chromium-под-Wine — стоит явно задокументировать минимальные версии macOS/Wine, при которых AI Assistant вообще может работать.
2. MCP-сервер ( trade_send_market_order ) не поддерживает выбор filling mode → retcode 10030 на инструментах с ограниченной маской SYMBOL_FILLING_MODE
Воспроизведение:
Символ: BTCUSD на Tickmill-Demo, SYMBOL_FILLING_MODE бит-маска = 2 (только IOC, FOK не поддерживается)
Вызов trade_send_market_order (buy, 0.1 лот, без SL/TP) → ответ {"retcode": 10030, "retcode_details": "Invalid fill"}
Тот же ордер через самописный MQL5-скрипт с ручным переборомENUM_ORDER_TYPE_FILLING(IOC/FOK/RETURN по маске символа) — исполняется штатно
Причина: инструмент схемы trade_send_market_order не принимает параметр filling mode и, судя по поведению, жёстко использует один режим (похоже на FOK) без чтения SYMBOL_FILLING_MODE перед отправкой.
Предложение: добавить опциональный параметр filling_mode в схему инструмента, либо (лучше) реализовать авто-fallback внутри сервера — читать битовую маску символа и перебирать поддерживаемые режимы при retcode 10030, как это давно принято делать в любом торговом коде под MT5.
3. MCP-сервер не поднимается, если MetaEditor закрыт при старте Claude-сессии
Не баг терминала как такового, но стоит упомянуть как UX-проблему: MCP.MetaEditor (порт 22345) слушает только пока MetaEditor открыт. Если MCP-клиент подключается раньше, чем пользователь открыл MetaEditor, инструменты компиляции остаются недоступны до перезапуска клиента. Разумно: держать сервер живым (или хотя бы порт открытым с очередью) даже когда окно MetaEditor не активно, раз уж это заявлено как «внутренний сервер».
Alex FXPIP #: Разумно: держать сервер живым (или хотя бы порт открытым с очередью) даже когда окно MetaEditor не активно, раз уж это заявлено как «внутренний сервер».
Между прочим внутренние MCP самого Claude устроены также - например, MCP Chrome "не поднимается" пока приложение Chrome.exe не запущено. И он сам не сообразил, что его нужно запустить, чтобы MCP заработало, пришлось явно прописывать это в claude.md. Рекомендую то же самое сделать для metaeditor64.exe, если тут такая же история
Тот же самый ID, переданный обратно в chart_apply_template или chart_close , отклоняется обоими инструментами без объяснения причины
Причина: в схеме MCP-инструментов chart_id объявлен как "type": "number" — это IEEE-754 double, точное представление целых чисел только до 2^53 (≈9×10¹⁵). MT5 отдаёт chart_id как 64-битный long , реальные значения на 1–2 порядка больше этого предела → при сериализации в JSON число округляется, и сервер потом не находит график с «своим же» ID
Итог:накинуть индикатор через .tpl -шаблон нельзя в принципе— не только на чужой график, а вообще ни на один, потому что даже штатно созданный чарт закрыть/зашаблонить не получается
Фикс:передавать chart_id строкой (или int64 нативно в транспорте), а не JSON number
2. Нет вообще инструмента «прикрепить индикатор/советник к графику» напрямую
В списке из 38 инструментов MCP-сервера MetaTrader есть chart_open , chart_close , chart_apply_template — и всё. Нет attach_indicator / attach_expert / run_script
Единственный обходной путь — собрать .tpl -файл вручную и применить его через chart_apply_template , но (а) формат .tpl длякастомныхиндикаторов (не встроенных) нигде не задокументирован и не совпадает 1-в-1 с тем, что сохраняет сам терминал, и (б) даже это упирается в баг №1 выше
Советника (EA) прикрепить к живому графику через MCP вообще невозможно ни одним способом — только через Strategy Tester ( tester_run_backtest ), что не то же самое, что живой запуск на графике
Что нужно: добавить в MCP-сервер MetaTrader прямые инструменты chart_attach_indicator(chart_id, indicator_path, inputs) и chart_attach_expert(chart_id, expert_path, inputs) , аналогично тому, как это делает IndicatorCreate / ExpertAdd изнутри MQL5 — без необходимости городить .tpl -файлы руками и без обхода через баг с chart_id.
Ilya Malev #: Между прочим внутренние MCP самого Claude устроены также - например, MCP Chrome "не поднимается" пока приложение Chrome.exe не запущено. И он сам не сообразил, что его нужно запустить, чтобы MCP заработало, пришлось явно прописывать это в claude.md. Рекомендую то же самое сделать для metaeditor64.exe, если тут такая же история
Да, согласен насчёт MetaEditor — это ровно та же история, что с Chrome MCP: сервер на порту 22345 просто не поднимается, пока MetaEditor64.exe не запущен, а обнаружить и сообразить это самостоятельно ИИ не может. Тут поможет либо явный текст ошибки при недоступном порте («MetaEditor MCP requires MetaEditor64.exe running»), либо автозапуск MetaEditor терминалом при первом обращении к его MCP — «пропиши в CLAUDE.md» тут не сработает, потому что это не мой проектный файл, а ваш сервер, к нему пользовательская инструкция не применится.
А вот два других найденных бага к этой истории не относятся — их запуском чего-либо не починить:
chart_id теряет точность. chart_open возвращает 64-битный ID (18 цифр), а в JSON-схеме параметр объявлен как "type": "number" — это double, точные целые только до 2^53. Реальный ID в разы больше этого предела, округляется при сериализации, и chart_apply_template / chart_close потом не находят график с «его же» ID. Это никак не связано с тем, запущен MetaEditor или нет — воспроизводится всегда. Чинится сменой типа параметра на string (или int64 в транспорте).
Нет инструментов attach_indicator/attach_expert. Единственный путь повесить что-то на график — собирать .tpl руками через chart_apply_template , а формат .tpl для кастомных индикаторов не задокументирован. Это отсутствующая функциональность сервера, а не проблема обнаружения сервиса.
в терминале, в навигаторе, сбита индексация как минимум в скриптах:
Если попытаться запустить скрипт Scripts/Group/xxx, то есть скрипт из под-каталога - то запуститься не он а тот который рядом. Что двойным кликом запускать что перетаскиванием на график.
Если не мышкой а просто навигация клавиатурой и нажать ввод то тоже откроется не то что выбрано а то что рядом
Потому что я не понял Вашу просьбу, видимо.
Вот её смысл в визуальной интерпретации. 1 это как сейчас и 2 как можно было бы исходя из стиля Visual Studio Code
Вот её смысл в визуальной интерпретации. 1 это как сейчас и 2 как можно было бы исходя из стиля Visual Studio Code
Каюсь 😊
Всё-же, хотелось чтобы штатные функции преобразования работали супер-быстрее, сейчас они работают со скоростью бега моей 89-летней бабки.
для меня, не имеющего опыт программирования, это просто супер удобный инструмент
находит ошибки, объясняет, предлагает решения
просто правильно ставить задачи: сначала общий список проблем в коде, затем по каждой проблеме отдельно, просить в цикле искать решение.... то есть проверять свое предложение , делать тесты, проверять их и так до тех пор, пока не будет удовлетворительного решения (критерии, конечно, задавать подробные)
респект прогам за этот механизм
Баг-репорт: MT5 AI Assistant / MCP (Beta build 6033-6034)
1. WebView2 не рендерится под Wine на macOS (критично)
Симптомы (по нарастающей, наблюдал все стадии):
Окружение: Windows 11 build 22000 on Wine 11.1 Darwin 24.6.0 — это официальная сборка терминала от MetaQuotes (bundled Wine внутри MetaTrader5.dmg ), не самодельная. То есть баг воспроизводится на родном дистрибутиве MetaQuotes для macOS.
Что установлено верно (проверено побайтово): WebView2 Runtime 109.0.1518.78, полный Edge, win11-бутылка, msxml/vcrun/.NET4, ключи реестра детекции {F3017226-...} во всех трёх ветках (HKLM native/WOW6432/HKCU) с корректным pv .
Вопрос разработчикам: какой именно WebView2 Runtime и набор флагов запуска Chromium ожидает встроенный AI Assistant внутри их же .wine -бандла? Если это известная проблема совместимости Chromium-под-Wine — стоит явно задокументировать минимальные версии macOS/Wine, при которых AI Assistant вообще может работать.
2. MCP-сервер ( trade_send_market_order ) не поддерживает выбор filling mode → retcode 10030 на инструментах с ограниченной маской SYMBOL_FILLING_MODE
Воспроизведение:
Причина: инструмент схемы trade_send_market_order не принимает параметр filling mode и, судя по поведению, жёстко использует один режим (похоже на FOK) без чтения SYMBOL_FILLING_MODE перед отправкой.
Предложение: добавить опциональный параметр filling_mode в схему инструмента, либо (лучше) реализовать авто-fallback внутри сервера — читать битовую маску символа и перебирать поддерживаемые режимы при retcode 10030, как это давно принято делать в любом торговом коде под MT5.
3. MCP-сервер не поднимается, если MetaEditor закрыт при старте Claude-сессии
Не баг терминала как такового, но стоит упомянуть как UX-проблему: MCP.MetaEditor (порт 22345) слушает только пока MetaEditor открыт. Если MCP-клиент подключается раньше, чем пользователь открыл MetaEditor, инструменты компиляции остаются недоступны до перезапуска клиента. Разумно: держать сервер живым (или хотя бы порт открытым с очередью) даже когда окно MetaEditor не активно, раз уж это заявлено как «внутренний сервер».
Разумно: держать сервер живым (или хотя бы порт открытым с очередью) даже когда окно MetaEditor не активно, раз уж это заявлено как «внутренний сервер».
Баг: MCP-сервер MetaTrader не даёт ИИ повесить индикатор или советник на график
1. Индикатор — chart_id ломается из-за потери точности в JSON
2. Нет вообще инструмента «прикрепить индикатор/советник к графику» напрямую
Что нужно: добавить в MCP-сервер MetaTrader прямые инструменты chart_attach_indicator(chart_id, indicator_path, inputs) и chart_attach_expert(chart_id, expert_path, inputs) , аналогично тому, как это делает IndicatorCreate / ExpertAdd изнутри MQL5 — без необходимости городить .tpl -файлы руками и без обхода через баг с chart_id.
Между прочим внутренние MCP самого Claude устроены также - например, MCP Chrome "не поднимается" пока приложение Chrome.exe не запущено. И он сам не сообразил, что его нужно запустить, чтобы MCP заработало, пришлось явно прописывать это в claude.md. Рекомендую то же самое сделать для metaeditor64.exe, если тут такая же история
Да, согласен насчёт MetaEditor — это ровно та же история, что с Chrome MCP: сервер на порту 22345 просто не поднимается, пока MetaEditor64.exe не запущен, а обнаружить и сообразить это самостоятельно ИИ не может. Тут поможет либо явный текст ошибки при недоступном порте («MetaEditor MCP requires MetaEditor64.exe running»), либо автозапуск MetaEditor терминалом при первом обращении к его MCP — «пропиши в CLAUDE.md» тут не сработает, потому что это не мой проектный файл, а ваш сервер, к нему пользовательская инструкция не применится.
А вот два других найденных бага к этой истории не относятся — их запуском чего-либо не починить:
chart_id теряет точность. chart_open возвращает 64-битный ID (18 цифр), а в JSON-схеме параметр объявлен как "type": "number" — это double, точные целые только до 2^53. Реальный ID в разы больше этого предела, округляется при сериализации, и chart_apply_template / chart_close потом не находят график с «его же» ID. Это никак не связано с тем, запущен MetaEditor или нет — воспроизводится всегда. Чинится сменой типа параметра на string (или int64 в транспорте).
Нет инструментов attach_indicator/attach_expert. Единственный путь повесить что-то на график — собирать .tpl руками через chart_apply_template , а формат .tpl для кастомных индикаторов не задокументирован. Это отсутствующая функциональность сервера, а не проблема обнаружения сервиса.
в терминале, в навигаторе, сбита индексация как минимум в скриптах:
Если попытаться запустить скрипт Scripts/Group/xxx, то есть скрипт из под-каталога - то запуститься не он а тот который рядом. Что двойным кликом запускать что перетаскиванием на график.
Если не мышкой а просто навигация клавиатурой и нажать ввод то тоже откроется не то что выбрано а то что рядом