Новая версия платформы MetaTrader 5 build 4040: Улучшения и исправления - страница 38

 
Alexandr Nikolaev #:

Тоже столкнулся сегодня с этой проблемой. После обновления терминала перестал запускаться. Переустановка терминала не помогает.

Так же переустанавливать приходится через старый установочник. Новые устновочники запускаются с ошибкой.

Macbook pro M1 Sonoma 14.1.1 VMware Fusion 13.5.0 Pro

Требуется срочно исправить! Работа встала!

Работу веб-инсталлера под Parallels на macOS с M1/M2/M3 исправили.

Воспользуйтесь штатным инсталлером, пожалуйста.

 

Последний релизный мт5. Есть такой скрипт

void OnStart()
{
  string SymbName="AUDCAD";
  SymbolSelect(SymbName,true);
  for(;;)
  {
    ChartOpen(SymbName,0);
    for(long id=ChartFirst(),prev=-1;id!=-1;prev=id,id=id!=-1 ? ChartNext(id) : ChartFirst())
    {
      if(id==ChartID())
        continue;

      string ChartSymb=ChartSymbol(id);
      if(ChartSymb!=SymbName)
        continue;

      if(ChartClose(id))
        id=prev;
    }
  }
}

Вместо имени символа можно подставить любой существующий.

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

 

Вызываете ChartNext(1). Или с приоритетами я напутал, тогда поставьте скобки, чтобы было яснее.

 
fxsaber #:

Вызываете ChartNext(1).

Тут будет ChartNext(id), если id валидный, либо ChartFirst, если единственный предыдущий график был закрыт.

Но в любом случае прогон скрипта не должен намертво застревать где-то внутри системной функции.
Причина обращения: