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

 
Vitaly Muzichenko # :

Ренат, Вы можете дать ответ, пожалуйста


Код для воспроизведения? Какая сборка использовалась?
 
Alain Verleyen #:
Код для воспроизведения? Какая сборка использовалась?

Только начинает обновлять минимум/максимум = срабатывает CHARTEVENT_CHART_CHANGE


//+------------------------------------------------------------------+
//|                                                         VROC.mq5 |
//|                             Copyright 2000-2026, MetaQuotes Ltd. |
//|                                                     www.mql5.com |
//+------------------------------------------------------------------+
#property copyright   "Copyright 2000-2026, MetaQuotes Ltd."
#property link        "https://www.mql5.com"
#property description "Volume Rate of Change"
//--- indicator settings
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_plots   1
#property indicator_type1   DRAW_LINE
#property indicator_color1  clrGreen
#property indicator_style1  0
#property indicator_width1  1
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
//--- input parametrs
input int                 InpPeriodVROC=3;           // Period
input ENUM_APPLIED_VOLUME InpVolumeType=VOLUME_TICK;  // Volumes
//--- indicator buffer
double ExtVROCBuffer[];

int    ExtPeriodVROC;
//+------------------------------------------------------------------+
//| VROC initialization function                                     |
//+------------------------------------------------------------------+
void OnInit()
{
//--- check for input value
  if(InpPeriodVROC<=1) {
    ExtPeriodVROC=25;
    PrintFormat("Incorrect value for input variable InpPeriodVROC=%d. Indicator will use value=%d for calculations.",
                InpPeriodVROC,ExtPeriodVROC);
  } else
    ExtPeriodVROC=InpPeriodVROC;
//--- define index buffer
  SetIndexBuffer(0,ExtVROCBuffer);
//--- set indicator short name
  IndicatorSetString(INDICATOR_SHORTNAME,"VROC("+string(ExtPeriodVROC)+")");
//--- set indicator digits
  IndicatorSetInteger(INDICATOR_DIGITS,2);
//--- set draw begin
  PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,ExtPeriodVROC-1);
}
//+------------------------------------------------------------------+
//| Volume Rate of Change                                            |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
{
  if(rates_total<ExtPeriodVROC)
    return(0);
//--- starting work
  int pos=prev_calculated-1;
  if(pos<ExtPeriodVROC-1) {
    pos=ExtPeriodVROC-1;
    for(int i=0; i<pos; i++)
      ExtVROCBuffer[i]=0.0;
  }
//--- main cycle by volume type
  if(InpVolumeType==VOLUME_TICK)
    CalculateVROC(pos,rates_total,tick_volume);
  else
    CalculateVROC(pos,rates_total,volume);
//--- OnCalculate done. Return new prev_calculated.
  return(rates_total);
}
//+------------------------------------------------------------------+
//| Calculate VROC by volume argument                                |
//+------------------------------------------------------------------+
void CalculateVROC(const int pos,const int rates_total,const long& volume[])
{
  for(int i=pos; i<rates_total && !IsStopped(); i++) {
    double prev_volume=(double)(volume[i-(ExtPeriodVROC-1)]);
    double curr_volume=(double)volume[i];
    //--- calculate VROC
    if(prev_volume!=0.0)
      ExtVROCBuffer[i]=100.0*(curr_volume-prev_volume)/prev_volume;
    else
      ExtVROCBuffer[i]=ExtVROCBuffer[i-1];
  }
}
//+------------------------------------------------------------------+
void OnChartEvent(const int id,const long&lp,const double&dp,const string&sp)
{
  if(id==CHARTEVENT_CHART_CHANGE)
    Print(ExtVROCBuffer[Bars(NULL,0)-1]);
}
//+------------------------------------------------------------------+
 

Скачал Робофорекс Билд 6090 эта галочка ставится но не сохраняется . Wine11 - при чем вайн с вашей макос установки. Это официальная не бета сейчас ! такое впечатление что  фича вырезана/отключена на уровне сборки в этом white-label релизе от RoboForex. 
Половина роботов вообще сделки открывать перестали. Накодили... как всегда. 

Что бы запустить на маке более ли менее норм версию нужно купить платную лиц на параллель десктоп что бы мт5 там нативно стал и не работал в вашем глюченном вайн в котором мсп вообще не включается + настроить проброс портов что бы внешний ии видел именно в параллельке ... моск можно поломать 

Инструкция: проброс порта из Parallels VM наружу на Mac
Суть проблемы: Parallels VM — отдельная ОС со своим сетевым стеком. Сервис, слушающий 127.0.0.1 внутри Windows, физически недоступен снаружи, даже если открыть firewall и знать IP виртуалки — loopback не маршрутизируется. Нужно, чтобы Windows сама перекинула порт с "внешнего" интерфейса на свой же 127.0.0.1.

Шаг 1 — узнать IP виртуалки (с Mac)

prlctl list -f
Смотришь колонку IP_ADDR для нужной VM (в нашем случае 10.211.55.4).

Шаг 2 — проброс порта внутри Windows (netsh portproxy)
Выполнить внутри Windows (можно прямо с Mac через prlctl exec, без захода в саму VM):


prlctl exec "Windows 11" cmd /c "netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=ПОРТ connectaddress=127.0.0.1 connectport=ПОРТ"
Проверить, что добавилось:


prlctl exec "Windows 11" cmd /c "netsh interface portproxy show v4tov4"
Шаг 3 — разрешить порт в Windows Firewall

prlctl exec "Windows 11" cmd /c "netsh advfirewall firewall add rule name=\"ИМЯ-ПРАВИЛА\" dir=in action=allow protocol=TCP localport=ПОРТ"
Шаг 4 — проверить с Mac

curl -X POST "http://10.211.55.4:ПОРТ/путь" -H "Authorization: Bearer ТОКЕН" ...
Если сервис внутри реально слушает (netstat -ano | findstr ПОРТ → LISTENING) — теперь достучаться получится и снаружи.

Шаг 5 — прописать в конфиг для внешнего ИИ
В .mcp.json (или другом конфиге клиента) указать http://10.211.55.4:ПОРТ/... вместо 127.0.0.1.

Важно: .mcp.json должен лежать именно в корне открытого в VS Code проекта, а не в подпапке — иначе Claude Code его не подхватит при перезапуске.

Откат (если нужно убрать проброс)

prlctl exec "Windows 11" cmd /c "netsh interface portproxy delete v4tov4 listenaddress=0.0.0.0 listenport=ПОРТ"
prlctl exec "Windows 11" cmd /c "netsh advfirewall firewall delete rule name=\"ИМЯ-ПРАВИЛА\""
Нюанс
IP виртуалки (10.211.55.4) может смениться при пересоздании VM или смене сети Parallels (shared/bridged) — если сервис вдруг снова станет недоступен, первым делом перепроверь prlctl list -f.

Более 16 лет метаквоты не могут UNIX + MACOS версию термина закадить нативно... НЕ СТЫДНО ? 


Уважаемые разработчики MetaQuotes и коллеги-трейдеры!
Давайте признаем честно: текущие решения MT5 для Linux и macOS через костыли Wine/CrossOver — это прошлый век. В 2026 году финансовый софт такого уровня не должен работать через двойную эмуляцию.
Мы, профессиональное комьюнити, просим команду MetaQuotes разработать нативные версии терминала для Linux и Mac .
Вот объективный разбор ситуации: почему текущие костыли — это плохо, и какие плюсы принесет нативный код.
❌ Минусы текущего подхода (Через Wine/CrossOver)
  • Дикий жор ресурсов: На Mac с процессорами M1-M4 идет двойная эмуляция (Rosetta 2 + CrossOver). На Linux для запуска робота на VPS приходится поднимать графический сервер (Xvfb) и Wine. Это сжигает тонны RAM и CPU.
  • Тормоза в оптимизации: Тестирование тяжелых роботов на сотнях графиков через Wine работает в разы медленнее, чем могло бы на родной системе.
  • Кривой интерфейс: На экранах Mac Retina шрифты плывут, масштабирование ломается, графики выглядят размытыми.
  • Финансовые риски: Wine может упасть из-за случайного обновления системных библиотек Linux/Mac. Упал Wine = завис ордер = потеря денег.
🔥 Что мы хотим (Плюшки нативных версий)
  1. Для Linux (Headless/CLI версия): Нам даже не нужен тяжелый интерфейс! Сделайте консольный демон (терминал без графики) для Linux VPS. Роботы будут летать, а сервер за $5 в месяц сможет держать десятки терминалов.
  2. Для macOS (Нативный ARM-код): Полная поддержка процессоров Apple M-серии. Терминал перестанет греть ноутбук как утюг, а графики на Retina-экранах станут идеально четкими.
  3. Безопасность: Прямые системные вызовы к ядру ОС вместо «переводчика» Wine гарантируют 100% стабильность работы 24/7.
Коллеги, если вы тоже устали от лагов Wine и хотите нормальный софт на Linux и Mac — голосуйте за тему, пишите комментарии! Давайте покажем разработчикам, что спрос огромный.

 
Alex FXPIP #:

Скачал Робофорекс Билд 6090 эта галочка ставится но не сохраняется . Wine11 . Это официальная не бета сейчас ! такое впечатление что  фича вырезана/отключена на уровне сборки в этом white-label релизе от RoboForex. 
Половина роботов вообще сделки открывать перестали. Накодили... как всегда

Боле 16 лет не могут UNIX версию термина закадить нативно... НЕ СТЫДНО ? 


Уважаемые разработчики MetaQuotes и коллеги-трейдеры!
Давайте признаем честно: текущие решения MT5 для Linux и macOS через костыли Wine/CrossOver — это прошлый век. В 2026 году финансовый софт такого уровня не должен работать через двойную эмуляцию.
Мы, профессиональное комьюнити, просим команду MetaQuotes разработать нативные версии терминала для Linux и Mac .
Вот объективный разбор ситуации: почему текущие костыли — это плохо, и какие плюсы принесет нативный код.
❌ Минусы текущего подхода (Через Wine/CrossOver)
  • Дикий жор ресурсов: На Mac с процессорами M1-M4 идет двойная эмуляция (Rosetta 2 + CrossOver). На Linux для запуска робота на VPS приходится поднимать графический сервер (Xvfb) и Wine. Это сжигает тонны RAM и CPU.
  • Тормоза в оптимизации: Тестирование тяжелых роботов на сотнях графиков через Wine работает в разы медленнее, чем могло бы на родной системе.
  • Кривой интерфейс: На экранах Mac Retina шрифты плывут, масштабирование ломается, графики выглядят размытыми.
  • Финансовые риски: Wine может упасть из-за случайного обновления системных библиотек Linux/Mac. Упал Wine = завис ордер = потеря денег.
🔥 Что мы хотим (Плюшки нативных версий)
  1. Для Linux (Headless/CLI версия): Нам даже не нужен тяжелый интерфейс! Сделайте консольный демон (терминал без графики) для Linux VPS. Роботы будут летать, а сервер за $5 в месяц сможет держать десятки терминалов.
  2. Для macOS (Нативный ARM-код): Полная поддержка процессоров Apple M-серии. Терминал перестанет греть ноутбук как утюг, а графики на Retina-экранах станут идеально четкими.
  3. Безопасность: Прямые системные вызовы к ядру ОС вместо «переводчика» Wine гарантируют 100% стабильность работы 24/7.
Коллеги, если вы тоже устали от лагов Wine и хотите нормальный софт на Linux и Mac — голосуйте за тему, пишите комментарии! Давайте покажем разработчикам, что спрос огромный.
Поддерживаю! Вам даже писать ничего не нужно: LLM-модели вашу Windows-кодовую базу портируют под macOS за семь суток максимум. Поставьте «китайца» себе локально - и вперед!
 
npats2007 #:
Поддерживаю! Вам даже писать ничего не нужно: LLM-модели вашу Windows-кодовую базу портируют под macOS за семь суток максимум. Поставьте «китайца» себе локально - и вперед!
Ага под мт5 покупать домашний сервер на виндовс - смешно очень. Попробуйте сетевой диск в VS Code c ии открыть - он сессии не помнит хотя сохраняет.
 
Подключил MCP, попросил вывести все возможности подробно.

По тестеру:
"Strategy Tester
- Запуск бэктеста с подготовленным .ini.
- Подключение файла параметров .set.
- Запрос статуса, прогресса и времени выполнения запущенного теста."

- Не хватает экспорта результатов теста в HTML, а лучше и в JSON.
- Не хватает экспорта отдельного списка сделок в HTML, а лучше и в CSV, JSON 
- Хорошо бы подключить доступ к документации MQL
 
Vitaly Muzichenko # :

Только начинает обновлять минимум/максимум = срабатывает  CHARTEVENT_CHART_CHANGE


Времени пока не было. Проверю в понедельник, когда рынок откроется.
 
npats2007 #:
- Хорошо бы подключить доступ к документации MQL
Я в системный промпт вставлял требование использовать документацию по ссылкам https://www.mql5.com/en/docs/onnx и https://www.mql5.com/en/docs/basis/types/matrix_vector, и ИИ использовал её. Вся документация была не нужна, модели знают MQL5, не включая последние технологии. Также я вставил краткое описание и примеры для этих сложных моментов. Также для некоторых мелочей, где ИИ путался - в основном они не знали, что некоторые строковые функции не возвращают результат, а работают in place (что, по-моему, тоже нехорошо).
Хотя теперь часто появляются новые константы и пр., можно дать и ссылку на полную документацию.
 
Alex FXPIP #:
Более 16 лет метаквоты не могут UNIX + MACOS версию термина закадить нативно... НЕ СТЫДНО ? 

Не стыдно. Это у вас от непонимания объема и сложности задач.

На неподдерживаемых версиях ниже Windows 10 галочки MCP и Ассистента на старте программ принудительно отключаются.

Если роботы не запускаются - откройте ветку, приложите максимум информации и логов для разбора и воспроизведения, пожалуйста.

Одного заявления недостаточно - это технический форум.

 
Renat Fatkhullin #:

Не стыдно. Это у вас от непонимания объема и сложности задач.

На неподдерживаемых версиях ниже Windows 10 галочки MCP и Ассистента на старте программ принудительно отключаются.

Если роботы не запускаются - откройте ветку, приложите максимум информации и логов для разбора и воспроизведения, пожалуйста.

Одного заявления недостаточно - это технический форум.

О за это спасибо ! Помогло 
Разобрался, спасибо за наводку про версию Windows. Окружение — macOS, MT5 запущен не в виртуалке, а через Wine (Wine 11.1 на Darwin). Оказалось, что у Wine есть persistent per-executable оверрайд версии Windows в реестре ( HKCU\Software\Wine\AppDefaults\<exe>\Version ), и конкретно для terminal64.exe / metaeditor64.exe там стояло win7 — отсюда и "Windows Server 2008 R2 build 7601" в журнале терминала, несмотря на то, что глобально в winecfg было выставлено Windows 10/11. После правки именно этого per-app ключа на win11 (winecfg → вкладка Applications → выбрать конкретно эти два exe → сменить версию, либо напрямую через wine reg add ) терминал стал репортить Windows 11 build 22000 , и MCP-сервер поднялся штатно ( MCP started on 127.0.0.1:PORT в журнале, HTTP отвечает). Отписываюсь на случай, если кто-то ещё словит это же на Wine/CrossOver — смотрите не только глобальную версию Windows в winecfg, а именно per-app профиль для терминала.

Всетаки подумайте про версию мт5 под линукс и мак ... реально 16 лет ждем. Я принципиально виндовсе не люблю как разраб. Все я прекрасно понимаю и обьем работ тоже - вот CTrader пилит и вин и мак версию