Как начать работу с Metatrader 5 - страница 121
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Новая платформа MetaTrader 5 build 2005: экономический календарь, приложения MQL5 как сервисы и API языка R
MetaQuotes Software Corp. , 20.02.2019 17:20
Обновление платформы MetaTrader 5 выйдет 21 февраля 2019 года. В новую версию внесены следующие изменения:
- Терминал: полностью переработан встроенный экономический календарь.

- Терминал: Добавлен новый тип MQL5-приложений — Сервисы. Этот новый тип позволяет создавать собственные потоки цен для терминала, т.е. осуществлять доставку цен из внешних систем в режиме реального времени, аналогично тому, как это реализовано на торговых серверах брокеров.

- Терминал: Добавлена обучающая программа.

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

- Terminal: Добавлен новый API, позволяющий запрашивать данные терминала MetaTrader 5 через приложения, использующие язык R.

R CMD INSTALL --build MetaTrader
- MT5Initialize инициализирует и устанавливает соединение с терминалом MetaTrader 5. При необходимости терминал запускается во время выполнения команды.
- MT5Shutdown деинициализирует и отключается от MetaTrader 5.
- MT5Version получает версию терминала MetaTrader 5.
- MT5TerminalInfo получает состояние и параметры подключения терминала к серверу брокера (номер счета и адрес сервера).
- MT5WaitTerminal ожидает, пока терминал MetaTrader 5 подключится к серверу брокера.
- MT5CopyTicksFrom(symbol, from, count, flags) копирует указанное количество тиков, начиная с указанной даты. Дата указывается в миллисекундах с 01.01.1970.
- MT5CopyTicksRange(symbol, from, to, flags) копирует тики внутри указанного периода. Даты указаны в миллисекундах с 01.01.1970.
- MT5CopyRatesFrom(symbol, timeframe, from, count) копирует указанное количество одноминутных баров, начиная с указанной даты. Дата указывается в секундах с 01.01.1970.
- MT5CopyRatesFromPos(symbol, timeframe, start_pos, count) копирует одноминутные бары с указанной позиции относительно последнего бара.
- MT5CopyRatesFromRange(symbol, timeframe, date_from, date_to) копирует бары из указанного периода. Даты указаны в секундах с 01.01.1970.
- Terminal: Оптимизированный диалог Close By , используемый для закрытия позиции встречной. Теперь диалог не тормозится, даже если у вас большое количество открытых позиций.
- Терминал: Исправлены ошибки расчета синтетических символов , из-за которых данные иногда могли пропускаться.
- Терминал: при удалении пользовательского символа файлы, хранящие историю его тиков и баров, также удаляются. Это позволяет избежать накопления неиспользуемых данных на жестком диске.
- Терминал: исправлено отображение результатов поиска на экранах с высоким разрешением.
- MQL5: Реализован доступ к данным экономического календаря из программ MQL5.
- MQL5: Исправления и улучшения скорости работы, связанные с историей тиков и баров.
- MQL5: Исправления и значительные улучшения скорости работы, связанные с функциями изменения истории тиков и баров пользовательских торговых символов, CustomTicks* и CustomRates* .
- MQL5: Новые функции преобразования данных.
- Добавлена функция MathSwap для изменения порядка байтов в значениях ushort, uint и ulong.
- MQL5: Добавлены сетевые функции для создания TCP-соединений с удаленными хостами через системные сокеты:
- SocketCreate создает сокет с указанными флагами и возвращает его дескриптор
- SocketClose закрывает сокет
- SocketConnect подключается к серверу с контролем времени ожидания
- SocketIsConnected проверяет, подключен ли сокет в данный момент
- SocketIsReadable получает количество байтов, которые можно прочитать из сокета.
- SocketIsWritable проверяет, возможна ли запись данных в этот сокет в текущий момент времени
- SocketTimeouts устанавливает время ожидания приема и отправки данных для объекта системного сокета.
- SocketRead читает данные из сокета
- SocketSend записывает данные в сокет
- SocketTlsHandshake инициирует безопасное соединение TLS (SSL) с указанным хостом, используя протокол TLS Handshake.
- SocketTlsCertificate получает информацию о сертификате, используемом для безопасного сетевого подключения.
- SocketTlsRead считывает данные из безопасного TLS-соединения.
- SocketTlsReadAvailable считывает все доступные данные из безопасного соединения TLS.
- SocketTlsSend отправляет данные, используя безопасное соединение TLS.
Адрес хоста, к которому устанавливается соединение с использованием сетевых функций, должен быть явно добавлен в список разрешенных адресов в настройках терминала.
- ERR_NETSOCKET_INVALIDHANDLE (5270): в функцию передан неверный дескриптор сокета
- ERR_NETSOCKET_TOO_MANY_OPENED (5271): открыто слишком много сокетов (максимум 128)
- ERR_NETSOCKET_CANNOT_CONNECT (5272): ошибка при подключении к удаленному хосту
- ERR_NETSOCKET_IO_ERROR (5273): ошибка при отправке/получении данных из сокета
- ERR_NETSOCKET_HANDSHAKE_FAILED (5274): ошибка установления защищенного соединения (рукопожатие TLS)
- ERR_NETSOCKET_NO_CERTIFICATE (5275) — нет данных о сертификате, используемом для безопасного соединения
- MQL5: Добавлены новые функции для строковых операций :
- MQL5: Добавлена новая функция для операций с массивами :
- MQL5: В функции CustomRatesUpdate , CustomRatesReplace , CustomTicksAdd и CustomTicksReplace добавлен новый параметр "uint count". Это позволяет указать количество элементов переданного массива, которые будут использоваться для этих функций. Значение WHOLE_ARRAY используется для параметра по умолчанию. Это означает, что весь массив будет использован.
- MQL5: Добавлена функция CustomBookAdd для передачи статуса стакана цен для пользовательского символа. Функция позволяет транслировать стакан цен, как если бы цены поступали с сервера брокера.
- MQL5: Добавлена перегрузка функции CustomSymbolCreate . Это позволяет создать собственный торговый символ на основе существующего. После создания любое свойство символа можно редактировать с помощью соответствующих функций.
- Обновлена функция StringToTime , преобразующая строку с датой/временем в значение даты и времени. Теперь он поддерживает следующие форматы даты:
- гггг.мм.дд [чч:ми]
- гггг.мм.дд [чч:ми:сс]
- ггггммдд [чч:ми:сс]
- ггггммдд [ччмисс]
- гггг/мм/дд [чч:ми:сс]
- гггг-мм-дд [чч:ми:сс]
- MQL5: Новое свойство TERMINAL_VPS в перечислении ENUM_TERMINAL_INFO_INTEGER ; он показывает, что терминал работает на сервере виртуального хостинга MetaTrader (MetaTrader VPS). Если приложение запущено на хост-сервере, вы можете отключить все его визуальные функции, так как виртуальный сервер не имеет графического пользовательского интерфейса.
- MQL5: Новое свойство SYMBOL_EXIST в перечислении ENUM_SYMBOL_INFO_INTEGER означает, что символ под этим именем существует.
- MQL5: Исправлен набор текста при использовании предварительных объявлений функций шаблона.
- MQL5: Добавлена переинициализация индикаторов при смене торгового счета.
- MQL5: Оптимизирована функция StringSplit .
- MQL5: Исправлены ошибки в работе стандартной библиотеки.
- Tester: Добавлена функция TesterStop — штатное досрочное завершение работы эксперта на тестовом агенте. Теперь вы можете принудительно прекратить тестирование по достижении заданного количества убыточных сделок, заданного уровня просадки или любого другого критерия.
- Tester: Отключена возможность тестировать и оптимизировать советники через MQL5 Cloud Network в реальном тиковом режиме. Этот режим можно использовать только на локальных агентах и локальных сетевых фермах.
- Тестер: Улучшена работа с индикаторами при визуальном тестировании. Теперь график цены и линии индикатора отрисовываются синхронно, даже для максимальной скорости визуализации.
- Tester: оптимизировано и значительно ускорено тестирование и оптимизация.
- Tester: Исправлена отладка индикаторов на исторических данных. Теперь функции индикатора OnInit и OnDeinit можно корректно отлаживать.
- Tester: Реализован более быстрый доступ к историческим данным при тестировании мультивалютных экспертов.
- Тестер: исправлено случайное зависание визуального тестера во время отладки на исторических данных.
- Tester: Реализован более быстрый запуск проходов оптимизации при обработке пакета задач агентом.
- Tester: Изменена политика распределения пакетов задач агентам тестирования. Размер пакета был увеличен, и, таким образом, потребление ресурсов при сетевых операциях было значительно снижено.
- Tester: изменено поведение опций, позволяющих использовать локальные, сетевые и облачные агенты. Теперь, когда вы отключаете опции, агенты завершают обработку полученных задач, при этом новые задачи им больше не выдаются. В более ранних версиях поведение было похоже на команду «Отключить», которая немедленно останавливала работу агента.

- MetaEditor: в отладчике добавлена поддержка символов, отличных от ANSI. Теперь выражения отображаются правильно, даже если имя переменной указано на кириллице.
- MetaEditor: Исправлено отображение результатов поиска на экранах с высоким разрешением.
- Добавлен перевод пользовательского интерфейса на хорватский язык.
- Документация обновлена.
Обновление будет доступно через систему LiveUpdate.Экономический календарь — это наше собственное решение. В нем вы найдете более 600 финансовых новостей и показателей, относящихся к 13 крупнейшим экономикам мира: США, Европейскому союзу, Японии, Великобритании, Канаде, Австралии, Китаю и другим. Актуальные данные собираются из открытых источников в режиме реального времени.
В новой версии обновленный контент и расширенные фильтры событий: по времени, приоритету, валюте и стране.
Доступ к данным календаря теперь можно получить из программ MQL5. Детали смотрите ниже.
В отличие от экспертов, индикаторов и скриптов сервисы не привязаны к конкретному графику. Такие приложения работают в фоновом режиме и запускаются автоматически при запуске терминала (если только такое приложение не было принудительно остановлено).
Сервисами можно управлять из нового раздела в окне Навигатора:
Как создавать услуги
Для создания шаблона сервиса используйте соответствующую опцию Мастера MQL5 . Службы имеют одну точку входа OnStart , как и сценарии. На этом этапе можно реализовать бесконечный цикл приема и обработки данных с помощью сетевых функций .
Как запускать сервисы
Чтобы запустить несколько копий советника или индикатора с разными параметрами, нужно запускать их на разных графиках. В этом случае создаются разные экземпляры программы, которые затем работают независимо. Сервисы не привязаны к чартам, поэтому реализован специальный механизм создания экземпляров сервисов.
Выберите сервис в Навигаторе и нажмите «Добавить сервис» в его контекстном меню. При этом откроется стандартный диалог программы MQL5, в котором вы сможете включить/отключить торговлю и получить доступ к настройкам сигнала, а также задать различные параметры.

Экземпляр службы можно запускать и останавливать с помощью соответствующего меню экземпляра. Для управления всеми экземплярами используйте сервисное меню.Новая функция поможет новичкам научиться взаимодействовать с платформой. Мы добавили более 100 интерактивных советов по основным возможностям платформы.
- Подсказки плавно отображаются в виде индикатора выполнения на панели инструментов и, таким образом, не отвлекают пользователя.
- Подсказки появляются только для тех действий, которые вы никогда не совершали в платформе.
- Все подсказки содержат интерактивные ссылки, по которым можно перейти к нужным элементам интерфейса. Например, торговый диалог или меню с нужной программой можно запустить прямо из подсказки.
Заполненная область индикатора выполнения будет увеличиваться всякий раз, когда вы выполняете соответствующие действия и продолжаете тренировку.Мы подготовили специальный пакет для MetaTrader. Он содержит DLL для взаимодействия между R и терминалом MetaTrader 5, документацию и вспомогательные файлы r. Завершаем регистрацию пакета в репозитории CRAN , после чего он будет доступен для скачивания и установки.
Пакет можно установить с помощью специальной команды:
Доступны следующие команды, связанные с запросом данных:
Список поддерживаемых команд будет расширен.
Новые функции
CalendarCountryById — получает описание страны по идентификатору.
CalendarEventById — получает описание события по идентификатору.
CalendarValueById — получает описание значения события по идентификатору.
CalendarEventByCountry — получает массив доступных событий для страны.
CalendarEventByCurrency — получает массив доступных событий для затронутой валюты.
CalendarValueHistoryByEvent — получает массив значений за указанный период времени по идентификатору события.
CalendarValueHistory — получает массив значений за указанный период времени для всех событий, отфильтрованных по стране и/или валюте.
CalendarValueLastByEvent — получает массив значений последних событий по идентификатору. Эта функция позволяет запрашивать значения, появившиеся с момента предыдущего запроса. Для этой операции дополнительно используется входной/выходной параметр «change_id».
При каждом изменении базы данных календаря свойство change_id (идентификатор последнего изменения) обновляется. При запросе данных вы указываете «change_id», и терминал возвращает события, появившиеся после этого времени, а также текущее значение «change_id», которое можно использовать для следующего запроса. При первом вызове функции укажите нулевой «change_id»: функция не будет возвращать никаких событий, а будет возвращать текущий «change_id» для дальнейших запросов.
CalendarValueLast — получает массив последних значений для всех событий, отфильтрованных по стране и/или валюте. Эта функция позволяет запрашивать значения, появившиеся с момента предыдущего запроса. Аналогично CalendarValueLastByEvent для запроса используется свойство change_id.
Новые структуры
MqlCalendarCountry — описание страны.
MqlCalendarEvent — описание события.
MqlCalendarValue — описание значения события.
Новые перечисления
Новые коды ошибок
CharArrayToStruct копирует массив uchar в структуру POD.
StructToCharArray копирует структуру POD в массив uchar.
Добавлены новые коды ошибок для работы с сетевыми функциями:
StringReserve резервирует для строки буфер памяти указанного размера.
StringSetLength задает указанную длину строки в символах.
ArrayRemove удаляет из массива указанное количество элементов, начиная с указанного индекса.
ArrayInsert вставляет в массив-получатель указанное количество элементов из исходного массива, начиная с указанного индекса.
ArrayReverse переворачивает в массиве указанное количество элементов, начиная с указанного индекса.
Имя символа, из которого должны быть скопированы свойства пользовательского символа, указывается в параметре "symbol_origin".
Тестирование, выполненное с использованием этой функции, считается успешным. После вызова функции торговая история, полученная при тестировании, и вся торговая статистика передаются в терминал.
Форум о трейдинге, автоматических торговых системах и тестировании торговых стратегий
Пакет MetaTrader R - краткое содержание
Сергей Голубев, 2019.02.22 06:47
Основное исследование
Статьи
Форум
----------------
больше, чтобы следовать ...
Форум о трейдинге, автоматических торговых системах и тестировании торговых стратегий
Полезные ссылки/темы/инструменты
Сергей Голубев, 2017.10.05 12:33
Мультивалютные советники в МТ5 - бэктестинг и оптимизация
Темы/посты
Статьи
Интересные результаты можно также получить, запустив мультивалютный советник в тестере стратегий. В качестве примера был использован бесплатныйMulticurrency Expert из CodeBase. Кроме того, был указан файл "#include <DistributionOfProfits.mqh>" и объявлена переменная "CDistributionOfProfits ExtDistribution" в заголовке советника, а в конце кода добавлена функция "OnTester()". После одного прогона была получена следующая статистика: "TestAnalysis.htm".
оптимизация повсем символам, выбранным в Market Watch.
Документация
...а это пример кода из CodeBase -
----------------
Мультивалютный iMA Trend- эксперт для MetaTrader 5
The multi-symbol adviser uses the MA Trend 2 adviser as the base advisor, while the advisor itself is rewritten as a class.
Этот советник в виде класса первой версии, поэтому пока символы ("EURUSD", "USDCAD", "USDJPY") указаны в коде жестко. Также все входные параметры одинаковы для каждого из трех символов (Stop Loss, Take Profit и так далее...).
Опубликована хорошая статья -
----------------
Практическое применение корреляций в трейдинге
Корреляция - это статистическая связь между двумя или более случайными переменными (или величинами, которые можно считать случайными с некоторой приемлемой степенью точности). Изменения в одной или нескольких переменных приводят к систематическим изменениям других связанных переменных. Математической мерой корреляции двух случайных величин является коэффициент корреляции. Если изменение одной случайной величины не приводит к закономерному изменению другой случайной величины, но приводит к изменению другой статистической характеристики этой случайной величины, то такая связь не считается корреляцией, хотя и является статистической.
Оглавление
Форум о трейдинге, автоматических торговых системах и тестировании торговых стратегий
С чего начать?
Сергей Голубев, 2018.09.20 15:43
Воспользуйтесь советами - инструкцией о HowTo
=========
----------------
----------------
----------------
На форуме есть одна тема -
Возможности холста.
Это очень полезная тема.
А это один очень интересный инструмент, который полностью связан с этой темой -
----------------
Система линейных алгебраических уравнений на каждом баре- индикатор для MetaTrader 5
This work has 3 goals:
Использование вычислительных возможностей MATLAB 2018 в MetaTrader 5
This article is a development of the article "Interaction between MetaTrader 4 and MATLAB" by A. Emelyanov, and it provides information on solving a similar task for modern 64-bit versions of all platforms utilized by users. Over the past period, the method for creating shared DLL libraries has been substantially upgraded in the MATLAB package. Therefore, the method discussed in the original article requires modification. This happened because MATLAB Compiler SDK or MATLAB Coder must now be used instead of MATLAB Compiler. In addition, the practice of working with dynamic memory in MATLAB has changed, which implies certain adjustments of the source code that addresses a library written in the MATLAB language.
Разработка кроссплатформенного советника с сеткой ордеров
Most frequent users of this website know pretty well that MQL5 is the best option for developing custom EAs. Unfortunately, not all brokers allow creating accounts available in MetaTrader 5. Even if you currently work with a broker that allows that, you may switch to a broker offering only MetaTrader 4 in the future. What are you going to do with all the MQL5 EAs you have developed in that case? Are you going to spend a huge amount of time to rework them to fit into MQL4? Perhaps, it would be more reasonable to develop an EA able to work both in MetaTrader 5 and MetaTrader 4?
В этой статье мы попробуем разработать такой советник и проверить, насколько пригодна торговая система, основанная на сетке ордеров.
Как визуализировать историю мультивалютной торговли на основе отчетов HTML и CSV
С момента своего появления MetaTrader 5 предоставляет возможность мультивалютного тестирования. Эта возможность часто используется трейдерами. Однако функция не является универсальной. В частности, после запуска теста пользователь может открыть график с проведенными торговыми операциями. Но это график только одного торгового символа, выбранного в настройках тестера стратегий. Просмотреть всю историю торговли по всем использованным символам после тестирования невозможно, а визуальный осмотр не всегда эффективен. Через некоторое время после тестирования может потребоваться дополнительный анализ. Кроме того, отчет может быть предоставлен другим лицом. Поэтому инструмент для визуализации торговли на нескольких рабочих символах на основе HTML-отчета о тестировании был бы очень полезен.
В предыдущейстатье было представлено описание парсера HTML на основе CSS-селекторов[1]. Парсер извлекает из HTML-отчета список сделок, на основе которого можно формировать трейды (графические объекты). Парсинг CSV-файлов из раздела Сигналы немного проще, а формат файлов сигналов MetaTrader 4 (*.history.csv) и MetaTrader 5 (*.positions.csv) поддерживается встроенными функциями MQL.
https://www.mql5.com/en/forum/212020