Что нового в MetaTrader 5?

История обновлений десктопной, мобильной и веб-платформ

2 июня 2022
MetaTrader 5 build 3320: Улучшения и исправления

Terminal

  1. Расширены подсказки к объектам сделок, отображаемым на графиках.
    • Для сделок выхода из рынка добавлен показ прибыли.
    • Для сделок, совершенных в результате срабатывания Тейк Профита или Стоп Лосса, добавлена соответствующая индикация — TP/SL.

    Аналогичные подсказки добавлены к линиям, соединяющим сделки входа и выхода.

    Расширены подсказки к объектам сделок


  2. Ускорена работа графической системы.
  3. Добавлено журналирование групповых операций над открытыми ордерами и позициями. При выполнении такой команды в журнал выводится сообщение вида "bulk closing of XXX positions started".
  4. Исправлено групповое закрытие встречных позиций.
  5. Исправлено обновление объектов, которыми отображается торговая история на графике. Ошибка возникала при изменении торгового инструмента у графика.

MQL5

  1. Продолжается работа над функциями для матриц и векторов: добавляется поддержка float и complex.
  2. MQL5: Оператор "!" (LNOT) для указателя теперь проверяет его на валидность через неявный вызов функции CheckPointer. Для быстрой проверки на NULL следует использовать оператор "==". Например: ptr==NULL или ptr!=NULL.

MetaTester

  1. Исправлено отображение объектов сделок на графике тестирования.
  2. Ускорена работа графической системы.

MetaEditor

  • Обновлены переводы интерфейса.

Исправления по крешлогам.

20 мая 2022
MetaTrader 5 build 3300: Быстрая компиляция и улучшенная навигация по коду в MetaEditor

Terminal

  1. Добавлена возможность изменять размер графического объекта "Прямоугольник", перетаскивая любой из четырех углов.



  2. Ускорена отрисовка графического интерфейса.
  3. Улучшена поддержка адресов IPv6.
  4. Исправлен расчет высоты нижнего поля даты и ширины правого поля цены при первом запуске платформы.

MQL5

  1. Добавлена функция для работы с матрицами и векторами —  RegressionMetric. Она задает метрику для оценки регрессии.
     double vector.RegressionError(const enum lr_error);
     double matrix.RegressionError(const enum lr_error);
     vector matrix.RegressionError(const enum lr_error,const int axis);
    В качестве метрик могут использоваться:
    enum REGRESSION_ERROR
      {
       REGRESSION_MAE,     // Средняя абсолютная ошибка
       REGRESSION_MSE,     // Средняя квадратичная ошибка
       REGRESSION_RMSE,    // Корень из средней квадратичной ошибки
       REGRESSION_R2,      // R в квадрате
       REGRESSION_MAPE,    // Средняя абсолютная ошибка в процентах
       REGRESSION_MSPE,    // Среднеквадратичная ошибка в процентах
       REGRESSION_RMSLE    // Среднеквадратичная логарифмическая ошибка
      };
  2. Добавлена возможность записи массивов с размером данных более INT_MAX (массивы структур).

MetaEditor

  1. Доработана панель вкладок:
    • Панель не скрывается, даже если открыто только одно окно. Таким образом, вам всегда остаются доступны команды контекстного меню вкладки.
    • Для каждой вкладки добавлена кнопка 'X' для закрытия. Помимо этого, вкладки можно закрывать средней кнопкой мыши или через контекстное меню.



  2. Добавлена команда для быстрой компиляции программ. В этом режиме не выполняется оптимизация кода, что значительно сокращает время создания исполняемого файла EX5. Используйте этот режим в активной стадии разработки, когда требуется быстро проверить написанный код. А уже при компиляции программы для реальной работы включайте режим максимальной оптимизации для наилучшей производительности.



    Параметр "Максимальная оптимизация" в настройках проекта выполняет ту же функцию.
    Все операции, связанные с компиляцией, вынесены в отдельное меню "Сборка".

  3. Улучшено управление кодом:
    • Разделены команды для перехода к объявлению и реализации. Ранее использовалась одна команда, которая выводила меню выбора. Теперь вы сразу можете переходить к необходимой части кода.
    • Добавлена подстановка распознанного ключевого слова по нажатию "Tab" в дополнение в "Enter".




  4. Добавлена возможность автоматического отображения локальных переменных в списке наблюдения в отладчике. Для этого включите опцию "Локальные" в контекстном меню. Во время отладки по мере перехода по коду в список будут автоматически выводиться переменные из текущей области видимости.



  5. Улучшена работа списка наблюдения в отладчике для векторов и матриц.
  6. Исправлены пути в проектных файлах. Ошибка могла приводить к пропаданию файлов из проектов.

Tester

  1. Улучшена остановка тестерных агентов при завершении работы платформы.
  2. Добавлен пятый узел для MQL5 Cloud Network, он размещен в Гонконге. Это ускорит оптимизацию роботов с использованием сети в ближайших регионах.

Исправления по крешлогам.
29 апреля 2022
MetaTrader 5 build 3280: Улучшения и исправления по отзывам трейдеров

Terminal

  1. Исправлено заполнение стандартных уровней Trailing Stop в контекстном меню открытых ордеров и позиций.



  2. Обновлены переводы пользовательского интерфейса.

Исправления по крешлогам.



21 апреля 2022
MetaTrader 5 build 3270: Улучшения и исправления

Terminal

  1. Улучшен встроенный чат:
    • Обновлен дизайн — теперь сообщения показывают без "облачков", разгружая диалоги от лишних деталей. Добавлены аватары и разделители дат.
    • В меню сообщений добавлены команды копирования и удаления.
    • Исправлены ошибки и повышена стабильность работы.



  2. Исправлена работа команды для группового закрытия позиций. Ошибка возникала на счетах с хеджиноговой системой учета позиций.
  3. Исправлен учет некоторых типов сделок при формировании истории позиций.

Исправления по крешлогам.
15 апреля 2022
MetaTrader 5 build 3260: Массовые операции, функции матриц и векторов и улучшения в чате

Terminal

  1. Добавлены команды для массового закрытия позиций и снятия отложенных ордеров.

    В контекстном меню раздела торговли появился новый пункт — "Массовые операции". Список доступных команд формируется в нем интеллектуально, в зависимости от выбранной операции и типа вашего счета.



    В меню всегда доступны команды:
    • Закрытие всех позиций. Для хеджинговых счетов система в первую очередь пытается закрыть позиции встречными, и уже оставшиеся позиции закрывает по обычной процедуре.
    • Закрытие всех прибыльных и всех убыточных позиций
    • Удаление всех отложенных ордеров
    • Удаление всех отложенных ордеров отдельно по типам: Limit, Stop, Stop Limit

    Если выбрать позицию, в меню появляются дополнительные команды:

    • Закрытие всех позиций по тому же символу
    • Закрытие всех позиций в том же направлении (для хеджинговых счетов)
    • Закрытие встречных позиций по тому же символу (для хеджинговых счетов)
    • Разворот позиций (для неттинговых счетов)

    Если выбрать отложенный ордер, в меню появляются дополнительные команды:

    • Удаление всех отложенных ордеров по тому же символу
    • Удаление всех отложенных ордеров того же типа по тому же символу

    Для работы этих команд пользователь должен разрешить торговлю одним кликом в настройках платформы: Сервис \ Настройки \ Торговля.
  2. Расширены функции встроенных чатов:
    • Добавлена возможность отвечать на сообщение. Текст исходного сообщения будет включаться в ответ в виде цитаты.
    • Добавлена возможность создавать сообщения с разными типами содержимого: изображения с текстом, текст с вложениями и т.д.
    • Исправлено отображение разделителя прочитанных и непрочитанных сообщений.
    • Исправлены различные ошибки и повышена стабильность работы.



  3. Оптимизирована и значительно ускорена работа графической системы терминала. На отображение интерфейса будет тратиться меньше ресурсов.
  4. Исправлен расчет дневного изменения цены для фьючерсов. Если брокер транслирует клиринговую цену, то расчет будет осуществляться от нее.
    ((Last - Клиринговая цена)/Клиринговая цена)*100
    Полное описание расчета для всех видов инструментов доступно в документации.

  5. Исправлены ошибки при покупке MQL5-сервисов:
    • В некоторых случаях платежные системы могли выводить некорректные сообщения об ошибках при удачных операциях.
    • На промежуточных этапах аренды продукта в Маркете на странице могла отображаться некорректная цена.

  6. Исправлена работа кнопки "Запуск" на странице купленного/скачанного продукта в Маркете. Теперь она корректно запускает приложение на первом из открытых графиков.
  7. Исправлен учет некоторых типов сделок при формировании истории позиций.

MQL5

  1. Добавлены новые функции для работы с матрицами и векторами:
    • Median — возвращает медиану элементов матрицы или вектора
    • Quantile — возвращает q-й квантиль элементов матрицы/вектора или элементов вдоль указанной оси матрицы
    • Percentile — возвращает q-й перцентиль элементов матрицы/вектора или элементов вдоль указанной оси матрицы
    • Std — рассчитывает стандартное отклонение элементов матрицы или вектора
    • Var — рассчитывает дисперсию элементов матрицы или вектора
    • CorrCoef — рассчитывает коэффициент корреляции матрицы или вектора
    • Correlate — рассчитывает кросс-корреляцию двух векторов
    • Convolve — возвращает дискретную линейную свертку двух векторов
    • Cov — вычисляет ковариационную матрицу

  2. Идет работа по добавлению встроенных методов для числовых массивов. Это повысит удобство написания кода, сделает его более компактным, а также улучшит совместимость с другими языками.

    На данный момент доступно три метода:
    • ArgSort — сортирует массив по заданному измерению, по умолчанию — по последнему (axis=-1).
    • Range — возвращает число элементов в указанном измерении массива. Аналог ArrayRange.
    • Size — возвращает количество элементов массива. Аналог ArraySize.

    Пример:
    void OnStart()
      {
       int arr[4][5]=
         {
            {22, 34, 11, 20,  1},
            {10, 36,  2, 12,  5},
            {33, 37, 25, 13,  4},
            {14,  9, 26, 21, 59}
         };
       ulong indexes[4][5];
    //--- Отсортируем массив
       arr.ArgSort(indexes,-1,0);
       Print("indexes");  
       ArrayPrint(indexes);
      }
    
    // Результат в журнале:
    // indexes
    //     [,0][,1][,2][,3][,4]
    // [0,]   4   2   3   0   1
    // [1,]   2   4   0   3   1
    // [2,]   4   3   2   0   1
    // [3,]   1   0   3   2   4

  3. Идет работа по добавлению встроенных методов для строк.
    На данный момент доступны следующие методы:
    • BufferSize — возвращает размер буфера, распределенного для строки.
    • Compare — сравнивает между собой две строки и возвращает результат сравнения в виде целого числа.
    • Length — возвращает число символов в строке.
    • Find — ищет подстроку в строке.
    • Upper — переводит строку в верхний регистр.
    • Lower — переводит строку в нижний регистр.
    • Replace — производит замену подстроки.
    • Reserve — резервирует буфер для строки.

    Все методы работают аналогично строковым функциям.

    Пример:
    void OnStart()
      {
       string test="some string";
       PrintFormat("String length is %d",test.Length());
      }
    
    // Результат в журнале:
    // String length is 11
  4. Добавлено значение SYMBOL_SUBSCRIPTION_DELAY в перечисление ENUM_SYMBOL_INFO_INTEGER — размер задержки у котировок, передаваемых по символу.

    Используется только для инструментов, работающих по подписке, как правило при трансляции данных в бесплатном тестовом режиме.

    Свойство можно запрашивать только для символов, выбранных в Обзоре рынка. В ином случае вы получите ошибку ERR_MARKET_NOT_SELECTED (4302).

  5. Добавлено свойство ACCOUNT_HEDGE_ALLOWED в перечисление ENUM_ACCOUNT_INFO_INTEGER — разрешение на открытие встречных позиций и отложенных ордеров. Используется только для хеджинговых счетов, позволяя реализовать требования некоторых регуляторов, когда на счете запрещается иметь встречные позиции, но разрешается иметь несколько позиций по одному символу в одном направлении.

    Если эта опция отключена, на счетах запрещается одновременно иметь разнонаправленные позиции и ордера по одному и тому же инструменту. Например, если на счете имеется позиция Buy, то пользователь не может открыть позицию Sell или выставить отложенный ордер на продажу. При попытке сделать это пользователю будет выдаваться ошибка TRADE_RETCODE_HEDGE_PROHIBITED.

  6. Добавлены новые свойства в перечисление ENUM_SYMBOL_INFO_DOUBLE:
    • SYMBOL_SWAP_SUNDAY
    • SYMBOL_SWAP_MONDAY
    • SYMBOL_SWAP_TUESDAY
    • SYMBOL_SWAP_WEDNESDAY
    • SYMBOL_SWAP_THURSDAY
    • SYMBOL_SWAP_FRIDAY
    • SYMBOL_SWAP_SATURDAY

    Они позволяют получить коэффициент начисления свопов для каждого дня недели. 1 — одиночное начисление свопов, 3 — тройное, 0 — начисление отсутствует.

  7. Исправлена ошибка в работе функций CopyTicks и CopyTicksRange, приводившая к отдаче устаревших данных при переходе через полночь. Ошибка возникала в случаях, когда по инструменту не поступали тики.
  8. Исправления по крешлогам.
11 февраля 2022
MetaTrader 5 build 3210: добавлены новые методы матриц и управление минимальным/максимальным значением индикатора

MQL5

  1. Добавлены функции Min, Max, ArgMin, ArgMax и Sum для векторов и матриц, которые позволяют находить минимальное и максимальное значения, соответствующие индексы и сумму.
  2. Добавлена поддержка методов Flat для матриц. Это позволяет адресоваться к элементу матрицы через один индекс, а не через два.
    double matrix::Flat(ulong index) const;      // getter
    void matrix::Flat(ulong index,double value); // setter

    Псевдокод вычисления адреса элемента матрицы:

    ulong row=index / mat.Cols();
    ulong col=index % mat.Cols();
    
    mat[row,col]

    Например, для матрицы matrix mat(3,3) доступы можно записать так:

      на чтение — x=mat.Flat(4), что эквивалентно записи x=mat[1][1]
      на запись — mat.Flat(5, 42), что эквивалентно записи mat[1][2]=42

    В случае вызова функции с некорректным для матрицы индексом будет сгенерирована критическая ошибка исполнения OutOfRange.

  3. Улучшено форматирование дробных чисел во входных параметрах MQL5-программы. При чтении некоторых вещественных чисел в input-параметры подставлялись числа с большим количеством нулей, например, 0.4 представлялось как 0.400000000002.
  4. Исправлены ошибки в математической библиотеке Math\Stat\Math.mqh. Кроме того, изменена работа функции MathSample этой библиотеки, чтобы соответствовать классическому поведению таких же математических библиотек при выборке с возвратом.
  5. Исправлена ошибка в работе CopyTicks/CopyTicksRange, приводящая к отдаче устаревших данных при переходе через полночь для тех случаев, когда по инструменту не поступают тики
  6. Добавлены новые значения INDICATOR_FIXED_MINIMUM и INDICATOR_FIXED_MAXIMUM в перечисление ENUM_CUSTOMIND_PROPERTY_INTEGER.
    При помощи этих свойств можно включать/отключать фиксирование минимального и максимального значений индикатора с помощью функции IndicatorSetInteger. При вызове IndicatorSetInteger(INDICATOR_FIXED_MINIMUM/INDICATOR_FIXED_MAXIMUM, true) используется текущее минимальное/максимальное значение, соответственно


Tester

  1. Изменен алгоритм расчета Sharpe Ratio — теперь он считается классическим способом, а его значение приводится к годовому интервалу. Предыдущий алгоритм строился на разбросе полученных прибылей и убытков (PnL), но не учитывал колебания эквити при открытых позициях. Теперь в расчет принимаются взлеты и падения эквити, а само значение коэффициента Шарпа трактуется классическим образом:
    •  Sharpe Ratio < 0              Стратегия убыточна, не годится. Плохо.
    •  0 < Sharpe Ratio  < 1.0    Риск не окупается. Такие стратегии могут браться в работу, если нет альтернатив. Неопределенно.
    • Sharpe Ratio ≥ 1.0             Если коэффициент Шарпа превышает единицу, это означает, что риск окупается, портфель/стратегия работает. Хорошо.
    • Sharpe Ratio ≥ 3.0            Высокий показатель говорит о том, что вероятность получить убыток в каждой конкретной сделке очень мала. Очень хорошо.

Terminal

  1. Оптимизировано потребление памяти терминалом.
  2. Улучшена работа сетевой подсистемы для повышения производительности и уменьшения сетевых задержек.
  3. Убрано отображение нулевого уровня сетки в индикаторе в тех случаях, когда отрисовка сетки отключена.


Обновлена документация


28 января 2022
MetaTrader 5 build 3180: Векторы и матрицы в MQL5 и повышение удобства работы

Terminal

  1. Добавлена активация окна графика при переносе на него символа из "Обзора рынка" или торговой операции из истории счета.

    Оба эти действия меняют финансовый инструмент графика на выбранный. Ранее они не приводили к тому, чтобы окно графика становилось активным. Соответственно, некоторые дальнейшие действия, такие как вызов торгового диалога (F9) или изменение масштаба (+/-) при помощи горячих клавиш, могли неожиданно для пользователя применяться к другому графику. Теперь график, чей символ вы поменяли перетаскиванием, сразу становится выбранным для дальнейшей работы.

  2. Добавлено открытие окна нового ордера при двойном клике на торговой операции в истории счета. При этом в диалог сразу же подставляется финансовый инструмент из операции, на которой вы кликнули, что позволяет торговать быстрее. Аналогичная команда добавлена в контекстное меню.




  3. Добавлено интеллектуальное включение реальных или тиковых объемов при открытии новых графиков. Эти данные важны при анализе рынка, однако не все трейдеры знают об их доступности в платформе.

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

    Механизм используется, только если график открывается с шаблоном по умолчанию default.tpl. Если пользователь вручную отключит показ объемов в настройках графика, они не будут включаться опять при его переоткрытии. Пользовательские шаблоны не затрагиваются.

  4. Оптимизировано и значительно ускорено отображение пользовательского интерфейса.
  5. Доработана функция печати графиков, вызываемая через меню "Файл":
    • Исправлено сохранение настроек печати
    • Улучшен вид печатаемой страницы: увеличены линии сетки, скрыто название программы, обновлен шрифт заголовка
    • Увеличен диалог печати для корректного отображения интерфейса

  6. Исправлена работа поля объема в панели быстрой торговли на графике. Ранее после ввода нового значения и нажатия клавиши Tab значение сбрасывалось на предыдущее.
  7. Исправлен показ торговой истории на графике. Ранее при переключении между счетами операции от предыдущего счета не удалялись с графиков.
  8. Исправлена оплата сервисов MQL5.com с помощью PayPal.
  9. Исправлено зависание платформы при отображении графика волатильности опциона.
  10. Исправлена проверка прав при вступлении в групповой чат с участниками сообщества MQL5.com. Ранее вновь подключившийся пользователь мог только читать, но не писать сообщения.
  11. Заменена надпись на графике при отсутствии данных. Теперь вместо "Waiting for update" отображается имя инструмента, таймфрейм и описание инструмента.
  12. Доработана поддержка отрицательных цен, добавленная в билде 2450. Для соответствующих инструментов в "Обзоре рынка" теперь могут отображаться и нулевые значения.
  13. Исправлено отображение логотипов продуктов в Маркете при работе под Wine.

MQL5

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

    На данный момент уже готово множество функций:
    • Eye — создает матрицу с единицами по указанной диагонали и нулями в других местах.
    • Identity — создает матрицу указанного размера с единицами на главной диагонали и нулями в других местах.
    • Ones — создает матрицу указанного размера, заполненную единицами.
    • Zeroes — создает матрицу указанного размера, заполненную нулями.
    • Full — создает матрицу указанного размера, заполненную указанными значениями.
    • Copy — создает копию матрицы или вектора.
    • Diag — извлекает диагональ из матрицы, а также заполняет указанную диагональ значениями из вектора.
    • Tri — создает матрицу с единицами на заданной диагонали и под ней и нулями в других местах.
    • Row — возвращает строку матрицы в виде вектора, а также заполняет указанную строку значениями из вектора.
    • Col — возвращает столбец матрицы в виде вектора, а также заполняет указанный столбец значениями из вектора.
    • Rows — возвращает количество строк в матрице.
    • Cols — возвращает количество столбцов в матрице.
    • Transpose — транспонирование матрицы.
    • * — произведение матриц, векторов и скаляров — dot-продукт.
    • Power — возведение матрицы в степень.
    • Kron — произведение Кронекера.
    • Cholesky — разложение Холецкого.
    • QR — QR-разложение матрицы.
    • SVD — сингулярное разложение.
    • LU — LU-разложение матрицы.
    • LUP — LUP-разложение матрицы.
    • Norm — вычисление нормы матрицы.
    • Cond — вычисление числа обусловленности матрицы.
    • Spectrum — вычисление спектра матрицы.
    • Det — расчет определителя матрицы.
    • Rank — вычисление ранга матрицы.
    • SLogDet — получение знака и натурального логарифма определителя матрицы.
    • Trace — вычисление следа матрицы.
    • Solve — решение системы линейных уравнений.
    • LstSq — решение системы линейных уравнений методом наименьших квадратов.
    • Inv — расчет обратной матрицы.
    • PInv — расчет псевдообратной матрицы методом Мура — Пенроуза.
    • Compare — сравнение двух матриц с использованием эпсилона.

    Более подробная информация доступна в документации MQL5.

  2. Исправлены ошибки при работе с файлами и базами данных, связанные с ограничением на длину пути. В частности, функция DatabaseOpen позволяла установить путь больше разрешенного, что приводило к некорректному созданию базы. Теперь функция будет корректно возвращать код ошибки ERR_TOO_LONG_FILE_NAME.
  3. Исправлен контроль константности переменных. В некоторых случаях компилятор мог не выдавать ошибку "constant variable cannot be passed as reference".
  4. Исправлены ошибочные предупреждения компилятора об использовании неинициализированной переменной.
  5. Исправлена работа функции ChartWindowOnDropped для индикаторов. Ранее она всегда возвращала нулевое значение.
  6. В модуль интеграции с Python добавлена поддержка Python 3.10.

VPS

  1. Исправлено отображение пункта VPS в Навигаторе. В некоторых случаях он мог исчезать при переключении между счетами.

MetaEditor

  1. Исправлено разворачивание сложных выражений в окне наблюдения при отладке.
Tester
  1. : Исправлен экспорт отчетов тестирования в файл. Некоторые значения могли округляться некорректно, если в качестве валюты депозита использовалась валюта с точность 0 знаков после запятой. Например, JPY.
  2. Исправления по крешлогам.
22 октября 2021
MetaTrader 5 build 3091: Улучшения в работе

Terminal

  1. Исправлен переход на пустую страницу после покупки MQL5-сервисов. Теперь пользователи будут сразу переходить к результатам операции.
  2. Исправлено чрезмерное сжатие изображений документов, загружаемых при запросе реальных счетов. Это повысило качество автоматических проверок KYC и скорость принятия решений.
  3. Исправлена работа графика, открываемого при завершении тестирования.

MQL5

  1. Добавлена поддержка SQLite 3.36.0.

MetaEditor

  1. Добавлена подсветка фона парных скобок. Для включения перейдите в общие настройки MetaEditor.
  2. Улучшена работа отладчика MQL5-программ.

Исправления по крешлогам.
21 октября 2021
MetaTrader 5 build 3090: Улучшения исправления

Terminal

  1. Исправлена ошибка, из-за которой в некоторых случаях могли пропадать пользовательские торговые инструменты.
  2. Доработаны иконки меню и панелей инструментов.
  3. Добавлены три новых языка MQL5.com: французский, итальянский и турецкий.

    Количество языков, на которых доступно крупнейшее сообщество трейдеров MQL5.community, возросло до 11. Мы полностью перевели интерфейс сайта, документацию, а также несколько десятков важных тем на форуме. В скором времени появится перевод статей и экономического календаря.

  4. Исправления по крешлогам.

MQL5

  1. Исправлены ошибки в работе функции StringConcatenate.
  2. Исправлено выставление значения _LastError при работе с функцией FileSave. В некоторых случаях вместо описания ошибки, возникшей в функции, переменная могла содержать нулевое значение.
  3. Исправлен импорт данных из ресурсов в массивы типа double.

MetaTester

  1. Исправлена ошибка, приводившая к зависанию окна графика при визуальном тестировании.
Обновлена документация
14 октября 2021
MetaTrader 5 build 3081: Улучшения в MQL5-сервисах и обновленный дизайн

Terminal

  1. Улучшена навигация по сервисам MQL5.community.

    Подразделы Маркета, Сигналов и Хостинга вынесены в Навигатор из рабочей области. Это облегчит поиск продуктов, а также работу со своими покупками и подпискам. Для каждого сервиса добавлен раздел "Как это работает" с полезной информацией о его использовании.


    Улучшена навигация по сервисам MQL5.community


  2. Полностью обновлены иконки всех меню, панелей инструментов и диалогов. Благодаря им интерфейс терминала и MetaEditor стал более простым для восприятия:

    • Снижено количество мелких деталей, которые сложно различить
    • Используется меньшее количество цветов, чтобы снизить цветовой шум
    • Используется меньше градиентов, чтобы повысить читаемость
    • Используются более понятные метафоры


    В платформе обновлены все меню, панели инструментов и диалоги


  3. Добавлен показ издержек при совершении сделок в торговой истории. Эта функция используется у брокеров, регулируемых NFA.


    В истории счета теперь показываются издержки по сделкам


    Если ваш брокер включит расчет соответствующего показателя на своей стороне, в торговой истории среди доступных колонок появится "Издержки". Она показывает стоимость совершения сделки относительно средней цены инструмента (mid-point spread cost).

  4. Добавлена поддержка корейской версии MQL5.com.

    Это уже восьмой язык, на котором доступно крупнейшее сообщество трейдеров MQL5.community. Мы полностью перевели интерфейс сайта, статьи, экономический календарь, важные темы форума. В скором времени появится перевод документации MQL5.

  5. Исправлена загрузка пользовательских торговых инструментов. В некоторых случаях настройки вновь создаваемых символов могли переписывать настройки уже имеющихся.
  6.  Исправлено отображение торговой истории сигнала на графике. При включении соответствующей опции на графике помечались сделки сразу по всем инструментам, а не только по инструменту графика.
  7. Добавлен экспорт колонки "Сбор" в отчет по торговой истории. Ранее этот показатель отображался только в истории, но не сохранялся в файл.
  8. Оптимизирована и значительно ускорена работа панелей для торговли одним кликом в Обзоре рынка и на графиках.
  9. Исправлена работа поля "Коэффициенты маржи" у пользовательских торговых инструментов. В некоторых случаях заданные значения могли сбрасываться к нулевым.
  10. Продолжаются работы над сервисом подписок на дополнительные услуги от брокеров. Исправлены ошибки в окне подписки на котировки.
  11. Исправлено отображение аналитического объекта "Трендовая линия". Она могла исчезать при масштабировании и изменении размера окна графика.
  12. Исправлено отображение аналитического объекта "Прямоугольник". При выходе одной из точек привязки за область видимости графика объект мог исчезать.
  13. Исправлена и значительно ускорена работа встроенных чатов MQL5.community.
  14. Исправлено округление параметра "Стоимость" в списке открытых позиций. Ранее дробная часть значения могла не показываться.
  15. Исправлена проверка мобильных телефонов при открытии счетов. Для некоторых операторов из Китая телефон мог определяться как указанный некорректно.
  16. Добавлена поддержка паролей длиной более 32 символов в MQL5-аккаунтах.
  17. Исправлен экспорт сертификатов при работе в Wine. Эта функция используется для счетов с расширенной аутентификацией при их переносе из десктопной платформы в мобильную.
  18. Исправлена работа кнопок перехода к MQL5-сервисам, расположенным на нижней панели окна "Инструменты". При откреплении окна кнопки становились неактивными.
  19. Ограничен размер меню "Файл \ Новый график": не более 128 подменю с группами символов и не более 32 символов в каждом подменю. Это позволяет ускорить работу терминала и избежать зависаний при добавлении в "Обзор рынка" большого количества инструментов (2000 и более).

MQL5

  1. Продолжаются работы по добавлению поддержки векторов и матриц. Новые функции существенно расширят возможности для разработчиков решений на основе нейросетей.
  2. Добавлены значения DEAL_SL и DEAL_TP в перечисление ENUM_DEAL_PROPERTY_DOUBLE — уровни Стоп Лосс и Тейк Профит сделки.

    Для сделок входа и разворота эти свойства устанавливаются в соответствии со значением Стоп Лосс/Тейк Профит у ордеров, в результате исполнения которых они были совершены. Для сделок выхода используются значения Стоп Лосс/Тейк Профит соответствующих позиций на момент их закрытия.

  3. Добавлено значение MQL_HANDLES_USED в перечисление ENUM_MQL_INFO_INTEGER — количество активных объектов классов (хэндлов) у MQL-программы. Здесь учитываются как динамические (созданные через new), так и нединамические объекты, глобальные/локальные переменные или члены классов. Чем больше хэндлов использует программа, тем больше она потребляет ресурсов.

  4. Добавлены новые методы для работы со структурой MqlCalendarValue, описывающей событие экономического календаря:

    • HasActualValue(void) — возвращает true, если актуальное значение события задано, иначе false
    • HasForecastValue(void) — возвращает true, если прогнозное значение события задано, иначе false
    • HasPreviousValue(void) — возвращает true, если предыдущее значение события задано, иначе false
    • HasRevisedValue(void) — возвращает true, если пересмотренное значение события задано, в противном случае false
    • GetActualValue(void) — возвращает актуальное значение события (double) или nan, если оно не задано
    • GetForecastValue(void) — возвращает прогнозное значение события (double) или nan, если оно не задано
    • GetPreviousValue(void) — возвращает предыдущее значение события (double) или nan, если оно не задано
    • GetRevisedValue(void) — возвращает пересмотренное значение события (double) или nan, если оно не задано

  5. Исправлена отладка MQL5-программ, использующих библиотеки в виде EX5-файлов.
  6. Ускорена компиляция программ, содержащих большие массивы, инициализируемые последовательностью.
  7. Исправлена ошибка в функции CopyTicksRange, возникавшая при работе с данными пользовательских торговых инструментов. В некоторых случаях функция могла возвращать данные, не соответствующие запрошенному периоду.
  8. Исправлена проверка на наличие всех параметров шаблона при специализации по параметрам. В некоторых случаях компиляция кода с шаблонами под отладку могла приводить к ошибке "code generation error".

Signals

  1. Добавлена возможность автоматического продления подписки на Сигналы.

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


    Включите автоматическое продление подписки на Сигналы


    Если при оплате была выбрана карта, но платеж за продление с нее не удастся, система попытается использовать баланс вашего MQL5-аккаунта.

    Не беспокойтесь об изменении стоимости подписки. Если цена увеличится, автоматическое продление не произойдет. Вы будете уведомлены об этом по почте, указанной в вашем MQL5-аккаунте.

    Автопродление можно включить или отключить в любой момент через раздел "Мои подписки" на MQL5.com.


    Управляйте автопродлением в разделе &quot;Мои подписки&quot; на MQL5.com


  2. Исправлены ошибки в отображении витрины сигналов. Теперь система будет более правильно учитывать совместимость сигналов с текущим счетом.

Market

  1. Добавлен поиск по имени и логину автора продукта на витрине Маркета. Ранее поиск работал только по названию и описанию продуктов.

VPS

  1. Улучшена система автоматического продления подписки на VPS.

    Ранее вы могли оплачивать автоматическое продление только с баланса MQL5-аккаунта. Соответственно, для того чтобы продление выполнилось, вам было необходимо иметь достаточную сумму на балансе.

    Теперь вам не придется думать о своевременном пополнении аккаунта. Для автопродления система будет использовать тот же способ оплаты, что вы использовали при первичном оформлении подписки. Если вы оплатили хостинг картой и включили автоматическое продление, при истечении текущего срока система продлит подписку по тому же тарифу, списав средства с той же карты. Если оплата картой не удастся, система попытается использовать баланс вашего MQL5-аккаунта как раньше.


    Для автопродления теперь можно использовать карты и другие способы оплаты


    С новой функцией вы можете быть уверены, что подписка не истечет, ваши советники продолжат работу и копирование сигналов не остановится. Вам не нужно проверять и пополнять баланс вручную.
    Функция работает только для новых подписок. Для существующих будет использоваться старая схема автоматического продления с оплатой через баланс MQL5-аккаунта.

MetaEditor

  1. Исправлен переход к объявлению функции или переменной при помощи клавиш Alt+G. Если объявление находилось ниже строки, из которой происходит вызов, переход не осуществлялся.
  2. Добавлен показ типа объекта для ссылок на объекты классов в отладчике.
  3. Добавлена поддержка отображения union в списке наблюдаемых выражений.

Tester

  1. Исправлена ошибка в визуальном тестировании. В некоторых случаях на график могли не выводиться используемые в эксперте индикаторы.

MetaTrader 5 iPhone/iPad, MetaTrader 5 Android

  1. Добавлено отображение диалога с отказом от ответственности при запуске приложения. Пожалуйста, внимательно прочтите его. Также некоторые брокеры могут создать вам демо-счет автоматически при первом запуске приложения. В этом случае вам будет показан диалог, предупреждающий о правилах.


    В MetaTrader 5 для iPhone/iPad добавлены специальные предупреждения

  2. Добавлена возможность подключить счет к мониторингу в сервисе "Сигналы" прямо из мобильного приложения. Для этого выберите "Мониторинг счета" в меню. Для удобства в окно регистрации сразу подставляется номер счета и название брокера. Вам остается указать только имя сигнала и инвесторский пароль.

    Подключив счет к мониторингу, вы получите расширенную статистику по своей торговле, сможете делиться результатами с другими трейдерами, а также продавать сигналы.

  3. Добавлена поддержка Huawei AppGallery и HMS Services для мобильных терминалов, работающих на Android OS. Владельцы смартфонов от Huawei смогут устанавливать приложение из своего магазина и работать с Push-уведомлениями.

Обновлена документация.
18 июня 2021
MetaTrader 5 build 2980: Push-уведомления о торговых операциях

Terminal

  1. Добавлена возможность получать Push-уведомления о сделках с торгового сервера — они работают, даже когда ваш терминал выключен.



    Ранее вы могли получать уведомления на мобильные устройства только от собственного десктопного терминала. Как только происходила торговая операция, терминал отправлял соответствующее сообщение на MetaQuotes ID, указанный в настройках. Соответственно, это работало, только пока он оставался включенным. Теперь таких ограничений нет. Если на сервере сработал Тейк Профит, а ваш компьютер выключен, вы получите уведомление о закрытии позиции на свое мобильное устройство.

    Для получения уведомлений с сервера необходимо:
    • Иметь реальный счет — уведомления с сервера не работают для демо-счетов
    • Установить на свой смартфон мобильный терминал MetaTrader 5 для iOS или Android
    • Открыть в нем раздел сообщений, найти ваш MetaQuotes ID и указать его в настройках десктопного терминала
    • Включить уведомления с сервера в настройках десктопного терминала

    Доступность и детальность уведомлений зависит от вашего брокера

    Всего поддерживаются три типа уведомлений: об ордерах, о сделках и о балансовых операциях. При включении опции доступные виды уведомлений будут выведены в журнал терминала:
    '1222': subscribed to deals, orders, balance notifications from trade server

  2. Обновлена витрина MetaTrader VPS. Мы сделали ее более современной и удобной:
    • Интерфейс адаптируется под любую ширину экрана.
    • Витрина занимает меньше пространства по высоте, чтобы всегда помещаться в рабочем окне.
    • Необходимая информация появляется только в тот момент, когда она нужна. Пока вы не выбрали тариф, вам не показываются лишние детали оплаты.



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



  4. Добавлено сохранение состояния окон для MQL5-сервисов. Если вы оставите Маркет открытым перед выключением терминала, вы найдете его в таком же состоянии при последующем включении.
  5. Исправлена периодическая синхронизация состояния MQL5-аккаунта. Ошибка в некоторых случаях могла приводить к невозможности копировать сигналы.
  6. Исправлено отображение подборки рекомендуемых продуктов в Маркете.
  7. Исправлена работа контекстного меню сигналов в Навигаторе. При помощи него можно перейти к просмотру сигнала, на который вы подписаны, а также отменить подписку.

MQL5

  1. В стандартной библиотеке исправлена ошибка в работе оператора "-" в реализации комплексных чисел (файл MQL5\Include\Math\Alglib\complex.mqh).
  2. В инициализирующих последовательностях теперь можно использовать любые выражения, а не только константные. Это повысит удобство использования и улучшит совместимость с кодом С++.
    struct POINT
      {
       int x,y;
      };
    
    int GetYFunc(y)
      {
       return(y * y);
      }
    
    void SomeFunction(int x1,int x2,int y)
      {
       POINT pt={ x1+x2, GetYFunc(y) };
       ProcessPoint(pt);
      };
  3. Исправлена ошибка, возникавшая при компиляции union с огромными массивами данных.
  4. Исправлена работа функции StringToCharArray. Теперь она преобразует всю переданную строку в массив Char, а не останавливается на первом терминирующем нуль-символе.
  5. Добавлен контроль явного присутствия в коде вызова конструктора для классов/структур, у которых родительский класс не имеет конструктора по умолчанию.

MetaEditor

  1. Добавлено отображение места вызова для inline-функций в отчете профилировщика.
    В приведенном ниже примере вызов func(); теперь подсвечивается:




    Сама функция func не подсвечена, так как ее код полностью помещен в OnStart.

  2. Добавлена возможность создавать пустой проект. Это будет удобно при нестандартных разработках с собственной структурой файлов, когда шаблоны по умолчанию не подходят.




    При создании проекта таким образом создается только пустой файл настроек "mqproj". Файлы для исходного кода в последующем необходимо создать самостоятельно.

  3. Ускорен запуск MetaEditor.
  4. Исправлена ошибка отображения данных в списке наблюдаемых выражений при отладке. В некоторых случаях в нем могли показываться некорректные значения переменных.
  5. Исправлено автоматическое добавление расширения ".py" к файлам скриптов на Python, создаваемым через MQL Wizard.

Обновлена документация.
21 мая 2021
MetaTrader 5 build 2940: Перенос витрин MQL5-сервисов в рабочую область и обновление дизайна

Terminal

  1. Сервисы "Маркет", "Сигналы" и "Виртуальный хостинг" перенесены в основную рабочую область платформы для более удобной работы.

    Ранее разделы для покупки MQL5-сервисов располагались в окне "Инструменты", где доступно только небольшое пространство. Основная рабочая область же позволяет показать пользователям полноценные витрины, где они смогут удобно выбирать необходимые продукты. При этом меньшее количество вкладок в инструментах облегчит работу с другими функциями платформы.



    Мы постарались сделать так, чтобы доступ к дополнительным сервисам не мешал основным задачам трейдеров — торговле и анализу графиков:
    • Вкладки сервисов располагаются в самом конце, после всех графиков.
    • Если окна сервисов не нужны, их можно просто закрыть. Вернуться к ним можно легко: через "Навигатор", панель инструментов или меню "Сервисы".


    Помимо переноса мы полностью обновили дизайн сервисов. Он стал более легким и современным. В сигналах появились дополнительные данные, которые ранее были доступны только на витрине сайта MQL5.community: диаграмма-паутинка с основными характеристиками, показатель надежности и активности и т.д.



  2. Добавлена полная поддержка IPv6-адресов.

    Протокол IPv4, который сейчас используется в каждой сети, был создан более 30 лет назад. IP-адреса в нем состоят из 32 бит и представлены в виде четырех чисел по 8 бит, разделенных точками. Это позволяет получить более четырех миллиардов уникальных IP-адресов. Однако сейчас количество устройств и сайтов по всему миру выросло настолько, что адресов перестает хватать всем желающим.

    В связи с этим продукты постепенно переходят на параллельную поддержку более современного протокола — IPv6. В нем адрес состоит из 128 бит и представлен в виде x:x:x:x:x:x:x:x , где каждая буква x - это шестнадцатеричные значения шести 16-битных элементов адреса. Такой формат позволяет получить 5 x 10 ^ 28 уникальных адресов. Помимо значительно большего пространства адресов, протокол обладает рядом других преимуществ перед более старой версией. Прочитать о них можно в специализированных статьях.

    Самое главное, что платформа MetaTrader 5 теперь полностью готова к работе в сетях IPv6. Если ваш брокер или провайдер переведет вас на новую схему работы, вы не почувствуете никаких изменений и продолжите беспрепятственно торговать.

  3. Продолжается работа над диспетчером задач, представленным в билде 2815. Теперь для графиков, на которых запущена отладка или профилирование MQL5-программ, есть явная индикация этого.



  4. Ускорен запуск платформы под Wine на компьютерах с macOS и Linux. Проведена общая оптимизация работы, исправлены ошибки:
    • Улучшено отображение меню, панелей инструментов и диалоговых окон.
    • Исправлены ошибки в отображении разделов "Маркет", "Сигналы" и "VPS". В частности, исправлена загрузка логотипов продуктов на витрине "Маркета".
    • Обновлен пакет для легкой установки MetaTrader 5 на компьютерах с macOS. При помощи него платформа устанавливается как обычное приложение.
      В пакет были включены дополнительные компоненты, необходимые для более стабильной и быстрой работы. Тем, кто его использует, настоятельно рекомендуется переустановить MetaTrader 5 по ссылке https://download.mql5.com/cdn/web/metaquotes.software.corp/mt5/MetaTrader5.pkg.zip

    Если вы используйте CrossOver, полностью переустановите в нем MetaTrader 5, чтобы получить последнюю 64-битную версию платформы.
  5. Исправлена работа сочетания клавиш "Ctrl+F9". Теперь оно переключает фокус на вкладку торговли в "Инструментах".

MQL5

  1. Продолжается отказ от старых технологий, в том числе 32-битных компонентов:
    • 32-битные терминалы больше не могут загружать программы из "Маркета".
    • 32-битные терминалы не могут использовать сервис хостинга.
    • В 32-битных редакторах MetaEditor больше не доступна функция дополнительной защиты файлов через MQL5 Cloud Protector.
    • MQL5-программы, скомпилированные в слишком старых версиях MetaEditor (выпущенных 5 лет назад и более), не будут запускаться в новой версии терминала.

    Поддержка 32-битной версии платформы была остановлена год назад на билде 2361. Мы настоятельно рекомендуем перейти на 64-битную версию MetaTrader 5, чтобы использовать все возможности платформы.
    Всем продавцам, кто загружал в Маркет 32-битные версии продуктов, настоятельно рекомендуется перекомпилировать их в последнем 64-битном MetaEditor и загрузить обновленные версии. В ближайших версиях мы полностью отключим возможность запуска 32-битных MQL5-программ в терминалах.

  2. Добавлена поддержка работы с комплексными числами.

    Добавлен новый встроенный тип "complex".
    struct complex
      {
       double             real;   // вещественная часть
       double             imag;   // мнимая часть
      };
    Тип "complex" может передаваться по значению в качестве параметра для MQL5-функций (в отличие от обычных структур, которые передаются только по ссылке). Для функций, импортируемых из DLL, тип "complex" должен передаваться только по ссылке.

    Для описания комплексных констант используется суффикс 'i':
    complex square(complex c)
      {
       return(c*c);
      }
      
    void OnStart()
      {
       Print(square(1+2i));  // в качестве параметра передается константа
      }
    
    // будет выведено "(-3,4)" - это строковое представление комплексного числа
    Для комплексных чисел на данный момент доступны только простые операции: =, +, -, *, /, +=, -=, *=, /=, ==, !=.

    В дальнейшем будут добавлены дополнительные математические функции: получение абсолютного значения, синуса, косинуса и многие другие.

  3. Добавлен код ошибки TRADE_RETCODE_HEDGE_PROHIBITED — открытие позиции или выставление отложенного ордера невозможно, поскольку перекрытые позиции запрещены. Ошибка возвращается в ответ на попытку произвести торговую операцию, если хеджирование запрещено, а на счете пользователя уже есть позиция или ордер в противоположном направлении по тому же символу.

MetaEditor

  1. Исправлена остановка отладки и профилирования в невизуальном режиме.
  2. Исправлено профилирование индикаторов на реальных данных. В некоторых случаях оно могло не запускаться.

VPS

  1. Исправлена ошибка миграции окружения на VPS. Она возникала, если переносимый эксперт содержал в себе индикатор в виде ресурса

Signals

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

Tester

  1. Исправлена проверка торговой сессии при тестировании. В некоторых случаях торговые операции во время тестирования могли не выполняться с ошибкой "market closed", несмотря на то, что они попадали в торговую сессию.
Обновлена документация.
2 апреля 2021
MetaTrader 5 build 2875: Улучшения и исправления

Terminal

  1. Исправлена ошибка, в результате которой обновление стандартных программ MQL5 копировалось в корень каталога данных терминала, а не в подкаталог MQL5. Соответственно, пользователи могли обнаружить в нем лишние папки Experts, Images, Include и т.д.

    При обновлении на новую версию платформы лишние каталоги будут автоматически удалены после дополнительной проверки.
  2. Исправлена ошибка, в некоторых случаях приводившая к невозможности авторизоваться в чате MQL5.community, встроенном в терминал.

Tester

  1. Исправлена оптимизация советников через MQL5 Cloud Network. В некоторых случаях она могла не запускаться.

MetaEditor

  1. Исправлены ошибки и падения при отладке и профилировании MQL5-программ.
Обновлена документация.
26 марта 2021
MetaTrader 5 build 2860: Улучшения для Wine и расширение интеграции с SQL

Terminal

  1. Добавлена возможность включать/отключать дополнительные сервисы MQL5.community. Например, если вы не интересуетесь статьями по программированию на MQL5 или копи-трейдингом в сервисе "Сигналы", вы можете их отключить ради экономии ресурсов и рабочего пространства терминала.


    По умолчанию все сервисы включены.

  2. Проведена большая оптимизация работы терминала под Wine на компьютерах с macOS и Linux:
    • Теперь открепленные служебные окна (Навигатор, Инструменты) невозможно перетащить за пределы терминала. Ранее в таких случаях пользователи могли иметь затруднения с возвращением окон в пределы терминала.
    • Исправлено изменение размера содержимого служебного окна при изменении размеров самого окна.
    • Исправлено отображение показателей производительности в диспетчере задач.
    • Улучшено отображение иконок на панели инструментов.
    • Исправлен счетчик непрочитанных сообщений в чате.
    • Исправлен показ системных команд графика: Скрыть, Развернуть, Закрыть.
    • Исправлено отображение журнала.
    • Исправлено отображение всплывающих подсказок у графиков.
    • Исправлена работа команд печати графиков.
    • Исправлено отображение верхнего меню при использовании тем оформления в Linux.
    • Исправлен поиск по GitHub, MSDN и Stack Overflow в MetaEditor.
    Рекомендуем всем пользователям обновиться на последнюю стабильную версию Wine. Это повысит скорость и надежность работы платформы.
  3. Добавлена поддержка ордеров "Market To Limit" при торговле на Стамбульской бирже (BORSA Istanbul). Изначально такой ордер исполняется как рыночный, но если ликвидности не хватает, остаток выставляется в стакан цен в виде лимитного ордера с ценой последней сделки.
  4. Исправлено отображение графика волатильности. Теперь он строится с учетом даты экспирации, выбранной на доске опционов.
  5. Исправлено добавление торговых инструментов в Обзор рынка через строку быстрого поиска. При наличии пробела в названии инструмента он не добавлялся в список.



MQL5

  1. Расширены возможности работы с базами данных на SQL. Теперь в запросах вы можете использовать множество статистических и математических функций.

    Статистические функции

    • mode — мода
    • median — медиана (50-й перцентиль)
    • percentile_25 — 25-й перцентиль
    • percentile_75 — 75-й перцентиль
    • percentile_90 — 90-й перцентиль
    • percentile_95 — 95-й перцентиль
    • percentile_99 — 99-й перцентиль
    • stddev или stddev_samp — стандартное отклонение выборки
    • stddev_pop — стандартное отклонение популяции
    • variance or var_samp — дисперсия выборки
    • var_pop — дисперсия популяции

    Математические функции


    Пример
    select
      count(*) as book_count,
      cast(avg(parent) as integer) as mean,
      cast(median(parent) as integer) as median,
      mode(parent) as mode,
      percentile_90(parent) as p90,
      percentile_95(parent) as p95,
      percentile_99(parent) as p99
    from moz_bookmarks;
  2. Добавлены новые макросы:

    • __COUNTER__ — увеличивается на единицу при каждом обращении. При использовании в шаблонах и макросах ведутся отдельные счетчики.
    • __RANDOM__ — генерирует случайное ulong-число, является аналогом функции MathRand.

  3. Исправлена работа синхронных запросов к графику в случаях, когда символ графика не существует. Теперь вместо бесконечного ожидания результата функции будут возвращать ошибку. Ситуация с несуществующим символом может возникать при переключении между торговыми счетами с разным набором доступных торговых инструментов.
  4. Оптимизирована и значительно ускорена работа функций CopyTicks*.

MetaEditor

  1. Изменен порядок профилирования и отладки на исторических данных.

    Профилирование теперь всегда осуществляется в невизуальном режиме. Отладка по умолчанию также осуществляется в невизуальном режиме, однако вы можете вручную изменить это в настройках MetaEditor:



  2. Добавлена возможность профилировки сервисов. Она осуществляется так же, как и для других типов MQL5-программ.
  3. Исправлено отображение имен функций в отчете профилировщика. В некоторых случаях они могли быть указаны как <unknown>.

Обновлена документация.
26 февраля 2021
MetaTrader 5 build 2815: Доступ к стакану цен из Python, улучшения в отладчике и профилировщике

Terminal

  1. Добавлена возможность получения данных стакана цен через Python API.
    Три новые функции позволят легко и быстро получить данные для статистических вычислений и машинного обучения при помощи огромного количества готовых библиотек Python.
    • market_book_add — производит подписку терминала MetaTrader 5 на получение событий об изменениях в стакане по указанному символу.
    • market_book_get — возвращает кортеж из BookInfo, содержащий записи стакана цен указанного символа.
    • market_book_release — отменяет подписку терминала MetaTrader 5 на получение событий об изменениях в стакане по указанному символу.

  2. Максимальная длина Push-сообщений увеличена с 256 до 1024 символов. Теперь вы можете отправлять гораздо больше информации на мобильные устройства из своих MQL5-программ.
  3. Добавлена предварительная версия "Диспетчера задач", вызываемого по клавише F2.
    Диспетчер задач — это система мониторинга ресурсов, потребляемых платформой. В нем вы можете видеть, сколько памяти потребляют графики, сколько ресурсов процессора используется советниками и т.д. Если что-то замедляет скорость работы вашей платформы, вы легко сможете обнаружить и устранить проблему.




  4. Доработан сервис "Подписки". Для торговых инструментов, чьи данные передаются с задержкой, добавлена специальная индикация:
    • Символы в "Обзоре рынка" помечаются иконкой часов, во всплывающей подсказке отображается значение задержки
    • На графиках выводится уведомление о задержке данных




  5. Исправлено отображение списка подписок при отсутствии подключения к торговому счету.
  6. Исправлена работа ссылок в письмах и новостях. Теперь они открываются в браузере по умолчанию. Ранее для этого использовался только Internet Explorer.
  7. Исправлены подключения из функции WebRequest к хостам с IPv6-адресами и защитой Cloudflare.
  8. Улучшен функционал и отзывчивость VPS сервиса.
  9. Улучшена работа платформы под Wine и MacOS/Crossover, включая версии под macOS Big Sur с процессором M1.

MQL5

  1. Исправлена ошибка в функции ArrayPrint. Ранее в некоторых случаях функция могла не выводить массив.
  2. Оптимизированы файловые операции, выполняемые при помощи функций File*. Теперь чтение и запись файлов осуществляется значительно быстрее.
  3. Снято ограничение, по которому требовалось указывать размер для второй, третьей и четвертой размерностей динамического массива, когда он используется в качестве параметра функции. Это повысит возможности повторного использования и гибкость кода.
    void func(int &arr[ ][ ][ ][ ])
      {
      }
  4.  Исправлена ошибка в работе функции ArrayBsearch. При двоичном поиске значения в отсортированном массиве функция могла некорректно возвращать индекс найденного элемента.

MetaEditor

  1. Продолжаются работы по глобальному обновлению отладчика.
    • При выводе массивов в окно наблюдения учитывается их сортировка, заданная функцией ArraySetAsSeries.
    • Добавлена поддержка локальных статических переменных.
    • Исправлено отображение значения указанного элемента массива.
    • Исправлена обработка static-полей классов.
    • Множество других исправлений для более точной и надежной отладки.

  2. Добавлена опция "Включить оптимизацию при профилировании".
    Чтобы увеличить объем детализации отчета о профилировании, можно отключать режим оптимизации кода. Без оптимизации скорость кода может упасть кратно, но взамен можно увидеть более обширное покрытие кода. При использовании учитывайте, что узкие места кода будут неточными.
    Если вам нужен более щадящий режим профилирования, отключите опцию "Использовать инлайнинг при профилировании".



    Возможность управления оптимизацией кода есть также в настройках проектов.
    • Если в проекте оптимизация отключена, то новая опция игнорируется — для профилировки оптимизация всегда выключена (в том числе инлайнинг).
    • Если в проекте оптимизация включена, то при компиляции под профилировку новая опция будет учитываться.

  3. Добавлено журналирование при отладке и профилировке. При запуске в журнал выводятся параметры окружения, а при остановке — статистика по собранным данным.
    MQL5 profiler    starting 'ExpertMACD.ex5' on history with parameters:
    MQL5 profiler       symbol: 'EURUSD'
    MQL5 profiler       period: 'H1'
    MQL5 profiler       date from: '2021.01.01'
    MQL5 profiler       date to: '2021.02.22'
    MQL5 profiler       ticks mode: 'every tick'
    MQL5 profiler       execution delay: 0 ms
    MQL5 profiler       deposit: 10000
    MQL5 profiler       currency: 'USD'
    MQL5 profiler       leverage: 1:100
    MQL5 profiler       profit in pips: NO
    MQL5 profiler    profile data received (4640 bytes)
    MQL5 profiler    758 total measurements, 0/0 errors, 470 kb of stack memory analyzed
    MQL5 profiler    7782 total function frames found (1929 mql5 code, 342 built-in, 1403 other, 4108 system)

Tester

  1. Исправлена установка неторговых часов в расширенных настройках тестирования.

Обновлена документация
15 января 2021
MetaTrader 5 build 2755: Улучшения в окне котировок и отладчике

Terminal

  1. Переработано окно котировок, позволяющее просматривать цены инструментов на экранах любого размера.

    Теперь информация в нем может выводиться в нескольких колонках, что позволяет более оптимально использовать пространство экрана. Для переключения режима показа воспользуйтесь диалогом свойств окна.


    Помимо этого, внесен ряд небольших улучшений:

    • Дополнено меню выбора колонок. Теперь в нем доступны такие же свойства инструмента, как и в "Обзоре рынка".
    • Оптимизирована работа с большим количеством инструментов. Теперь окно работает одинаково хорошо и при показе 10, и при показе 1000 инструментов.
    • Добавлено отображение краткой информации об инструменте во всплывающей подсказке.
    • Исправлено применение настроек цвета для отображения растущих и падающих цен.

  2. Добавлен показ сделок на тиковом графике синтетического стакана цен.

    Синтетический стакан цен используется для символов, по которым не транслируются цены Level 2. Уровни в нем строятся автоматически — они откладываются от лучших Bid и Ask с шагом изменения цены. Теперь, если по символу транслируются данные о цене и объеме последней сделки, вы сможете наглядно увидеть их на тиковом графике. Информация отображается в виде кругов:
    • Красные круги — сделки на продажу.
    • Синие круги — сделки на покупку.
    • Зеленые круги — направление сделки не определено.

    Чем больше размер круга, тем больше объем совершенной сделки.



  3. Исправлен расчет "греков" на доске опционов. Ошибка возникала, если у базового актива опциона была нулевая цена последней сделки.
  4. Продолжаются работы над новым сервисом "Подписки", позволяющем приобретать дополнительные услуги для трейдинга. В частности, исправлен показ подписок, зависящих от других подписок. Такие подписки используются для пакетных услуг.
  5. Улучшена работа платформы под Wine.

MQL5

  1. Добавлена генерация событий графика ChartEvent при отжатии правой и средней кнопки мыши. Это можно использовать, например, при создании графических панелей. Для работы событий необходимо отключить контекстное меню графика, используя свойство CHART_CONTEXT_MENU.
  2. Исправлена ошибка, приводившая к значительной погрешности времени ожидания в функции Sleep.

MetaEditor

  1. Начаты работы по глобальному обновлению отладчика. В частности, значительно улучшено окно наблюдаемых выражений. В нем добавлена возможность просматривать содержимое массивов и объектов в виде раскрывающихся списков, а также значения указателей.



    Для просмотра массива или объекта дважды нажмите на него в окне наблюдения.

  2. Исправлено зависание при открытии некоторых проектов.

Обновлена документация.
26 ноября 2020
MetaTrader 5 build 2715: Общие улучшения

Terminal

  1. Исправлено зависание платформы при использовании доски опционов. Оно могло возникать при нулевом размере тика в настройках торгового инструмента.
  2. Исправлены ошибки отображения интерфейса на HiDPI-мониторах.

MQL5

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

MetaTester

  1. Обновлен алгоритм расчета рейтинга агентов тестирования в сети облачных вычислений MQL5 Cloud Network. Рейтинг будет определяться более точно и будет меньше изменяться во времени.
Обновлена документация.
12 ноября 2020
Новая версия платформы MetaTrader 5 build 2690: Улучшения в MetaEditor

Terminal

  1. Исправлен показ синтетического стакана цен. Ранее он мог быть недоступен для некоторых инструментов.

    Синтетический стакан цен используется для символов, по которым не транслируются цены Level 2. Уровни в нем строятся автоматически — они откладываются от лучших Bid и Ask с шагом изменения цены. Это удобный инструмент для выставления, модификации и удаления ордеров с минимальными затратами времени и максимальной наглядностью.




MQL5

  1. Оптимизирован и значительно ускорен доступ к последним ценам из MQL5-программ при помощи функции SymbolInfoTick.
  2. Исправлен сброс параметров индикатора "Ichimoku Kinko Hyo" через диалоговое окно.




  3. Исправлено зависание функций Copy* при отсутствии истории по торговому инструменту.
  4. Продолжаются работы по полному обновлению профилировщика кода. В дополнение к нововведениям версии 2650 мы внесли ряд улучшений в его работу:
    • Улучшено представление данных
    • Сокращено название колонок в отчете
    • Добавлена возможность сохранять отчет профилирования в файл
    • Добавлен показ номера строки во всплывающей подсказке для функций в отчете



MetaEditor

  1. Добавлена возможность отключать слежение за буфером обмена и очищать его историю.
    Функция слежения за буфером позволяет повысить удобство работы с исходным кодом за счет быстрого доступа к последним использованным данным. Нажмите Alt+V в любой позиции исходного кода, выберите в меню любую из ранее скопированных строк, и она будет вставлена по месту.
    Для включения/отключения слежения воспользуйтесь соответствующей командой на панели инструментов или настройками редактора.



  2. Исправлена ошибка вычисления некоторых наблюдаемых выражений при отладке программ.

Tester

  1. Запрещена торговля для советников, запущенных в тестере стратегий в режиме приема фреймов.
  2. Исправлена ошибка, возникавшая при импорте результатов оптимизации в тестер стратегий. Из-за нее значения таймфреймов могли импортироваться некорректно.

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

Terminal

  1. Добавлена настройка "Заранее загружать данные графиков по открытым позициям и ордерам".

    Для экономии трафика торговая платформа загружает ценовую историю по инструментам только в момент ее фактического запроса, например, при открытии графика или при запуске тестирования. Однако для активно используемых инструментов это может быть не всегда удобно. Если включить новую опцию, то графики инструментов, по которым у вас есть открытые позиции или отложенные ордера, будут обновляться в фоновом режиме каждый раз при запуске платформы. Таким образом, при открытии графиков вам не придется ждать дозагрузки данных, они будут сразу доступны для анализа.




  2. Исправлено формирование дневных баров после выходных дней.
  3. Исправлено обновление графиков. В некоторых случаях после дозакачки обновленных ценовых данных графики могли не перестраиваться.
  4. Оптимизировано обновление кэша торговой истории счета. Это позволило снизить задержки получения данных при помощи функций History*.
  5. Исправлено отображение колонки комментариев при просмотре торговой истории в виде позиций.
  6. Исправлено отображение кнопки продления подписки на "Сигналы".

MQL5

  1. Продолжаются работы по полному обновлению профилировщика кода. В дополнение к нововведениям версии 2615:

    Добавлены новые параметры
    Как уже сообщалось в предыдущем обновлении, для профилирования теперь используется метод "Sampling". Профилировщик делает паузы в работе MQL-программы (~1000 раз в секунду) и собирает статистику того, сколько раз пауза пришлась на тот или иной участок кода. В том числе анализируются стеки вызовов, чтобы определить "вклад" каждой функции в общее время работы кода. В конце профилирования вы получаете информацию о том, сколько раз была выполнена пауза и сколько раз каждая из функций оказывалась в стеке вызовов:

    • Общая активность ЦП [единица измерения, %] — общее количество "появления" функции в стеке вызовов.
    • Собственная активность ЦП [единица измерения, %] — количество "пауз", которые произошли непосредственно внутри указанной функции. Этот счетчик наиболее важен для определения "узких" мест, поскольку по статистике остановка чаще происходит в тех участках программы, которые требуют большего процессорного времени.


    Добавлена возможность отключения инлайнинга функций при профилировании
    При компиляции MQL-программ осуществляется инлайнинг (встраивание) — код функций помещается непосредственно в место их вызова, что позволяет добиться существенного ускорения при работе. Однако это затрудняет профилирование функций. Чтобы получить отчет по "чистым" функциям, вы можете отключить инлайнинг при профилировании в настройках MetaEditor:




    Обновлен дизайн отчета
    Мы переработали отчет профилирования, а также представление информации профилирования в окне исходного кода. Дизайн стал более современным и привычным для пользователей Visual Studio.




  2. Исправлена ошибка в работе функции CopyTicksRange. Из-за нее в некоторых случаях функция возвращала не все данные.
  3. Добавлен новый код ошибки TRADE_RETCODE_HEDGE_PROHIBITED — открытие позиции или выставление отложенного ордера невозможно, поскольку перекрытые позиции запрещены. Ошибка возвращается в ответ на попытку произвести торговую операцию, если для счета запрещено хеджирование и на нем уже есть позиция или ордер в противоположном направлении по тому же символу.
  4. Убрана возможность вызова функции MessageBox при отладке индикаторов. MessageBox не вызывается из индикаторов, поскольку она приостанавливает работу потока исполнения на все время ожидания ответа пользователя.
  5. Оптимизировано и значительно ускорено добавление торговых инструментов в "Обзор рынка" с помощью функции SymbolSelect.
  6. Исправлено поведение функции ArrayInsert для массивов фиксированного размера. Теперь оно соответствует документации: при вставке элементов размер массива-приемника не меняется, при этом начиная с позиции вставки элементы массива-приемника сдвигаются вправо (последние count элементов "выпадают" ), а на освободившееся место происходит копирование элементов из массива-источника.

Tester

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

    • Исправлено начисление пользовательских комиссий. Теперь для работы комиссии достаточно указать только название символа, а не весь путь к нему.
    • Изменено расположение вкладок для более удобной работы.
    • Переименован диалог и опция, включающая пользовательские настройки, для облегчения понимания.
    • Оптимизирована ширина колонок в таблицах настроек.
    • При отключении опции "Использовать пользовательские настройки" все остальные настройки в диалоге теперь деактивируются. Ранее настройки оставались доступными для редактирования, и пользователи могли ошибочно посчитать, что они будут применены при тестировании.




  2. Исправлена ошибка, возникавшая в некоторых случаях при получении ордеров из торговой истории по тикету.

MetaEditor

  1. Добавлены предустановленные цветовые схемы для окна редактирования кода: светлая (по умолчанию), темная и синяя. Теперь для более комфортной работы в ночное время вам не придется перенастраивать внешний вид редактора вручную.

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



     
  2. Полностью обновлены иконки на панелях инструментов для поддержки HiDPI-мониторов.
Обновлена документация.
17 сентября 2020
MetaTrader 5 build 2615: Фундаментальный анализ и комплексный критерий в тестере стратегий

Terminal

  1. Расширены возможности для фундаментального анализа инструментов.
    Добавлены новые свойства торговых инструментов, позволяющие еще более точно категоризировать их:
    • Сектор — сектор экономики, к которому относится инструмент. Например: энергетика, финансы, здравоохранение и т.д.
    • Индустрия — отрасль индустрии, к которой относится инструмент. Например: спортивная одежда и аксессуары, производство автомобилей, ресторанный бизнес и т.д.
    • Страна — страна компании, чьи акции обращаются на бирже.
    Эти свойства позволили реализовать в Обзоре рынка отдельную систему для удобной работы с инструментами по секторам. Выберите нужную категорию из меню, и все доступные инструменты из нее будут добавлены в список для комплексного анализа:



    Также новые свойства теперь доступны в спецификации контрактов:



    Помимо этого, теперь вы можете легко открыть фундаментальные данные по инструментам. В контекстное меню Обзора рынка для каждого символа добавлены ссылки на крупнейшие агрегаторы:



    Доступность новых данных зависит от брокеров, поскольку именно они контролируют настройки. Однако мы постарались сделать так, чтобы информация стала доступна по умолчанию для максимального количества инструментов. Как только брокеры обновят свои серверы на новую версию, данные по странам, секторам и индустрии появятся в ваших платформах.
  2. Улучшена витрина Сигналов и Маркета. В частности, в левую часть окна добавлены кнопки для оформления подписки и для всех вариантов аренды:



    Помимо этого, внесены улучшения для более удобной работы: новые яркие цвета для кнопок, более заметные кнопки входа в MQL5-аккаунт и др.

  3. Исправлено вычисление потенциальной прибыли/убытка для уровней Стоп Лосс и Тейк Профит на графиках.



  4. Исправлены ошибки в расчете синтетических инструментов. В некоторых случаях ошибки могли приводить к зависанию платформы при запуске.
  5. Исправлено отображение значений встроенного индикатора Fractals в Окне данных.
  6. Полностью обновлены иконки на панелях инструментов для поддержки HiDPI-мониторов.
  7. Исправлена ошибка коррекции объема позиции при копировании торговых сигналов. В некоторых случаях корректировка могла не производиться из-за неправильного применения стоп-уровней, что приводило к ошибке "invalid stops".
  8. Оптимизировано перестроение ценовой истории в случае ее изменения на сервере.
  9. Исправлен показ подсказок для торговых уровней на графиках. В некоторых случаях они могли показываться даже при отключенном показе торговых уровней.
  10. Исправлена работа опции "Показать на графиках \ Автообновление" в контекстном меню ордеров и позиций в разделе "Инструменты \ Торговля". Теперь при отключении этой опции показ торговой истории отключается для всех открытых графиков.

MQL5

  1. Добавлена функция MathClassify. Она определяет тип вещественного числа и возвращает результат в виде значения из нового перечисления ENUM_FP_CLASS.
    ENUM_FP_CLASS  MathClassify(
       double  value      // вещественное число
       );
    Перечисление содержит следующие значения:
    • FP_SUBNORMAL — субнормальное число, которое находится ближе к нулю, чем наименьшее представимое нормализованное число DBL_MIN — 2.2250738585072014e-308.
    • FP_NORMAL — нормализованное число, которое находится в диапазоне от 2.2250738585072014e-308 до 1.7976931348623158e+308.
    • FP_ZERO — положительный или отрицательный ноль.
    • FP_INFINITE — число, которое не может быть представлено соответствующим типом — положительная или отрицательная бесконечность.
    • FP_NAN — не является числом.

    Для проверки вещественного числа на валидность можно использовать следующий код:
    if(MathClassify(value)>FP_ZERO)
      {
       Print("value is not a valid number");
      }
  2.  Добавлены новые свойства символов, которые можно получить функциями SymbolInfoString:
    • SYMBOL_COUNTRY — страна компании, чьи акции обращаются на бирже.
    • SYMBOL_SECTOR_NAME — сектор экономики, к которому относится инструмент. Например: энергетика, финансы, здравоохранение и т.д.
    • SYMBOL_INDUSTRY_NAME — индустрия, к которой относится инструмент. Например: спортивная одежда и аксессуары, производство автомобилей, ресторанный бизнес и т.д.

    Свойства возвращаются в виде строки.

    Сектор и индустрия, к которым относится инструмент, также можно получить в виде значения перечисления. Для этого запросите следующие свойства при помощи функции SymbolInfoInteger:
    • SYMBOL_SECTOR
    • SYMBOL_INDUSTRY
    Для работы с этими свойствами добавлены перечисления ENUM_SYMBOL_SECTOR и ENUM_SYMBOL_INDUSTRY.

  3. Реализован новый механизм управления памятью в MQL5-программах. Он выделяет память до 3-х раз быстрее. Также он позволяет избежать ряда потенциальных ошибок доступа к памяти.
  4. Оптимизирована и значительно ускорена работа с торговой историей счета при помощи функций History*.
  5. Исправлен вызов WebRequest из точки входа OnDeinit. Ранее при остановке эксперта эта функция не вызывалась.
  6. Исправлен вызов функции WebRequest из сервисов. Ранее функция могла не вызываться после перезапуска сервиса.
  7. Добавлена проверка поддержки устройством типа double при использовании OpenCL. В финансовых расчетах тип float не подходит из-за слишком большого округления. В связи с этим при расчетах платформа явно требует поддержку double. Теперь при ее отсутствии в журнал платформы будут выводиться сообщения вида device '<name>' does not support type 'double'. Ранее вместо него выдавалось общее сообщение об ошибке.
  8. Значительно ускорено выполнение функции AccountInfoDouble с параметрами ACCOUNT_EQUITY и ACCOUNT_BALANCE.
  9. Исправлена ошибка, возникавшая при применении шаблона к графику при помощи функции ChartApplyTemplate.
  10. Исправлена ошибка вызова функции ChartSetInteger с параметром CHART_BRING_TO_TOP.
  11. В поставляемую библиотеку Alglib добавлен метод Conjugate для расчета сопряженного числа комплексного числа. Библиотека находится в каталоге MQL5\Include\Math\Alglib.
  12. Полностью обновлен профилировщик кода. Новый профилировщик работает значительно быстрее и точнее предыдущего.
    • Для анализа в новом профилировщике используется код, оптимизированный точно также, как при компиляции релизной версии программы. Это позволяет более точно определить скорость работы кода, поскольку именно такой код будет использоваться в реальной работе программы.
    • Новый профилировщик использует метод профилирования "Sampling". Это легковесный и точный метод, который собирает статистические данные о работе приложения: через определенные интервалы времени снимаются данные о стеке вызовов и на основе них производится расчет производительности.
    • В отличие от предыдущей версии, новый профилировщик не вносит никаких изменений в анализируемый код. Ранее используемый метод "Instrumentation" добавлял в код определенные конструкции, которые использовались для замера скорости работы функции. Это могло влиять на скорость работы конечного кода.

    Работа над профилировщиком еще продолжается. Дальнейшие улучшения ожидайте в ближайших версиях платформы.

Tester

  1. Оптимизирована работа с облачной сетью вычислений MQL5 Cloud Network. Исправлены ошибки загрузки экспертов агентами.
  2. Добавлен новый критерий оптимизации "Complex Criterion max". Это интегральный, комплексный показатель качества прохода тестирования. Он учитывает сразу несколько параметров:
    • Количество сделок
    • Просадка
    • Фактор восстановления
    • Мат. ожидание выигрыша
    • Коэффициент Шарпа

    Новый критерий позволяет понять, что максимальное значение одного параметра (например, прибыли) не всегда является лучшим вариантом с точки зрения комплексного анализа. Он позволяет поэтапно выбирать наилучшие проходы: сначала по количеству сделок, затем из этой выборки по мат. ожиданию прибыльности, затем по фактору восстановления и так далее. Таким образом, в результате оптимизации вы получаете наилучшие проходы по всем параметрам, а далее из них вы уже можете выбрать конкретные, например, с наибольшей прибылью.

    Выберите новый критерий в настройках тестера стратегий и запустите оптимизацию.



    В результатах оптимизации значение "Complex Criterion max" будет выведено отдельной колонкой "Result". По ней можно сортировать проходы. Новый критерий также поддерживает цветовую подсветку, которая позволяет визуально определить наиболее удачные проходы. Значения ниже 20 подсвечиваются красным, выше 80 — темно зеленым.



  3. Исправлено начисление пользовательских комиссий в тестере стратегий.

MetaEditor

  1. Начата глобальная переработка функций интеллектуального управления кодом (интеллисенс).
    • Теперь в подсказках указывается полная сигнатура функции, а не только ее название.
    • Шрифт, которым отображаются подсказки, теперь берется из настроек MetaEditor.

    Дальнейшие улучшения ожидайте в ближайших версиях платформы.

Обновлена документация
123456789101112131415