Новая версия платформы MetaTrader 5 build 6090: общие улучшения - страница 7

 

Несколько вопросов по настройке AI асистента:

1. У провайдера OpenRouter:

         нет моделей DeepSeek 4 flash, pro and Last(:0731). Какие то ограничения?

         нет моделей от провайдера nvidia nim. 

Желательно  было бы добавить. 

2. Добавить провайдеров : opencode GO and Zen, nvidia nim.

3. Вопрос: В списке провайдеров есть пункт : OpenAI Compatible. Кого сюда и как мажно вписать?

4. Просьба: Один раз введенный ключ провайдера не нужно сбрасывать при переходе к другому провайдеру. Ну очень утомительно каждый раз переписывать эту ячейку.

5. Вопрос: чек ячейка "Опасные операции ...". Что при этом включается или отключается?

 
Vladimir Perervenko #:
Вопрос: В списке провайдеров есть пункт : OpenAI Compatible. Кого сюда и как мажно вписать?

Пишите туда 95% всех возможных провайдеров. Ибо почти все поддерживают OpenAI протокол.

Укажите endpoint и ключ.

 
Vladimir Perervenko #:
Вопрос: чек ячейка "Опасные операции ...". Что при этом включается или отключается?

Агент получает доступ к любым тулзам на компьютере и на него уже практически не действует песочница каталогов /MQL5 и /Common (она становится рекомендательной и на усмотрение конкретной LLM).

В этом режиме он может практически все.

При выключенной галочке он живет в рамках песочницы и может пользоваться только встроенными возможностями mcp tools. 

 

С чем может быть связано что АИ агент MQL не работает? 

Пол дня работал потом перестал, потом снова заработал.

Пробовал и с ВПН и без, пробовал перегружать роутер, и с другого терминала то же пробовал.

Все равно молчит.

Идут какие то работы ? Или есть лимиты ?

 
Renat Fatkhullin #:

Агент получает доступ к любым тулзам на компьютере и на него уже практически не действует песочница каталогов /MQL5 и /Common (она становится рекомендательной и на усмотрение конкретной LLM).

В этом режиме он может практически все.

При выключенной галочке он живет в рамках песочницы и может пользоваться только встроенными возможностями mcp tools. 

Понял. будем пробовать.
 
Vladimir Pastushak #:

С чем может быть связано что АИ агент MQL не работает? 

Пол дня работал потом перестал, потом снова заработал.

Пробовал и с ВПН и без, пробовал перегружать роутер, и с другого терминала то же пробовал.

Все равно молчит.

Идут какие то работы ? Или есть лимиты ?

За последние 2 дня у Deepseek была неоднократная деградация api: https://status.deepseek.com/


 

Не ошибка, но противное поведение: MetaEditor не запоминает при выходе состояние инструментов в окне.

Закрываю окно без инструментов, открывается с инструментами (да ещё и вкладка всё время на Статьи переключается). Можно сохранять состояние, как это сделано в терминале с аналогичной панелью инструментов? Очень прошу, т.к. эта мелочь не сильно, но постоянно раздражает.

На всякий случай, мой конфиг:

 
OnChartEvent(CHARTEVENT_CLICK / CHARTEVENT_OBJECT_CLICK) не доставляется Expert Advisor в Strategy Tester (визуальный режим), хотя у индикаторов работает штатно

## Тело обращения

Терминал: MetaTrader 5, build 6090 (воспроизведено на нескольких инсталляциях).

**Проблема:**
В визуальном режиме тестера стратегий `OnChartEvent` для Expert Advisor не получает события `CHARTEVENT_CLICK` и `CHARTEVENT_OBJECT_CLICK` — ни для bitmap-объекта (`OBJ_BITMAP_LABEL`, canvas-панель), ни для настоящей нативной кнопки (`OBJ_BUTTON`). При этом абсолютно тот же код (canvas + `OBJ_BUTTON` + `OnChartEvent`), запущенный как **индикатор** в том же визуальном тестере на том же символе/периоде, получает оба типа событий стабильно на каждый клик.

**Как воспроизвести:**
1. Взять минимальный EA: создать canvas-кнопку через `CCanvas.CreateBitmapLabel()` + рядом настоящую `OBJ_BUTTON`.
2. В `OnChartEvent` логировать `Print()` на любой `CHARTEVENT_CLICK` / `CHARTEVENT_OBJECT_CLICK`.
3. Запустить в Strategy Tester, визуальный режим, кликать по обеим кнопкам десятки раз.
4. Journal: 0 событий за весь прогон.
5. Тот же код, оформленный как индикатор (`indicator_chart_window`, тот же canvas + та же кнопка) — на каждый клик стабильно 2 события: `CHARTEVENT_OBJECT_CLICK` (по имени bitmap-объекта) и `CHARTEVENT_CLICK` (с пиксельными координатами).

**Текущий обходной путь** (используется многими разработчиками торговых панелей, в т.ч. нами): вместо ожидания события — polling `ObjectGetInteger(name, OBJPROP_STATE)` у нативной `OBJ_BUTTON` на каждом тике/таймере. Это работает, но требует создавать по одному невидимому `OBJ_BUTTON`-объекту на каждый интерактивный элемент панели (в нашем случае — сотни объектов), поскольку сама операционная система/терминал не даёт иного способа узнать координаты клика вне `OnChartEvent` (подтверждено модератором форума: `GetCursorPos`-подобной альтернативы через MQL5 нет).

**Запрос:**
Пожалуйста, либо (а) сделайте доставку `OnChartEvent` по кликам мышью в EA в визуальном режиме тестера идентичной поведению индикаторов, либо (б) если это осознанное архитектурное ограничение — задокументируйте это явно в справке по `OnChartEvent`/Strategy Tester, и по возможности добавьте официальный API для чтения текущей позиции курсора/состояния кнопки мыши вне `OnChartEvent` (например, `ChartGetInteger(CHART_MOUSE_POSITION_X/Y)` — такого свойства сейчас не существует), чтобы не приходилось городить по объекту на кнопку только ради тестирования кликабельных панелей.


Оно канеш можно поизголяться и пол дня убить на написание МАУС-ХУКА через WIn dll... но это жесть 
Канвас с кнопками: 

 
Alex FXPIP #:
OnChartEvent(CHARTEVENT_CLICK / CHARTEVENT_OBJECT_CLICK) не доставляется Expert Advisor в Strategy Tester (визуальный режим), хотя у индикаторов работает штатно

Интересно, опечатка в вашем ИИ-сгенерированном комментарии или в документации? Я не проверял.

https://www.mql5.com/ru/docs/runtime/testing#events

При тестировании в эксперте можно обрабатывать пользовательские события с помощью функции OnChartEvent(), но в индикаторах эта функция в тестере не вызывается. Даже если индикатор имеет обработчик OnChartEvent() и этот индикатор используется в тестируемом эксперте, то сам индикатор не будет получать никаких пользовательских событий.

 
Vladislav Boyko #:

Интересно, опечатка в вашем ИИ-сгенерированном комментарии или в документации? Я не проверял.

Vladislav, чтобы не было путаницы — уточняю максимально конкретно.

Я говорю НЕ про пользовательские события ( EventChartCustom() / CHARTEVENT_CUSTOM ) — это другой механизм, там программа сама рассылает свои кастомные события другим программам на графике, и именно про НЕГО ваша цитата из документации.

Я говорю про обычные СИСТЕМНЫЕ события мыши: CHARTEVENT_CLICK (id=4) и CHARTEVENT_OBJECT_CLICK (id=1) — те, что описаны на странице https://www.mql5.com/ru/docs/event_handlers/onchartevent как "происходит при щелчке в области графика" / "происходит при щелчке мышью на объекте графика". Про их доставку эксперту в тестере в документации нет НИ СЛОВА — ни на этой странице, ни на странице про тестирование.

Минимальный код, чтобы проверить за 30 секунд (советник, визуальный тестер, любой символ)

void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam)
  {
   if(id == CHARTEVENT_CLICK || id == CHARTEVENT_OBJECT_CLICK)
      Print("EVT id=", id, " x=", lparam, " y=", dparam, " obj=", sparam);
  }

int OnInit()
  {
   ObjectCreate(0, "TestBtn", OBJ_BUTTON, 0, 0, 0);
   ObjectSetInteger(0, "TestBtn", OBJPROP_XDISTANCE, 50);
   ObjectSetInteger(0, "TestBtn", OBJPROP_YDISTANCE, 50);
   ObjectSetInteger(0, "TestBtn", OBJPROP_XSIZE, 150);
   ObjectSetInteger(0, "TestBtn", OBJPROP_YSIZE, 30);
   ObjectSetString(0, "TestBtn", OBJPROP_TEXT, "CLICK ME");
   return(INIT_SUCCEEDED);
  }

Запускаете РОБОТ (не индикатор) в визуальном тестере, кликаете по кнопке "CLICK ME" сколько угодно раз — в Journal ни одной строки EVT id=... . Ровно тот же код, только #property indicator_chart_window вместо EA — на каждый клик стабильно 2 строки в Journal.

Я гонял это на build 6090, десятки кликов, 0 из 0 у эксперта против 2 события на каждый клик у индикатора.

Документация по MQL5: OnChartEvent / Обработка событий
Документация по MQL5: OnChartEvent / Обработка событий
  • www.mql5.com
Вызывается в экспертах и индикаторах при наступлении события ChartEvent . Функция предназначена для обработки изменений графика, вызванных...