Бета-версия платформы MetaTrader 5 build 2055: Интеграция с Python и массовые улучшения в тестере стратегий - страница 10

 
Renat Fatkhullin:

разберемся.

Настройки исполнения отложенных ордеров отсутствуют. Основа многих Тестеров.

 
elibrarius:

Это хорошо) Полагаю вечером выложите, отпишусь - исправилось ли.
Кстати, у меня раньше потерь не было... или я не замечал.

C 2059 фреймы стали приходить без потерь

 
Принудительная проверка на обновление ничего не давала на MQ-Beta
2019.05.24 23:10:02.568 LiveUpdate      check for beta version
2019.05.24 23:10:02.688 LiveUpdate      you are using the latest version


Переключение на MQ-Demo сразу после этого выдало

2019.05.24 23:10:30.015 Network 'xxx': disconnected from MetaQuotes-Beta
2019.05.24 23:10:30.599 LiveUpdate      new version build 2059 (IDE: 2059, Tester: 2059) is available
2019.05.24 23:10:30.709 Network 'xxxx': authorized on MetaQuotes-Demo through Access Point EU 1 (ping: 32.69 ms)


Выходит, механизм принудительной проверки новых билдов работает не всегда правильно.

 
Возможно ли хоть как-то обозначить места, в которых делались правки при выходе очередной беты?


Например, некоторые задачи не могу выполнить, пока не поправят обозначенные баги с кастомными символами. Хотелось бы просто знать, в новом билде трогали кастомные символы или нет? Проверять каждый билд на воспроизведение багов - не правильно.

 

2059 - не побежден bool-баг input-переменных


ЗЫ Лучше обновленный Тестер.

 
Баг ME.
void f( const string = NULL) {}

void OnStart()
{
  f(MathRand()); // При наборе MathRand не появляется подсказка.
}
 
появится ли возможность кастинга из const в not const по типу с++ const_cast<>() ?
 
CustomTicksAdd прекратила формировать бары.
 

Воспроизведение визуального бага (график дергается) применения ChartSetSymbolPeriod

// Пример создания "живого" символа.

#include <Symbol.mqh> // https://www.mql5.com/ru/code/18855

const bool Init = EventSetMillisecondTimer(20); // С такой частотой будем пробрасывать тики

void OnInit()
{
  MathSrand((int)TimeLocal());
}

long Chart2 = 0;

void OnTimer()
{
  static bool FirstRun = true;

  static const SYMBOL Symb("CUSTOM_" + _Symbol + (string)MathRand()); // Создали символ
  
  static MqlTick Ticks[];
  static int Pos = 0;
    
  if (FirstRun)
  {
    Symb.DeleteHistory();       // Мало ли что-то было в истории - грохнули
    Symb.Delete(true);          // Символ тоже прибьем, чтобы исключить наличие тика в Обзоре рынка
    Symb.Create(NULL, _Symbol); // Воскресили девственно чистым.
    
    if (Symb.IsExist() && Symb.On())   // Если все отлично
    {     
      Chart2 = ChartOpen(Symb.Name, PERIOD_M1); // Открыли чарт
      CopyTicksRange(_Symbol, Ticks, COPY_TICKS_INFO, (ulong)D'2019.05.20' * 1000); // Взяли тики для проброса
    }
      
    FirstRun = false;
  }
  else if (Pos < ArraySize(Ticks))
  {
    Symb += Ticks[Pos++]; // Пробрасываем по тику
    
    // Для обновления чарта.
    ChartSetSymbolPeriod(Chart2, Symb.Name, PERIOD_M1); // Без этой строки дерганья графика прекращаются
    ChartRedraw(Chart2);    
  }
}

На анимации видно дерганье графика. Если убрать ChartSetSymbolPeriod, то дерганье прекращается.

 

После каждого применения CustomRatesUpdate происходит обнуление prev_calculated у индикаторов, что запущены на соответствующем кастомном символе.

Это ошибка. prev_calculated должен переводиться на первый бар, что был подан в CustomRatesUpdate.


ЗЫ Та же ошибка у CustomRatesReplace.