Новая версия платформы MetaTrader 5 build 3490: мобильная версия веб-терминала и новые методы матриц в MQL5
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Новая версия платформы MetaTrader 5 build 3440: Новый отчет по торговому счету
fxsaber, 2022.10.11 18:29
TaskManager лишился (b3460) столбца Memory.Похоже, специально. Зачем?
Подскажите пожалуйста, будет ли добавлен метод в вектора, для организации вытесняющей очереди ?
Что-то наподобие insert с сдвигом.
Понятно, что циклом всё реализуется, но для удобства в векторах не хватает такого метода.
Ошибка в работе функции CalendarValueHistory: не производит фильтрацию событий по заданной валюте.
// Проверка правильности работы CalendarValueHistory. void OnStart() { const string Currency = "AUD"; MqlCalendarValue Values[]; // Получаем будущие события с фильтром по валюте. if (CalendarValueHistory(Values, TimeTradeServer(), TimeTradeServer() + 7 * 24 * 3600, NULL, Currency)) for (int i = ArraySize(Values) - 1; i >= 0; i--) // Бежим по всем найденным событиям { MqlCalendarEvent Event; MqlCalendarCountry country; if (CalendarEventById(Values[i].event_id, Event) && CalendarCountryById(Event.country_id, country) && (country.currency != Currency)) // Если валюта события не совпадает с фильтром Print("Currency = " + Currency + ", country.currency = " + country.currency); // Распечатываем. } }
Результат.
Currency = AUD, country.currency = USD Currency = AUD, country.currency = GBP Currency = AUD, country.currency = CHF Currency = AUD, country.currency = ZAR Currency = AUD, country.currency = NZD Currency = AUD, country.currency = MXN Currency = AUD, country.currency = JPY Currency = AUD, country.currency = CAD Currency = AUD, country.currency = BRL
На b2958 отрабатывает правильно.
Строка для поиска: Oshibka 048.
Столкнулся с банальщиной.
На основном графике, нет возможности поменять цвет свечи по индексу.
Эти функции меняют цвет всей серии
ChartSetInteger(0, CHART_COLOR_CANDLE_BULL, clrOrange); ChartSetInteger(0, CHART_COLOR_CHART_UP, clrOrange);
Прошу добавить параметр, для смены цвета по индексу.
ChartSetInteger(0, CHART_COLOR_CANDLE_BULL, clrOrange, index); ChartSetInteger(0, CHART_COLOR_CHART_UP, clrOrange, index);
Ожидал это предложение, но оно не подходит.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Roman, 2022.10.15 21:03
Привет всем.
Подскажите пожалуйста, на основном графике есть ли способ изменить цвет определённой свечи?
Например по её индексу. То что можно отрисовать свечи в индикаторе я знаю, но не хотелось бы это делать через индикатор.
Так как рассчитывается кастомный символ и хотелось бы в этом расчёте сразу управлять цветами (больше двух) определённой свечи.
Эти функции не подходят, так-как красят всю серию свечей основного графика.
А хотелось бы по индексно менять цвет.
ChartSetInteger(0, CHART_COLOR_CANDLE_BULL, clrOrange); ChartSetInteger(0, CHART_COLOR_CHART_UP, clrOrange);
шапку терминала отдали бы под последний комментарии, бывает на графике плохо видно среди кнопок и прочего
а так нажал и получил информацию. но мечтать не вредно
В пятницу 14 октября 2022 года будет выпущена обновленная версия платформы MetaTrader 5 в бета-режиме.
- Terminal: Расширены функции диспетчера задач. Теперь он позволяет отслеживать потребляемые ресурсы еще точнее.
- Terminal: Добавлена подстановка уровней Стоп Лосс и Тейк Профит в стакане цен для счетов, работающих в режиме FIFO (может быть включен на стороне брокера).
- Terminal: Исправлено удаление уровней Стоп Лосс и Тейк Профит кнопками "Х" в разделе "Инструменты\Торговля". Ошибка возникала при отключенной функции быстрой торговли. Теперь при нажатии кнопки будет открываться торговый диалог с пустым значением соответствующего уровня.
Терминал уже круто прокачали и довели до совершенства, большая благодарность за проделанную работу всей команде MQ!
Большая просьба в следующих релизах провести давно назревшую модернизацию Тестера Стратегий , так чтобы он в своем улучшенном виде более полноценно поддерживал тестирование сложных ИТ-систем, разработанных на платформе МТ5!
Из наиболее критичного:
1. Обеспечить полноценную работу системы событий ChartEvents
2. Предоставить спец. стартовые функции для задание периода тестирования, таймфрейма и инструментов из кода советника
3. Обеспечить поддержку многооконности и возможность программно располагать окна в заданном порядке
4. Активировать поддержку экрана Экономический Календарь им загрузку исторических значений экономических событий
5. Обеспечить поддержку работы с файловыми функциями и базами данных sqlite.
Заранее благодарю!
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
В пятницу 4 ноября 2022 года будет выпущена обновленная версия платформы MetaTrader 5.
В этом обновлении новый веб-терминал получил полноценную поддержку мобильных устройств. Теперь его интерфейс автоматически адаптируется по размеру экрана пользователя.
Кроме того, мы улучшили диспетчер задач для более точного отслеживания потребляемых ресурсов и добавили вкладку OpenCL для управления доступными устройствами. Новый менеджер OpenCL позволяет явно указывать устройства, которые будут использоваться для ускорения расчетов.
Также мы продолжаем расширять возможности работы с матрицами и векторами в MQL5. Появились новые функции для удобного работы с ценовыми тиками и обмена данными между матрицами и векторами. Расширены возможности методов присвоения.
Помимо этого, мы внесли множество исправлений и улучшений во все компоненты платформы. Подробнее обо всех изменениях читайте ниже.
Мобильная версия веб-терминала
В новой версии веб-терминала добавлена полноценная поддержка мобильных устройств. Теперь его интерфейс автоматически адаптируется по размеру экрана, позволяя пользователям удобно работать в платформе на телефонах и планшетах с iOS и Android:
Помимо этого, в веб-терминал внесено множество исправлений и улучшений.
Новый веб-терминал MetaTrader 5 поддерживает все функции, которые нужны современному трейдеру. Приложение позволяет:
MetaTrader 5 Client Terminal build 3490
Режим FIFO подразумевает, что позиции по каждому инструменту должны закрываться в том порядке, в каком они были открыты. Чтобы закрытие позиций по стоп-уровням всегда соответствовало правилу FIFO, на стороне клиентского терминала реализована следующая логика:
При наличии нескольких позиций по одному инструменту выставление стоп-уровней для любой из них приводит к выставлению аналогичных стоп уровней для всех остальных. Соответственно, при срабатывании уровня все позиции будут закрыты в порядке, соответствующем правилу FIFO.
Теперь при открытии стакана цен по инструменту, по которому уже есть позиции, в поля Стоп Лосс и Тейк Профит будут автоматически проставляться уровни существующих позиций (если таковые были установлены).
Тип копируемых данных указывается в параметре flags при помощи перечисления ENUM_COPY_TICKS. Доступны следующие значения:
При выборе нескольких типов данных (доступно только для матриц) порядок строк в матрице будет соответствовать порядку значений в перечислении.
Теперь матрице можно назначить одномерный массив или вектор:
Результатом будет однострочная матрица.
Также вектору теперь можно назначить матрицу (будет выполнено сглаживание матрицы):
Каждый массив, вектор или матрица ссылаются на буфер памяти, который содержит элементы данного объекта. Метод Swap фактически меняет местами указатели на данные буферы, не проводя записи элементов в памяти. Поэтому матрица остается матрицей, а вектор вектором. При обмене матрицы и вектора вы получите однострочную матрицу с элементами вектора и вектор с элементами матрицы в плоском представлении (смотрите метод Flat).
Метод Swap также позволяет работать с динамическими массивами (массив фиксированного размера в качестве параметра передавать нельзя). При этом массив может быть любой размерности, но согласованного размера. Это означает, что общий размер матрицы или вектора должен быть кратен нулевой размерности массива. Нулевой размерностью массива называется количество элементов, которые содержатся по первому индексу массива. Например, для динамического трехмерного массива double array[][2][3] нулевой размерностью будет произведение размеров второго и третьего измерения, то есть 2x3=6. Значит, такой массив можно использовать в методе Swap только с матрицами и векторами, общий размер которых кратен 6: 6, 12, 18, 24 и т.д.
Покажем это на примере:
Обновление будет доступно через систему Live Update.