Многослойный перцептрон и алгоритм обратного распространения ошибки (Часть II): Реализация на Python и интеграция с MQL5
Уже доступен пакет Python для разработки интеграции с MQL, что открывает двери для многих возможностей, таких как изучение данных и создание и использование моделей машинного обучения. Эта встроенная интеграция MQL5 в Python открывает для нас много возможностей, которые позволяют построить от простой линейной регрессии до моделей глубокого обучения. Давайте разберемся, как установить и подготовить среду разработки и использовать некоторые библиотеки машинного обучения.
Цветная оптимизация торговых стратегий
В данной статье будет проведен эксперимент по раскрашиванию результатов оптимизации. Как известно, цвет определяется тремя параметрами: уровнями красного, зеленого и синего цветов (RGB от анг. Red — красный, Green — зеленый, Blue — синий). Существуют и другие способы кодирования цвета, но и в них цвет кодируется тремя параметрами. Таким образом, три показателя тестирования можно превратить в один, визуально воспринимаемый человеком, в цвет. На сколько такой показатель будет полезен вы сможете узнать из статьи.
Самостоятельная оценка результатов тестирования эксперта
В статье представлены формулы и порядок расчета данных, отображаемых в отчете тестера.
Работаем с результатами оптимизации через графический интерфейс
Продолжаем развивать тему обработки и анализа результатов оптимизации. На этот раз задача состоит в том, чтобы выбрать 100 лучших результатов оптимизации и отобразить их в таблице графического интерфейса. Сделаем так, чтобы пользователь, выделяя ряд в таблице результатов оптимизации, получал мультисимвольный график баланса и просадки на отдельных графиках.
Применение OLAP в трейдинге (Часть 1): Основы оперативного анализа многомерных данных
В статье описываются общие принципы построения фреймворка для оперативного анализа многомерных данных (OLAP), его реализация на MQL и применение в среде MetaTrader на примере обработки торговой истории счета.
Роль статистических распределений в работе трейдера
Данная статья является логическим продолжением моей статьи "Статистические распределения вероятностей в MQL5", в которой были представлены классы для работы с некоторыми статистическими теоретическими распределениями. Теперь, когда есть теоретическая база, я предлагаю непосредственно перейти к выборкам реальных данных и попробовать получить информационную пользу от этой базы.
Моделирование временных рядов с помощью пользовательских символов по заданным законам распределения
В статье приводится обзор возможностей терминала по созданию и работе с пользовательскими символами, предлагаются варианты моделирования торговой истории c помощью пользовательских символов, тренда и различных графических паттернов.
Синтаксический анализ MQL средствами MQL
Статья описывает препроцессор, сканер и парсер для синтаксического анализа исходных кодов на MQL. Реализация на MQL прилагается.
Применение OLAP в трейдинге (Часть 2): Визуализация результатов интерактивного анализа многомерных данных
В статье рассматриваются различные аспекты создания интерактивного графического интерфейса MQL-программы, предназначенной для OLAP-обработки истории счета и торговых отчетов. Для получения наглядного результата используются максимизируемые и масштабируемые окна, адаптивная раскладка "резиновых" элементов управления, новый "контрол" для вывода диаграмм. На основе этого реализован GUI с выбором показателей по координатным осям, агрегатных функций, типов графиков и сортировок.
Машинное обучение в торговых системах на сетке и мартингейле. Есть ли рыба?
Данная статья познакомит читателя с техникой машинного обучения для торговли сеткой и мартингейлом. К моему удивлению, такой подход по каким-то причинам совершенно не затронут в глобальной сети. Прочитав статью, вы сможете создавать своих собственных ботов.
Регрессионный анализ влияния макроэкономических данных на изменение цен валют
В статье рассмотрен вопрос применения множественного регрессионного анализа к данным макроэкономической статистики и анализ влияния этих данных на изменение курса валют на примере пары EURUSD. Применение такого анализа позволяет автоматизировать проведение фундаментального анализа, который становится доступным практически каждому, даже начинающим трейдерам.
Визуализация результатов оптимизации по выбранному критерию
В статье мы продолжаем развивать MQL-приложение для работы с результатами оптимизации, которая начата в предыдущих статьях. На этот раз будет показан пример, когда таблицу лучших результатов можно сформировать уже после оптимизации параметров, указав через графический интерфейс другой критерий.
Визуализируем оптимизацию торговой стратегии в MetaTrader 5
В статье реализовано MQL-приложение с графическим интерфейсом для расширенной визуализации процесса оптимизации. Графический интерфейс создан с помощью последней версии библиотеки EasyAndFast. У многих пользователей возникает вопрос, зачем нужны графические интерфейсы в MQL-приложениях. В настоящей статье продемонстрирован один из множества случаев, когда они могут быть полезными для трейдеров.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XX): Создание и хранение ресурсов программы
В статье рассмотрим способ хранения данных в исходниках программы и создание из них звуковых и графических файлов. Часто при создании программы, нам требуется использовать звуки и изображения. В языке MQL есть несколько возможностей использования таких данных.
Использование вычислительных возможностей MATLAB 2018 в MetaTrader 5
После модернизации пакета MATLAB в 2015 году необходимо рассмотреть современный способ создания DLL-библиотек. На примере прогнозирующего индикатора в статье иллюстрируются особенности связывания MetaTrader 5 и MATLAB с использованием современных 64-х разрядных версий платформ, применяемых в настоящее время. Рассмотрение всей последовательности подключения MATLAB позволит разработчику на MQL5 быстрее создавать приложения с расширенными вычислительными возможностями, избегая «подводных камней».
MQL5-RPC - Удаленный вызов процедур из MQL5: доступ к Web-сервисам и анализ данных Automated Trading Championship 2011
В этой статье описывается технология MQL5-RPC, которая позволяет осуществлять вызов удаленных процедур из MQL5. Мы разберем основы XML-PRC, ее реализацию на MQL5 и два примера ее практического использования. Первый пример - использование удаленного вызова процедур web-сервиса внешнего сайта, второй пример - клиентская часть XML-RPC сервера, который будет использован для обработки и анализа данных сайта Automated Trading Championship 2011. Если вас интересует вопрос программной реализации экспорта и анализа различных статистических характеристик участников ATC 2011, эта статья для вас.
Применение теории вероятностей на примере торговли на гэпах
Применяем методы теории вероятностей и математической статистики в процессе создания и тестирования торговых стратегий. Используя отличия цены от случайного блуждания, ищем оптимальное значение для риска в сделке. Доказано, что если цены ведут себя как случайное блуждание без сноса (отсутствие направленного тренда), то прибыльная торговля невозможна.
Оценка риска в последовательности сделок с одним активом. Продолжение
Статья развивает идеи, предложенные в предыдущей части и продолжает их рассмотрение. Описаны вопросы распределения доходностей, построения и изучения статистических закономерностей.
Jeremy Scott - успешный продавец MQL5 Маркета
Джереми Скотт (Jeremy Scott), более известный в MQL5.community под ником Johnnypasado, снискал славу на ниве нашего сервиса MQL5 Маркет. Он уже заработал несколько тысяч долларов в Маркете и это далеко не предел. Мы решили внимательнее присмотреться к будущему миллионеру и получить от него инструкцию успеха для продавцов в MQL5 Маркете.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXI): Торговые классы - Базовый кроссплатформенный торговый объект
В статье начнём новый раздел библиотеки - торговые классы, и рассмотрим создание единого базового торгового объекта для платформ MetaTrader 5 и MetaTrader 4. Такой торговый объект будет подразумевать при отправке запроса на сервер, что в него переданы уже проверенные и корректные параметры торгового запроса.
Нейросети — это просто (Часть 14): Кластеризация данных
Должен признаться, что с момента публикации последней статьи прошло уже больше года. За столь длительное время можно многое переосмыслить, выработать новые подходы. И в новой статье я хотел бы немного отойти от используемого ранее метода обучения с учителем, и предложить немного окунуться в алгоритмы обучения без учителя. И, в частности, рассмотреть один из алгоритмов кластеризации — k-средних.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXVI): Работа с отложенными торговыми запросами - первая реализация (открытие позиций)
В статье организуем хранение некоторых данных в значении магического номера ордеров и позиций и приступим к реализации отложенных запросов. Для проверки концепции создадим первый тестовый отложенный запрос на открытие рыночных позиций при получении от сервера ошибки, требующей ожидания и отправки повторного запроса.
Машинное обучение и Data Science (Часть 9): Алгоритм k-ближайших соседей (KNN)
Это ленивый алгоритм, который не учится на обучающей выборке, а хранит все доступные наблюдения и классифицирует данные сразу же, как только получает новую выборку. Несмотря на простоту, этот метод используется во множестве реальных приложений.
Разработка самоадаптирующегося алгоритма (Часть II): Повышение эффективности
В этой статье я продолжу взятую тему, но начну с того, что сделаю более гибким алгоритм, разработанный ранее. Тот алгоритм становился стабильнее с увеличением числа свечей в окне для анализа или с увеличением порогового процента перевеса падающих или растущих свечей. Приходилось идти на компромисс и устанавливать больше размер выборки для анализа или больший процент перевеса преобладающих свечей.
Поиск сезонных закономерностей на валютном рынке с помощью алгоритма CatBoost
В статье показана возможность создания моделей машинного обучения с временными фильтрами и раскрыта эффективность такого подхода. Теперь можно исключить человеческий фактор, просто сказав модели: "Хочу, чтобы ты торговала в определенный час определенного дня недели". А поиск закономерностей возложить на плечи алгоритма.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть V): Классы и коллекция торговых событий, отправка событий в программу
В предыдущих статьях мы начали создавать большую кроссплатформенную библиотеку, целью которой является упростить написание программ для платформ MetaTrader 5 и MetaTrader 4. В четвёртой части мы протестировали отслеживание торговых событий на счёте. В данной части создадим классы торговых событий, поместим их в коллекцию событий, откуда они будут отправляться в базовый объект библиотеки Engine и на график управляющей программы.
Фильтрация сигналов на основе статистических данных о корреляции цен
Есть ли связь между поведением цены в прошлом и будущими трендами? Почему сегодня цена повторяет характер движения вчерашнего дня? Возможно ли использовать статистические данные как метод прогнозирования динамики цен? Ответ есть, и он положительный. Если вы ещё сомневаетесь, эта статья для вас. Я расскажу о том, как создать рабочий фильтр для торговой системы на MQL5, обнаружив интересную закономерность в изменении цен.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XIV): Объект "Символ"
В данной статье создадим класс объекта-символа, который будет базовым объектом для создания коллекции символов. С его помощью мы сможем получать данные по нужным символам для дальнейшего их анализа и сравнения.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXXII): Отложенные торговые запросы - установка ордеров по условиям
Продолжаем создавать функционал, позволяющий производить торговлю при помощи отложенных запросов. В этой статье мы реализуем возможность устанавливать отложенные ордеры по условию.
Продвинутый ресемплинг и выбор CatBoost моделей брутфорс методом
В данной статье описан один из возможных подходов к трансформации данных для улучшения обобщающей способности модели, а также рассмотрен перебор моделей CatBoost и выбор лучшей из них.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть IV): Торговые события
В предыдущих статьях мы начали создавать большую кроссплатформенную библиотеку, целью которой является облегчение написания программ для платформы MetaTrader 5 и MetaTrader 4. У нас уже есть коллекции исторических ордеров и сделок, рыночных ордеров и позиций, класс для удобного выбора и фильтрации ордеров. В данной части продолжим развитие базового объекта и научим библиотеку Engine отслеживать торговые события на счёте.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXIV): Основной торговый класс - автоматическая коррекция ошибочных параметров
В статье разберём обработчик ошибочных параметров торгового приказа, доработаем базовый торговый класс, а также поправим работу класса торговых событий — теперь все торговые события как одиночные, так и произошедшие разом за один тик, будут правильно определяться в программах.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXXI): Отложенные торговые запросы - открытие позиций по условиям
Начиная с этой статьи, мы создадим функционал, позволяющий производить торговлю при помощи отложенных запросов по условию. Например, при наступлении или превышении некоего времени, либо при превышении заданного размера прибыли, либо при регистрации события закрытия позиции по стоплосс.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXXIV): Отложенные торговые запросы - удаление ордеров, модификация ордеров и позиций по условиям
В этой статье мы завершим описание концепции работы с отложенными торговыми запросами и создадим функционал для удаления отложенных ордеров и модификации ордеров и позиций по условиям. Таким образом у нас будет в наличии весь функционал, при помощи которого можно будет впоследствии создавать несложные пользовательские стратегии, а вернее — некоторую логику поведения советника при наступлении заданных пользователем условий.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXV): Обработка ошибок, возвращаемых торговым сервером
После того, как мы отправили торговый приказ на сервер, не стоит считать, что "дело сделано". Теперь нам необходимо проверить коды ошибок, ну или отсутствие ошибок. В статье рассмотрим обработку ошибок, возвращаемых торговым сервером, подготовим базу для создания отложенных торговых запросов.
Анализ графиков Баланса/Средств по символам и ORDER_MAGIC советников
С введением хеджинга в MetaTrader 5 появилась отличная возможность одновременной торговли несколькими советниками на одном торговом счёте. При этом возможна ситуация, когда одна стратегия прибыльна, вторая убыточна, а в итоге график прибыли болтается около нуля. В таком случае полезно построить графики Баланса и Средств для каждой торговой стратегии по отдельности.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXXIII): Отложенные торговые запросы - закрытие позиций по условиям
Продолжаем работу над функционалом библиотеки для реализации торговли при помощи отложенных запросов. У нас уже реализована отправка торговых запросов по условию на открытие позиций и установку отложенных ордеров. Сегодня создадим возможность полного, частичного и встречного закрытия позиций по условию.
Комбинаторика и теория вероятностей для трейдинга (Часть V): Анализ кривых
В данной статье я решил провести исследование на тему сведения множественных состояний к двойным. Основная цель — это анализ и полезные выводы, которые могут помочь в дальнейшей разработке масштабируемых торговых алгоритмов на базе теории вероятностей. Конечно, не обошлось и без математики, но учитывая опыт предыдущих статей, вижу, что более общая информация гораздо полезнее деталей.
Визуализация истории мультивалютной торговли по отчетам в форматах HTML и CSV
Как известно, MetaTrader 5 с момента своего появления предоставляет возможность мультивалютного тестирования. Эта функция востребована у большинства трейдеров, но, к сожалению, не столь универсальна, как того хотелось бы. В статье представлено несколько программ для разметки графиков с помощью графических объектов на основе торговой истории из отчетов форматов HTML и CSV. Торговля несколькими инструментами может анализироваться параллельно в нескольких подокнах, или в одном окне с помощью динамического переключения по команде пользователя.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXVIII): Отложенные торговые запросы - закрытие, удаление, модификации
Это третья статья о концепции отложенных запросов. В ней мы завершим тестирование работы с отложенными торговыми запросами - создадим методы для закрытия позиций, удаления отложенных ордеров и модификацию параметров позиций и отложенных ордеров.