Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Скоро -
Новая коммуникационная система, аналог Telegram - читайте в этом посте.
============
Ichimoku
Начало
После
============
Была создана хорошая тема с визуализированной информацией - TheTips thread.
Настоятельно рекомендуем прочитать эту небольшую тему всем новичкам (чтобы знать), а также опытным пользователям (чтобы освежить свои знания).
----------------
Фриланс-сервис
----------------
Платформа
----------------
Советник
----------------
Тестер
Это очень важное и очень интересное обновление - пожалуйста, прочитайте его...
Форум о трейдинге, автоматических торговых системах и тестировании торговых стратегий
MetaTrader 5 Platform Beta Build 1910: Несвязанное перетаскивание графиков и библиотек .Net в MQL5
MetaQuotes Software Corp., 2018.10.12 19:43
Бета-версия обновленной платформы MetaTrader 5 выйдет 14 октября 2018 года. Мы обновим наш публичный сервер MetaQuotes-Demo, расположенный по адресу access.metatrader5.com:443. Мы приглашаем всех трейдеров присоединиться к тестированию, чтобы оценить возможности обновленной платформы и помочь разработчикам исправить ошибки.
Финальная сборка новой платформы MetaTrader 5 будет выпущена после завершения публичного бета-тестирования.
Обновление будет включать следующие изменения:
Эта функция удобна при использовании нескольких мониторов. Так, вы можете установить на одном мониторе главное окно платформы для контроля состояния счета, а графики перенести на второй экран для наблюдения за ситуацией на рынке. Чтобы отсоединить график от терминала, отключите опцию Docked в его контекстном меню. После этого переместите график на нужный монитор.
Отдельная панель инструментов на отсоединенных графиках позволяет применять аналитические объекты и индикаторы без необходимости переключения между мониторами. Используйте контекстное меню панели инструментов для управления набором доступных команд или для ее скрытия.Групповые чаты и каналы могут быть публичными или приватными. Их создатели решают, можно ли присоединиться к ним свободно или только по приглашению. Вы также можете назначить модераторов каналов и чатов для дополнительного контроля общения.
Минимальный объем и шаг его изменения зависят от настроек финансового инструмента на стороне брокера.
Для работы с функциями библиотеки .NET достаточно импортировать саму DLL без определения конкретных функций. MetaEditor автоматически импортирует все функции, с которыми можно работать:
.
Чтобы вызвать функции из библиотеки, просто импортируйте ее:
. Код C# функции Inc класса TestClass выглядит следующим образом:
. В результате выполнения скрипт возвращает значение 7.
Более подробную информацию о спецификаторах можно найти в MSDN.
.
Добавлены следующие свойства в перечисление ENUM_CHART_PROPERTY_INTEGER:
.
Добавлены следующие функции в перечисление ENUM_TERMINAL_INFO_INTEGER:
struct MqlTick
{
datetime time; // Last price update time
double bid; // Current Bid price
double ask; // Current Ask price
double last; // Current price of the Last trade
ulong volume; // Volume for the current Last price
long time_msc; // Last price update time in milliseconds
uint flags; // Tick flags
double volume_real; // Volume for the current Last price with greater accuracy
};
.
.
.
Для получения этих свойств используйте функцию SymbolInfoDouble.
Для следующего кода:
Компилятор выводит предупреждение:
'Main::PRICE_OPEN_' instead of 'ENUM_APPLIED_PRICE::PRICE_CLOSE' will be used
Началась хорошая тема -Как начать работу с MQL5
Форум о трейдинге, автоматических торговых системах и тестировании торговых стратегий
Как начать работу с MQL5
Владимир Карпутов, 2018.12.24 20:34
В этой теме обсуждаются примеры кода на MQL5. Будут примеры того, как получать данные из индикаторов, как программировать советников... в общем, любые вопросы от новичка по языку MQL5.
Если вы только начинаете знакомиться с терминалом MetaTrader 5, то могу порекомендовать следующие темы:
Как начать работу с Metatrader 5
С чего начать?
Воспользуйтесь советами в сервисе Freelance!
Есть одна статья, которую должен прочитать каждый продавец на рынке: она о валидации продуктов Маркета -...
----------------
Проверки, которые должен пройти торговый робот перед публикацией на Маркете
Перед публикацией любого продукта на рынке он должен пройти обязательную предварительную проверку, так как небольшая ошибка в логике работы эксперта или индикатора может привести к убыткам на торговом счете. Именно поэтому мы разработали ряд базовых проверок для обеспечения необходимого уровня качества продуктов Маркета.
Если в процессе проверки вашего продукта модераторами Маркета будут выявлены какие-либо ошибки, вам придется исправить их все. В данной статье рассмотрены наиболее частые ошибки, допускаемые разработчиками в своих торговых роботах и технических индикаторах. Мы также рекомендуем прочитать следующие статьи:
Спасибо...
Очень полезно, большие усилия...
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Новая платформа 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".
Тестирование, выполненное с использованием этой функции, считается успешным. После вызова функции торговая история, полученная при тестировании, и вся торговая статистика передаются в терминал.
Здравствуйте.
Нужно ли мне удалить сборку 1940 перед установкой этой 2005?
Я пробовал без удаления и после установки это тот же 1940, что и раньше.
Кроме того, я не могу обновиться с прошлого года, в чем причина?
Должен ли я удалить все и повторить попытку?
Спасибо...