Новая версия платформы MetaTrader 5 build 2650: Фоновая загрузка графиков и улучшения в профилировщике MQL5-кода - страница 34

 
К сожалению, не добавили функции сворачивания окон чартов, Терминала, Обзора рынка и т.д. Ранее были приведены доказательства, что сворачивание этих окон снижает CPU-нагрузку.
 
Похоже, недоработка. Через GUI никак не получается узнать, из какой группы символ. Получается только через скрипт.
void OnStart()
{
  Print(SymbolInfoString(_Symbol, SYMBOL_PATH));
}
 

Через GUI не получается узнать дату последнего тика символа.


 

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

Новая версия платформы MetaTrader 5 build 2650: Фоновая загрузка графиков и улучшения в профилировщике MQL5-кода

fxsaber, 2020.11.04 16:43

Что принимается в качестве доказательства?

2020.11.04 17:44:42.186 Alert: XTIUSD - Start.
2020.11.04 17:44:42.300 Alert: XRPUSD - Start.
2020.11.04 17:45:09.005 Abnormal termination

b2670.

// Зависание CopyTicks.
#property script_show_inputs

input string Symb = "XRPUSD";

void OnStart()
{  
  if (SymbolInfoInteger(Symb, SYMBOL_SELECT) || SymbolSelect(Symb, true))  
  {
    MqlTick Ticks[];
    
    Print(CopyTicksRange(Symb, Ticks, COPY_TICKS_ALL, (long)D'2020.06.01' * 1000));
    Print(GetLastError());
  }
}

У кого воспроизводится зависание на MQ-Demo?

 
fxsaber:

b2670.

У кого воспроизводится зависание на MQ-Demo?

Успешно отрабатывает:

2020.11.06 16:48:56.388 testbug (XRPUSD,M1)     1965867
2020.11.06 16:48:56.388 testbug (XRPUSD,M1)     0
 
Maksim Emeliashin:

Успешно отрабатывает:

Спасибо! Когда грохнул папку Bases\MetaQuotes-Demo скрипт сработал. Однако, следующий скрипт все равно вызывает зависание на том же MQ-Demo.

void OnStart()
{
  for (int i = SymbolsTotal(false) - 1; !IsStopped() && (i >= 0); i--)
  {
    const string Symb = SymbolName(i, false);
    
    if (!SymbolInfoInteger(Symb, SYMBOL_CUSTOM))
    {
      SymbolSelect(Symb, true);
      Alert(Symb);
      
      MqlTick Ticks[];
        
      Print(CopyTicksRange(Symb, Ticks, COPY_TICKS_ALL, (long)D'2020.06.01' * 1000));
    }
  }
}

Воспроизводится?

 
// "Отключение" правой кнопки мыши в Терминале.
// "Отключение" главного меню Терминала и т.д.
const bool Init = EventSetMillisecondTimer(1);

void OnTimer()
{
  ChartSetInteger(0, CHART_BRING_TO_TOP, true);
  ChartRedraw(0);
}

Заметил одно неудобство, которое перевел в такую гадость.

Если такое запустить в виде Сервиса, то кранты.
 
Попробовал кнопкой удалить индикатор с основного окна. Сам себя. Не удаляет. Ошибка 4115. Может можно сделать?
 
Uladzimir Izerski:
Попробовал кнопкой удалить индикатор с основного окна. Сам себя. Не удаляет. Ошибка 4115. Может можно сделать?

ExpertRemove  попробуйте.

 
Vladimir Pastushak:

ExpertRemove  попробуйте.

Не годится для индикатора. 

4014

Системная функция не разрешена для вызова