Terminal
- Добавлен новый отчет по торговой истории счета. По
набору параметров и представлению информации он схож с уже привычными
отчетами по Сигналам. Теперь и в самой платформе вам станут доступны:
- Помесячные показатели прироста в виде графика и таблицы
- График изменения эквити
- Лепестковая диаграмма, позволяющая быстро оценить состояние счета
- Статистика сделок по инструментам
- Множество дополнительных показателей для анализа торговли
Отчет теперь можно просматривать прямо в платформе, не экспортируя его предварительно в файл. Чтобы его открыть, нажмите "Отчеты" в меню "Вид".
- Помесячные показатели прироста в виде графика и таблицы
- Исправлено заполнение доски опционов при несовпадении количества или типа инструмента у контрактов Call и Put.
- Исправлен некорректный выбор позиции в торговом диалоге при закрытии позиции встречной. Ошибка возникала при сортировке доступных встречных ордеров по любой колонке, кроме тикета.
- Ускорен вывод записей в журнал платформы.
- Исправлено отображение комментариев на графиках пользовательских символов.
MQL5
- Исправлена работа функции CArrayList::LastIndexOf. Ранее она всегда возвращала -1 вместо индекса последнего найденного элемента.
- Добавлен метод векторов и матриц Assign. Он позволяет заменить
содержимое матрицы/вектора данными переданной матрицы/вектора или
массива.
bool vector<TDst>::Assign(const vector<TSrc> &assign); bool matrix<TDst>::Assign(const matrix<TSrc> &assign);
Пример:
//--- копирование матриц matrix b={}; matrix a=b; a.Assign(b); //--- копирование массива в матрицу double arr[5][5]={{1,2}, {3,4}, {5,6}}; Print("array arr"); ArrayPrint(arr); b.Assign(arr); Print("matrix b \n",b); /* array arr [,0] [,1] [,2] [,3] [,4] [0,] 1.00000 2.00000 0.00000 0.00000 0.00000 [1,] 3.00000 4.00000 0.00000 0.00000 0.00000 [2,] 5.00000 6.00000 0.00000 0.00000 0.00000 [3,] 0.00000 0.00000 0.00000 0.00000 0.00000 [4,] 0.00000 0.00000 0.00000 0.00000 0.00000 matrix b [[1,2,0,0,0] [3,4,0,0,0] [5,6,0,0,0] [0,0,0,0,0] [0,0,0,0,0]] */
- Добавлен метод векторов и матриц CopyRates. Он позволяет легко копировать массивы ценовых данных в векторы и матрицы.
bool matrix::CopyRates(string symbol,ENUM_TIMEFRAMES period,ulong rates_mask,ulong from,ulong count); bool vector::CopyRates(string symbol,ENUM_TIMEFRAMES period,ulong rates_mask,ulong from,ulong count);
Тип копируемых данных указывается в параметре rates_mask при помощи перечисления ENUM_COPY_RATES. Доступны следующие значения:
COPY_RATES_OPENПоследние два значения предназначены для удобного выбора сразу нескольких основных параметров бара — цен Open, High, Low, Close и времени.
COPY_RATES_HIGH
COPY_RATES_LOW
COPY_RATES_CLOSE
COPY_RATES_TIME
COPY_RATES_VOLUME_TICK
COPY_RATES_VOLUME_REAL
COPY_RATES_SPREAD
COPY_RATES_OHLC
COPY_RATES_OHLCT
При выборе нескольких типов данных (доступно только для матриц) порядок строк в матрице будет соответствовать порядку значений в перечислении.
- Исправлено отображение объектов "Текстовая метка". При использовании свойств OBJPROP_XOFFSET и OBJPROP_YOFFSET на график мог выводиться неверный фрагмент изображения.
-
Исправлена ошибка изменения константного параметра, переданного в функцию в виде ссылки на указатель объекта.
Напомним, что спецификатор const объявляет переменную константой и не позволяет изменять значение этой переменной в процессе выполнения программы. Допускается только однократная инициализация переменной при ее объявлении. Пример константных переменных в функции OnCalculate:
int OnCalculate (const int rates_total, // размер массива price[] const int prev_calculated, // обработано баров на предыдущем вызове const int begin, // откуда начинаются значимые данные const double& price[] // массив для расчета );
Но в примере ниже обнаружилась ошибка компилятора, который позволял неявное приведение указателей для параметров-ссылок:
class A {}; const A *a = new A; void foo( const A*& b ) { b = a; } void OnStart() { A *b; foo(b); // недопустимо Print( a,":",b ); }
Теперь данная недопустимая операция будет детектироваться компилятором и выдавать ошибку.
MetaEditor
- Исправлено отображение ссылок на комплексные числа в отладчике.
- Улучшена работа MQL5 Cloud Protector. Ранее в редких случаях защита файлов могла завершаться ошибкой.
- Исправления по крешлогам.
Новый веб-терминал MetaTrader 5
Представляем
абсолютно новый веб-терминал для MetaTrader 5. Мы сделали его
современным и быстрым, обновив не только внешний вид, но и полностью
переписав ядро. В плане интерфейса веб-терминал стал похож на уже
привычную версию платформы для iPad:
По сравнению со старой версии в нем появилось множество новых функций:
- Возможность запрашивать реальные счета с заполнением детальной формы регистрации и предоставлением подтверждающих документов
- Поддержка подписок на ценовые данные и возможность получения котировок с задержкой
- Большее количество аналитических объектов, более удобное управление
- Отображение входов и выходов из рынка на графике
- Отображение на графике событий экономического календаря
- Удобная настройка инструментов в Обзоре рынка, отображение дневного изменения цены
- Существенно упрощен интерфейс: убрано контекстное меню графика и верхнее меню; все команды для управления графиком, наложения объектов и индикаторов размещены на панелях слева и сверху; оставшиеся команды размещены в одном меню-гамбургере
- Ночная тема интерфейса