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

 

В четверг 26 ноября 2020 года будет выпущена обновленная версия платформы MetaTrader 5. Обновление содержит следующие изменения:

  1. Terminal: Исправлено зависание платформы при использовании доски опционов. Оно могло возникать при нулевом размере тика в настройках торгового инструмента.
  2. Terminal: Исправлены ошибки отображения интерфейса на HiDPI-мониторах.
  3. MQL5: Исправлено преобразование строки во время при помощи функции StringToTime. Ошибка возникала при указании времени в формате "yyyymmdd [hhmiss]".
  4. MQL5: Исправлена ошибка в неявном операторе копирования для объектов, содержащих динамические массивы. Теперь при копировании размер объекта назначения уменьшается до размера копируемого объекта.
    struct MyStruct
    {
      string Array[];
    };
    
    void OnStart()
    {
      MyStruct a1,a2;
      ArrayResize(a1.Array,3);
      ArrayResize(a2.Array,1);
      a1=a2;
    }
    Ранее в результате вызова такой функции массив "а1" имел размер 3. Теперь он будет иметь размер 1.

  5. MetaTester: Обновлен алгоритм расчета рейтинга агентов тестирования в сети облачных вычислений MQL5 Cloud Network. Рейтинг будет определяться более точно и будет меньше изменяться во времени.
  6. Обновлена документация.

Обновление будет доступно через систему Live Update.

 

Сортировка списка позиций по Мэджику (справа) не работает.

По комментарию (слева) - без пролем.

 

MetaQuotes:

MQL5: Исправлена ошибка в неявном операторе копирования для объектов, содержащих динамические массивы. Теперь при копировании размер объекта назначения уменьшается до размера копируемого объекта.

Ранее в результате вызова такой функции массив "а1" имел размер 3. Теперь он будет иметь размер 1.

Будем надеяться, что ни у кого ничего не сломается.

 
Это будет исправлено?
Файлы:
2015.png  59 kb
 
MetaQuotes:

В четверг 26 ноября 2020 года будет выпущена обновленная версия платформы MetaTrader 5. Обновление содержит следующие изменения:

  1. Terminal: Исправлено зависание платформы при использовании доски опционов. Оно могло возникать при нулевом размере тика в настройках торгового инструмента.

Где доступна торговля опционами  из MT5?

MetaQuotes:

В четверг 26 ноября 2020 года будет выпущена обновленная версия платформы MetaTrader 5. Обновление содержит следующие изменения:

  1. MQL5: Исправлена ошибка в неявном операторе копирования для объектов, содержащих динамические массивы. Теперь при копировании размер объекта назначения уменьшается до размера копируемого объекта.
    Ранее в результате вызова такой функции массив "а1" имел размер 3. Теперь он будет иметь размер 1.

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

 
Воспроизведение бага Тестера.
MqlTradeRequest Request = {0};
MqlTradeResult Result;

void OnInit()
{
  Request.action = TRADE_ACTION_DEAL;
  Request.symbol = _Symbol;
  Request.volume = 0.1;
  Request.price = SymbolInfoDouble(_Symbol, SYMBOL_ASK);
  
  if (!OrderSend(Request, Result)) // Открыли BUY-позицию
    ExpertRemove();
  
  Request.price = SymbolInfoDouble(_Symbol, SYMBOL_BID);
  Request.type = ORDER_TYPE_SELL;
  
  if (!OrderSend(Request, Result)) // Открыли SELL-позицию
    ExpertRemove();
    
  Request.action = TRADE_ACTION_SLTP;
  Request.tp = Result.price - 2000 * _Point;
  Request.position = Result.order;
}

void OnTick()
{
  // Показываем, какую позицию будем модифицировать - прописана в торговом запросе.
  if (PositionSelectByTicket(Request.position))
    Print(EnumToString((ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE)));
    
  if (!OrderSend(Request, Result)) // Модифицируем SELL-позицию
    ExpertRemove();
}

Результат.
        EURUSD,H1: testing of Experts\Test9.ex5 from 2020.07.01 00:00 to 2020.08.01 00:00 started
        2020.07.01 00:00:00   market buy 0.1 EURUSD (1.12330 / 1.12342)
        2020.07.01 00:00:00   deal #2 buy 0.1 EURUSD at 1.12342 done (based on order #2)
        2020.07.01 00:00:00   deal performed [#2 buy 0.1 EURUSD at 1.12342]
        2020.07.01 00:00:00   order performed buy 0.1 at 1.12342 [#2 buy 0.1 EURUSD at 1.12342]
        2020.07.01 00:00:00   market sell 0.1 EURUSD (1.12330 / 1.12342)
        2020.07.01 00:00:00   deal #3 sell 0.1 EURUSD at 1.12330 done (based on order #3)
        2020.07.01 00:00:00   deal performed [#3 sell 0.1 EURUSD at 1.12330]
        2020.07.01 00:00:00   order performed sell 0.1 at 1.12330 [#3 sell 0.1 EURUSD at 1.12330]
        EURUSD : real ticks begin from 2018.07.01 00:00:00
        2020.07.01 00:00:00   POSITION_TYPE_SELL
        2020.07.01 00:00:00   position modified [#3 sell 0.1 EURUSD 1.12330 tp: 1.10330]
        2020.07.01 00:01:27   POSITION_TYPE_SELL
        2020.07.01 00:01:27   failed modify #2 buy 0.1 EURUSD sl: 0.00000, tp: 0.00000 -> sl: 0.00000, tp: 1.10330 [Invalid stops]
        2020.07.01 00:01:27   ExpertRemove() function called
        removed itself within OnTick

Тестер говорит, будто была попытка модификации BUY-позиции. Но на самом деле модифицировалась SELL-позиция.

Строка для поиска: Oshibka 016.

 

Сделайте пожалуйста вот эти элементы отключаемыми:

 

"input group" досихпор не подсвечен, если это фишка, то в справке значит лишняя подсветка

в Обзоре рынка "Набор символов", свои наборы нормально добавляются с сортировкой только в пустой список, постоянно нужно двигать туда, сюда

в инструментах "правильнее" добавить в колонках что это время локальное или сервера, хорошо когда оно совпадает по GMT с торговыми и журнальными колонками, так ведь далеко не у всех?

 
Aleksey Vyazmikin:

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

Поведение функции ArrayCopy не менялось, изменилось поведение оператора копирования по умолчанию для объектов содержащих динамические массивы

 
Ilyas:

Поведение функции ArrayCopy не менялось, изменилось поведение оператора копирования по умолчанию для объектов содержащих динамические массивы

Пока до конца не понял, документация не обновилась получается?

Документация по MQL5: Операции с массивами / ArrayCopy
Документация по MQL5: Операции с массивами / ArrayCopy
  • www.mql5.com
//| Закрашивание свечей не экстремумов                               | //| Custom indicator initialization function                         | //| Custom indicator iteration function                              | //| Является ли текущий элемент массива локальным максимумом         |...
 
Сервисы, нельзя хоткеями юзать :(
Причина обращения: