Новая версия платформы MetaTrader 5 build 5320: сервисы в Библиотеке кодов и удобная работа с input в MQL5 - страница 4

 
Aleksey Vyazmikin #:
Спасибо за информацию. Может ищут алгоритм пошустрей какой.

Год назад было такое сообщение, а в начале нынешнего лета такое, так что ждём - на новый компилятор вроде бы как уже перешли.

Aleksey Vyazmikin #:
В матрицах нужна сортировка не по одному "столбу", а сразу по множеству - тогда будет толку больше.

Было бы неплохо. Этому помогла бы возможность передачи кастомного компаратора с параметрами для строк (столбцов). Это было бы лучше, чем собирать из костылей велосипеды.


ЗЫ. Косвенная сортировка ArgSort() туда же.

 
NastyaMaley #:
Кто вообще отвечает за дизайн платформы? Делают только хуже и хуже. В последней версии MetaTrader 5 build 5320 в окне Инструменты взяли и осветлили серые строки. Стали практически сливаться с белым фоном. Как вернуть их прошлую серость??? 

Да вроде бы есть разница в цвете полос:


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

 

В англоязычной документации потерялись якоря


 
Aleksey Nikolayev #:
В документации давно есть и Ренат лично обещал, что будет реализовано.
Не, сначало бы сделать что в интерфейсе есть (режимы компиляции)
 
geritretar #:

https://t.me/c/1921638639/320

На этот канал переехал архив версий. Спасибо добрым людям

Спасибо )
 
Vladislav Boyko #:

В англоязычной документации потерялись якоря


Нашлись, спасибо

https://www.mql5.com/en/docs/basis/function/events

Documentation on MQL5: Language Basics / Functions / Event Handling Functions
Documentation on MQL5: Language Basics / Functions / Event Handling Functions
  • www.mql5.com
The MQL5 language provides processing of some predefined events . Functions for handling these events must be defined in a MQL5 program; function...
 
Rashid Umarov #:

Нашлись, спасибо

https://www.mql5.com/en/docs/basis/function/events

Событие CHARTEVENT_KEYUP когда-нибудь добавите в документацию?
 
Rashid Umarov #:

...

Нужен ответ по этой проблеме. Отправил также в Сервисдеск: #5566666

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Ошибки, баги, вопросы

Anatoli Kazharski, 2025.08.31 07:08


В дополнение к этому.

После того, как список символов возвращается к предыдущему набору/сету, принудительно добавленные терминалом символы не получается удалить:



 

Сразу прошу прощения за длиннопост, но только так передам суть и сам промт для воспроизведения в любом другом ИИ для развития диалога.

Первая фишка - ИИ всегда должен выставлять оценку по 10-бальной шкале. Так мы отсеем "поддакивание ИИ" и увидим важное.

Рекомендую собрать максимальный фидбек всех ошибок/предложений и попросить ИИ создать ревизию по важности.


Промт: Привет. Очевидно же, что обучение с подкреплением и обратная связь даёт ИИ больше информации становиться лучше и писать качественный код без ошибок. Так вот речь пойдёт про MQL5. Там есть Метаедитор, который компилирует код. Если попросить ИИ написать код на mql5, то он может не скомпилироваться и сам компилятор напишет ошибки, в каких строках и что произошло. Второй момент, код может скомпилироваться и на самом графике ничего не происходит. Речь про индикаторы, про торгующих экспертов сложнее будет. Так вот, что нужно сделать с метаедитором, чтобы дать ИИ обратную связь. Первое и самое простое, что приходит на ум - это кнопка копировать ошибок компилятора, чтобы скопировать в ИИ и он поправил код. Второе - не знаю как точно описать, но нужно дать ИИ информации, что произошло, когда мы накинули индикатор на график, это даст некую проверку, работает ли индикатор штатно, мигает на графике или нормально работает, как нагружает систему, не зависает ли и т.д.. Попробуй всё проанализировать и дать советы по улучшению Метаедитора. Оцени внедрения по 10-бальной шкале (нужно ли это программистам, сложность реализации, насколько это вообще важно)


Ответ Qwen3Max: Привет! Ты поднял очень интересную и перспективную тему — замкнутый цикл обратной связи между ИИ и средой разработки, особенно в контексте MQL5 и MetaEditor. Давай разберёмся по частям и оценим твои идеи с точки зрения полезности, реализуемости и важности.

 

🔍 Проблема в контексте MQL5

MQL5 — это язык программирования для создания торговых роботов (экспертов), индикаторов и скриптов в платформе MetaTrader 5. MetaEditor — это IDE, встроенная в MT5, с базовыми возможностями: подсветка синтаксиса, компиляция, отладка (ограниченная), логи.

Однако:

·       Компилятор выдаёт ошибки, но их нельзя удобно скопировать или экспортировать.

·       Нет визуальной или программной обратной связи о том, как индикатор/эксперт ведёт себя на графике: работает ли он, зависает ли, генерирует ли данные, вызывает ли исключения.

·       ИИ (например, LLM) может генерировать код, но не получает обратной связи от реального исполнения → обучение неэффективно.

 

🧠 Твои предложения и их анализ

1. Кнопка "Копировать ошибки компиляции"

Описание: После компиляции (успешной или нет) добавить кнопку, позволяющую скопировать полный лог ошибок/предупреждений в буфер обмена.

Плюсы:

·       Минимальные усилия для пользователя.

·       Позволяет быстро передать ИИ точную информацию об ошибках.

·       Упрощает итеративную отладку.

Оценка:

·       Полезность для программистов: 9/10
(Особенно для новичков и тех, кто использует ИИ-ассистенты)

·       Сложность реализации: 2/10
(Это просто UI-кнопка + экспорт текста из лога компилятора)

·       Важность: 8/10
(Ускоряет цикл "написал → получил ошибку → исправил")

✅ Рекомендация: Сделать обязательно. Это low-hanging fruit.

 

2. Обратная связь о поведении индикатора/эксперта на графике

Описание: После привязки индикатора к графику система должна собирать и предоставлять информацию:

·       Загружается ли индикатор?

·       Вызывается ли OnCalculate()?

·       Есть ли исключения/ошибки выполнения?

·       Сколько времени занимает расчёт?

·       Выводит ли индикатор данные (буферы не пустые)?

·       Не вызывает ли зависаний/перегрузки CPU?

Идеально — автоматически формировать отчёт, который можно скопировать и передать ИИ.

Плюсы:

·       Даёт ИИ семантическую обратную связь: не просто "ошибка компиляции", а "индикатор молчит", "зависает на 10 сек", "выводит NaN".

·       Позволяет обучать ИИ не только синтаксису, но и логике работы в реальной среде.

·       Особенно важно для индикаторов — они часто "компилируются", но не работают.

Сложности:

·       Нужно внедрить мониторинг времени выполнения.

·       Нужно логировать поведение OnCalculate/OnTick.

·       Нужно определять "нормальное" vs "аномальное" поведение (это уже ближе к APM — Application Performance Monitoring).

·       Безопасность: нельзя позволить индикатору "шпионить" за другими компонентами.

Оценка:

·       Полезность для программистов: 10/10
(Особенно при отладке сложных индикаторов)

·       Сложность реализации: 7/10
(Требует архитектурных изменений в MetaEditor/MT5: логирование, sandboxing, UI для отчётов)

·       Важность: 9/10
(Это переход от "код компилируется" к "код работает правильно")

✅ Рекомендация: Реализовать поэтапно:

1.    Добавить лог выполнения (OnCalculate вызван, сколько баров обработано, есть ли ошибки).

2.    Добавить таймауты и мониторинг производительности.

3.    Сгенерировать структурированный отчёт (JSON или текст), который можно копировать.

 

💡 Дополнительные улучшения (для полноты)

3. Интеграция с ИИ напрямую (API или плагин)

·       MetaEditor мог бы иметь встроенный чат с ИИ, куда автоматически подставляются ошибки и логи.

·       Пользователь нажимает "Исправить с помощью ИИ" → ИИ получает контекст → возвращает исправленный код.

Это уже уровень AI-assisted IDE, как GitHub Copilot, но с фидбэком от реального исполнения.

Оценка:

·       Полезность: 9/10

·       Сложность: 9/10

·       Важность: 8/10
(Не критично сейчас, но будущее)

 

4. Автоматическое тестирование индикаторов

·       Запуск индикатора на исторических данных с проверкой:

·       Все ли буферы заполнены?

·       Нет ли деления на ноль?

·       Нет ли выхода за границы массива?

Это уже ближе к unit testing, но для MQL5.

 

📊 Сводная таблица оценок

Фича

Полезность (1–10)

Сложность (1–10

Важность (1–10)

Приоритет

Кнопка "Копировать ошибки компиляции"

9

2

8

⭐⭐⭐⭐⭐

Лог поведения индикатора на графике

10

7

9

⭐⭐⭐⭐

Структурированный отчёт о выполнении

9

6

8

⭐⭐⭐⭐

Встроенная интеграция с ИИ

9

9

8

⭐⭐

 

🔚 Вывод

Ты абсолютно прав: обратная связь от среды выполнения — ключ к эффективному обучению ИИ и улучшению качества генерируемого кода.

Самое важное и простое — добавить кнопку копирования ошибок компиляции. Это должно быть сделано в ближайшем обновлении MetaEditor — это минимальная, но крайне полезная функция.

Следующий шаг — систематический сбор и экспорт логов выполнения индикаторов/экспертов. Это уже сложнее, но даст колоссальный выигрыш в отладке и обучении ИИ.

Если MetaQuotes (разработчик MT5) начнёт двигаться в этом направлении, MetaEditor может превратиться из "простой IDE" в умную среду разработки с AI feedback loop — и это будет огромным конкурентным преимуществом.

Если хочешь — могу помочь составить техническое ТЗ для таких фич или даже прототип отчёта об ошибке выполнения, который можно использовать вручную уже сегодня.