Бета-версия платформы MetaTrader 5 build 6030: Интеграция с ИИ, Passkey и удобная работа с кодом в MetaEditor
Есть проблема с ChartXYToTimePrice МТ 5 билд 6013
Код:
bool XY_TP(const int aX, const int aY, datetime & aTime, double & aPrice) { // === int wind = 0; Print(" 1 Y " + aY + " " + DoubleToString(aPrice, _Digits)); aPrice = NormalizeDouble(aPrice, _Digits); Print(" 2 Y " + aY + " " + DoubleToString(aPrice, _Digits)); ::ChartXYToTimePrice(0, aX, aY, wind, aTime, aPrice); // < --- Бажит <<<<<<<<<<<<<<<<<< Print(" 3 Y " + aY + " " + DoubleToString(aPrice, _Digits)); aPrice = NormalizeDouble(aPrice, _Digits); Print(" 4 Y " + aY + " " + DoubleToString(aPrice, _Digits)); return(true); // === }
Результат:
2026.07.16 19:09:06.123 TestFinal (EURUSD,H1) 1 Y 653 1.14000 2026.07.16 19:09:06.123 TestFinal (EURUSD,H1) 2 Y 653 1.14000 <<< 2026.07.16 19:09:06.123 TestFinal (EURUSD,H1) 3 Y 653 1.14001 <<< Скачок на 1 пункт 2026.07.16 19:09:06.123 TestFinal (EURUSD,H1) 4 Y 653 1.14001
Координата Y не меняется, а цена изменилась....
Есть проблема с ChartXYToTimePrice МТ 5 билд 6013
Код:
Результат:
Координата Y не меняется, а цена изменилась....
Вызов кода для этой функции?
Нам нужен полноценный код, который компилируется и запускается. Я не буду гадать.
MQL5: Добавлена функция SymbolInfoCommissions для получения данных о комиссиях торгового инструмента
Каждый элемент массива commissions описывает отдельное правило начисления комиссии. Общие условия применения комиссии задаются полями структуры MqlCommission, а конкретные значения и диапазоны комиссии — массивом уровней tiers.
Это полноценная замена неработающей?
PositionGetDouble(POSITION_COMMISSION)
Есть проблема с ChartXYToTimePrice МТ 5 билд 6013
Код:
Результат:
Координата Y не меняется, а цена изменилась....
- 2026.06.09
- www.mql5.com
сильно не рекомендую использовать эту функцию. Эта функция и все функции ChatGet... - это какое-то помутнение и позор MQ
можно использовать этот вариант, который пока не опубликовал в CB
Буквально пару часов назад с вашей библиотеки выдернуты фрагменты- за что огромное спасибо, и написано в виде функции:
bool MyChartXYToTimePrice(const int aX, const int aY, datetime &aTime, double &aPrice) { static long left_bar = 0; static long scale = 0; static long cwp = 0; static int hh = 0; static double lo = 0; static double hi = 0; if(_flag) { left_bar = ChartGetInteger(0, CHART_FIRST_VISIBLE_BAR); scale = ChartGetInteger(0, CHART_SCALE); cwp = ChartGetInteger(0, CHART_WIDTH_IN_PIXELS); hh = (int)ChartGetInteger(0, CHART_HEIGHT_IN_PIXELS, 0); lo = ChartGetDouble(0, CHART_PRICE_MIN, 0); hi = ChartGetDouble(0, CHART_PRICE_MAX, 0); _flag=false; } double dx = (double)(1 << scale); if(left_bar > 0 && dx > 0 && cwp > 0) { double B = (double)left_bar + 1.0 - (double)aX / dx; int bi = (int)B; double fr = B - (double)bi; if(bi < 0) bi = 0; datetime t_buf[1]; if(CopyTime(NULL, 0, bi, 1, t_buf) > 0) { aTime = t_buf[0] + (datetime)(PeriodSeconds() * (1.0 - fr)); } } //--- цена if(hh <= 0) hh = 1; if(hi > lo) { int yy = (aY < 0 ? 0 : (aY >= hh ? hh - 1 : aY)); aPrice = hi - (double)yy * (hi - lo) / (double)hh; return(true); } return(false); }
Но чтобы почувствовать прирос производительности, а она примерно в 11 раз быстрее, нужно объявить глобально флаг, и сбрасывать его по изменению графика
void OnChartEvent(const int id,const long &lparam,const double &dparam,const string &sparam) { if(id==CHARTEVENT_CHART_CHANGE) { _flag=true; }
--
Speed = ChartXYToTimePrice()
PP 0 22:12:09.810 eLSMC (AUDNZD,M30) MyChartXYToTimePrice:2026.03.24 06:52:30=1.20319375975039 HG 0 22:12:09.810 eLSMC (AUDNZD,M30) MyChartXYToTimePrice=5 IQ 0 22:12:10.007 eLSMC (AUDNZD,M30) ChartXY :2026.03.24 06:52:30=1.20319 DM 0 22:12:10.007 eLSMC (AUDNZD,M30) Speed=75 HL 0 22:12:10.007 eLSMC (AUDNZD,M30) MyChartXYToTimePrice:2026.03.24 06:52:30=1.20319375975039 PS 0 22:12:10.007 eLSMC (AUDNZD,M30) MyChartXYToTimePrice=5 CF 0 22:12:10.193 eLSMC (AUDNZD,M30) ChartXY :2026.03.24 06:52:30=1.20319 FS 0 22:12:10.193 eLSMC (AUDNZD,M30) Speed=174 DI 0 22:12:10.193 eLSMC (AUDNZD,M30) MyChartXYToTimePrice:2026.03.24 06:52:30=1.20319375975039 LN 0 22:12:10.193 eLSMC (AUDNZD,M30) MyChartXYToTimePrice=5 GJ 0 22:12:10.412 eLSMC (AUDNZD,M30) ChartXY :2026.03.24 06:52:30=1.20319 FD 0 22:12:10.412 eLSMC (AUDNZD,M30) Speed=53 JE 0 22:12:10.412 eLSMC (AUDNZD,M30) MyChartXYToTimePrice:2026.03.24 06:52:30=1.20319375975039 QJ 0 22:12:10.412 eLSMC (AUDNZD,M30) MyChartXYToTimePrice=4 PO 0 22:12:10.606 eLSMC (AUDNZD,M30) ChartXY :2026.03.24 06:52:30=1.20319 LH 0 22:12:10.606 eLSMC (AUDNZD,M30) Speed=122 KN 0 22:12:10.606 eLSMC (AUDNZD,M30) MyChartXYToTimePrice:2026.03.24 06:52:30=1.20319375975039 DQ 0 22:12:10.606 eLSMC (AUDNZD,M30) MyChartXYToTimePrice=4 GS 0 22:12:10.809 eLSMC (AUDNZD,M30) ChartXY :2026.03.24 06:52:30=1.20319 KL 0 22:12:10.809 eLSMC (AUDNZD,M30) Speed=108 DJ 0 22:12:10.809 eLSMC (AUDNZD,M30) MyChartXYToTimePrice:2026.03.24 06:52:30=1.20319375975039 KM 0 22:12:10.809 eLSMC (AUDNZD,M30) MyChartXYToTimePrice=4 OH 0 22:12:11.011 eLSMC (AUDNZD,M30) ChartXY :2026.03.24 06:52:30=1.20319 LQ 0 22:12:11.011 eLSMC (AUDNZD,M30) Speed=220 LG 0 22:12:11.011 eLSMC (AUDNZD,M30) MyChartXYToTimePrice:2026.03.24 06:52:30=1.20319375975039 DH 0 22:12:11.011 eLSMC (AUDNZD,M30) MyChartXYToTimePrice=5
Буквально пару часов назад с вашей библиотеки выдернуты фрагменты- за что огромное спасибо, и написано в виде функции:
Но чтобы почувствовать прирос производительности, а она примерно в 11 раз быстрее, нужно объявить глобально флаг, и сбрасывать его по изменению графика
--
Speed = ChartXYToTimePrice()
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования


В четверг 16 июля 2026 года будет выпущена обновленная версия платформы MetaTrader 5 в бета-режиме.
Главное нововведение этого обновления — встроенная поддержка Model Context Protocol (MCP) и агентного искусственного интеллекта. Благодаря этому терминал и MetaEditor получают встроенного AI Assistant, который помогает анализировать рынки и торговую активность, разрабатывать программы на MQL5, объяснять код, находить ошибки и автоматизировать решение сложных задач. Кроме встроенного помощника, платформа поддерживает подключение внешних ИИ-агентов, совместимых с MCP, включая OpenAI Codex, Claude Code и другие решения.
Еще одним важным нововведением стала поддержка Passkey — современного механизма защиты торговых счетов. Passkey обеспечивает дополнительный фактор аутентификации при входе в аккаунт, защищая пользователей от фишинга и несанкционированного доступа. Хранить ключ можно как на мобильном устройстве, так и на аппаратном ключе безопасности.
Для разработчиков мы существенно улучшили MetaEditor. В редакторе появились долгожданные функции сворачивания блоков кода и подсветки всех вхождений выделенного идентификатора, упрощающие работу с большими проектами. Также расширены математические возможности языка MQL5: добавлены новые методы линейной алгебры и работы с матрицами на основе LAPACK и OpenBLAS, оптимизированы отдельные функции стандартной библиотеки и внесено множество исправлений и улучшений в терминал, тестер стратегий и справочную систему.
Призываем всех трейдеров присоединиться к тестированию новой версии платформы, чтобы самостоятельно опробовать все ее возможности и помочь разработчикам в исправлении найденных ошибок. Для обновления на новый билд платформы MetaTrader 5 достаточно нажать «Помощь \ Проверить обновления десктопа \ Последняя бета-версия»:
После окончания данного этапа бета-тестирования будет выпущен финальный билд новой платформы MetaTrader 5.
Обновление содержит следующие изменения:
MetaTrader 5 Client Terminal
Что такое MCP
Model Context Protocol (MCP) — это открытый стандарт взаимодействия приложений с ИИ-агентами. В отличие от привычных чат-ботов, агент способен самостоятельно выполнять сложные задачи, разбивая их на последовательность действий и используя возможности подключенных приложений.
Благодаря встроенной поддержке MCP терминал MetaTrader 5 становится полноценным источником данных и торговых функций для современных ИИ-агентов. Они могут получать рыночную информацию, анализировать графики, работать с торговым окружением и выполнять необходимые операции через стандартный интерфейс MCP.
Кроме встроенного помощника, вы сможете использовать и внешние агентные системы, поддерживающие MCP, включая OpenAI Codex, Claude Code и другие совместимые решения.
Настройка не требуется
Для доступа к функциям ИИ достаточно войти в платформу под своей учетной записью MQL5.community — всем пользователям станет доступен бесплатный тариф MQL5 Lite. После обновления необходимые настройки будут выполнены автоматически: в качестве провайдера будет выбран MQL5.community, для него будет добавлен ключ API.
При желании можно использовать собственные API-ключи OpenAI, Anthropic, Gemini, DeepSeek, Ollama и других сервисов, выбирая нужную модель прямо в настройках терминала:
Настройки ИИ синхронизируются между торговым терминалом и MetaEditor.
AI Assistant в MetaTrader 5
ИИ-помощник в MetaTrader 5 помогает анализировать рынок. Он может объяснить текущую ситуацию по инструменту, проанализировать открытые позиции, изучить историю торговли, ответить на вопросы о финансовых инструментах и последних рыночных событиях.
Примеры запросов ассистенту:
AI Assistant в MetaEditor
AI Assistant в MetaEditor стал полноценным помощником разработчика. Он способен:
Для вызова агента используйте меню «Файл», панель инструментов, а также контекстное меню в Навигаторе. Далее просто опишите задачу на естественном языке.
Примеры запросов ассистенту:
Чем подробнее будет описание задачи, тем точнее и полезнее окажется результат.
История запросов доступна во вкладке «Чаты» в Навигаторе.
Как включить и использовать
Возможность использования Passkey включается на стороне брокера. Если этот способ авторизации разрешен для вашего торгового счета, то при первом подключении после ввода логина и пароля терминал предложит создать Passkey. Базовая авторизация по логину и паролю при этом сохраняется — Passkey используется как дополнительный фактор защиты.
Сохранить Passkey можно двумя способами:
При необходимости зарегистрированный Passkey можно удалить. Для этого выберите «Менеджер Passkey» в контекстном меню счета в окне «Навигатор». При следующем подключении к счету терминал предложит создать новый Passkey.
Для доступа в таких режимах необходимо использовать отдельные пароли. Вы можете задать их через диалог смены паролей:
Каждый элемент массива commissions описывает отдельное правило начисления комиссии. Общие условия применения комиссии задаются полями структуры MqlCommission, а конкретные значения и диапазоны комиссии — массивом уровней tiers.
Большинство LAPACK-функций библиотеки OpenBLAS используют целочисленный параметр info для возврата статуса завершения функции или подпрограммы: успешно ли она отработала, были ли обнаружены ошибки во входных параметрах или возникли численные проблемы. Константа MQL_LAST_OPENBLAS_ERROR содержит значение info после последнего неудачного выполнения функции OpenBLAS.
Для включения/отключения функции используйте новую опцию в настройках:
MetaTrader 5 Web Terminal
Обновление будет доступно через систему Live Update.