Статьи по автоматизации торговых систем на языке MQL5

icon

Прочитайте статьи по торговым системам, которые основаны на самых разнообразных идеях. Вы узнаете как использовать  статистические методы и паттерны на японских свечах, как фильтровать сигналы и для чего нужны семафорные индикаторы.

С помощью Мастера MQL5 вы научитесь создавать робота без программирования для быстрой проверки торговых идей, а также узнаете, что такое генетические алгоритмы.

Новая статья
последние | лучшие
Исследование методов свечного анализа (Часть IV): Обновление и дополнение приложения
Исследование методов свечного анализа (Часть IV): Обновление и дополнение приложения

Исследование методов свечного анализа (Часть IV): Обновление и дополнение приложения

В этой статье представлена следующая версия приложения Pattern Analyzer. В нем были исправлены некоторые недоработки, добавлены новые возможности, пересмотрено удобство и актуальность текущего интерфейса. При этом были рассмотрены пожелания и идеи из комментариев предыдущих статей. Что в итоге получилось — читайте далее в этой статье.
preview
Что можно сделать с помощью скользящих средних

Что можно сделать с помощью скользящих средних

В данной статье мне захотелось собрать некоторые способы применения индикатора "Скользящая средняя". Практически к каждому способу, если требуется анализ кривых, сделаны индикаторы, визуализирующие полезную идею. В большинстве случаев идеи подсмотрены у других авторов, однако, собранные все вместе, они помогут точнее видеть основные направления и — надеюсь — принимать более правильные торговые решения. Уровень знания языка MQL5 — начальный.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXIII):  Основной торговый класс - контроль допустимых параметров
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXIII):  Основной торговый класс - контроль допустимых параметров

Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXIII): Основной торговый класс - контроль допустимых параметров

В статье продолжим развитие торгового класса - организуем контроль неверных значений параметров торгового приказа и озвучим торговые события.
Прогнозирование временных рядов (Часть 2): метод наименьших квадратов опорных векторов (LS-SVM)
Прогнозирование временных рядов (Часть 2): метод наименьших квадратов опорных векторов (LS-SVM)

Прогнозирование временных рядов (Часть 2): метод наименьших квадратов опорных векторов (LS-SVM)

В статье рассмотрена теория и практическое применение алгоритма прогнозирования временных рядов на основе метода опорных векторов, предложена его реализация на MQL, предоставлены тестовые индикаторы и эксперты. Данная технология до сих пор не была ещё реализована на MQL. Но сначала нам потребуется познакомиться с некоторым математическим аппаратом.
Как разработать торговую систему на основе Bollinger Bands
Как разработать торговую систему на основе Bollinger Bands

Как разработать торговую систему на основе Bollinger Bands

В этой статье мы поговорим о полосах Боллинджера (Bollinger Bands) — одном из самых популярных индикаторов в мире трейдинга. Мы обсудим технический анализ, а также научимся разрабатывать системы алгоритмической торговли на основе индикатора Bollinger Bands.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXII): Торговые классы - Основной торговый класс, контроль ограничений
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXII): Торговые классы - Основной торговый класс, контроль ограничений

Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXII): Торговые классы - Основной торговый класс, контроль ограничений

В статье начнём создавать основной торговый класс библиотеки и наделим его первую версию функционалом первичной проверки разрешений на проведение торговых операций. Также немного расширим возможности и содержание базового торгового класса.
Применение функции TesterWithdrawal() для моделирования снятия прибыли
Применение функции TesterWithdrawal() для моделирования снятия прибыли

Применение функции TesterWithdrawal() для моделирования снятия прибыли

В статье рассмотрено применение функции TesterWithDrawal() для оценки рисков в торговых системах, выполняющих снятие определенной части средств в процессе работы. Наряду с этим показано, как применение данной функции влияет на алгоритм расчета просадки по средствам в тестере. Использование данной функции может быть полезным при оптимизации параметров вашего советника.
Универсальный шаблон экспертов
Универсальный шаблон экспертов

Универсальный шаблон экспертов

Данная статья поможет начинающим трейдерам создавать гибко-настраиваемые эксперты.
preview
Машинное обучение в торговых системах на сетке и мартингейле. Есть ли рыба?

Машинное обучение в торговых системах на сетке и мартингейле. Есть ли рыба?

Данная статья познакомит читателя с техникой машинного обучения для торговли сеткой и мартингейлом. К моему удивлению, такой подход по каким-то причинам совершенно не затронут в глобальной сети. Прочитав статью, вы сможете создавать своих собственных ботов.
preview
Простая торговая стратегия возврата к среднему

Простая торговая стратегия возврата к среднему

Возврат к среднему - это метод контртрендовой торговли, при котором трейдер ожидает, что цена вернется к некоторой форме равновесия, которое обычно измеряется средним значением или другим статистическим показателем усредненной тенденции.
Оптимальный метод подсчета объема совокупной позиции по заданному магическому номеру
Оптимальный метод подсчета объема совокупной позиции по заданному магическому номеру

Оптимальный метод подсчета объема совокупной позиции по заданному магическому номеру

В статье рассматривается проблема необходимости подсчета совокупной позиции по заданному символу и магическому номеру. Предложенный метод подсчета объема позиции в процессе работы загружает только минимально необходимую часть истории сделок. В процессе же самой работы обработка происходит только по последним сделкам. Дополнительно рассматривается метод формирования уникальных имен глобальных переменных.
Повышаем эффективность линейных торговых систем
Повышаем эффективность линейных торговых систем

Повышаем эффективность линейных торговых систем

В сегодняшней статье речь пойдет о том, как MQL5-программисты со средним уровнем подготовки могут повысить прибыльность своих линейных торговых систем, используя так называемую технику возведения в степень (technique of exponentiation). Данная техника названа именно так, потому что при ее использовании кривая средств приобретает геометрическую, или экспоненциальную, форму, становясь похожей на параболу. В частности, мы реализуем на языке MQL5 фиксированно-фракционный (Fixed Fractional) метод Ральфа Винса.
preview
Изучаем возможности создания разноцветных свечных графиков

Изучаем возможности создания разноцветных свечных графиков

В этой статье мы рассмотрим возможности создания кастомных свечных индикаторов, а также поговорим об их преимуществах и недостатках.
Самостоятельная оценка результатов тестирования эксперта
Самостоятельная оценка результатов тестирования эксперта

Самостоятельная оценка результатов тестирования эксперта

В статье представлены формулы и порядок расчета данных, отображаемых в отчете тестера.
preview
Биржевая сеточная торговля лимитными ордерами на полном автомате на Московской бирже MOEX

Биржевая сеточная торговля лимитными ордерами на полном автомате на Московской бирже MOEX

Разработка торгового советника на языке торговых стратегий MQL5 для MetaTrader 5 Московской биржи MOEX. Советник будет торговать по сеточной стратегии на терминале MetaTrader 5 на рынках Московской биржи MOEX, которая также включает в себя закрытие позиции по стоп-лоссу или тейк-профиту, удаление отложенных ордеров при наступлении определенных рыночных условий.
Индикатор для построения графика "шпинделей" (веретён)
Индикатор для построения графика "шпинделей" (веретён)

Индикатор для построения графика "шпинделей" (веретён)

Статья рассматривает построение графика "шпинделей" (spindles) или, как их еще называют, "веретён", его использование в торговых стратегиях и советниках. Вначале обсудим появление графика, его построение и связь с графиком японских свечей. Далее проанализируем реализацию индикатора в программном коде на языке MQL5. Протестируем основанный на индикаторе эксперт и сформулируем торговую стратегию.
preview
Методы Уильяма Ганна (Часть I): Создаем индикатор углов Ганна

Методы Уильяма Ганна (Часть I): Создаем индикатор углов Ганна

В чем суть теории Ганна? Как строятся углы Ганна? Создаем индикатор углов Ганна для MetaTrader 5.
Как разработать надежный и безопасный торговый робот на языке MQL4
Как разработать надежный и безопасный торговый робот на языке MQL4

Как разработать надежный и безопасный торговый робот на языке MQL4

В статье рассказывается об основных типах ошибок, которые возникают при создании и эксплуатации советника. Приводится пример создания безопасной автоматической торговой системы.
Визуализируем оптимизацию торговой стратегии в MetaTrader 5
Визуализируем оптимизацию торговой стратегии в MetaTrader 5

Визуализируем оптимизацию торговой стратегии в MetaTrader 5

В статье реализовано MQL-приложение с графическим интерфейсом для расширенной визуализации процесса оптимизации. Графический интерфейс создан с помощью последней версии библиотеки EasyAndFast. У многих пользователей возникает вопрос, зачем нужны графические интерфейсы в MQL-приложениях. В настоящей статье продемонстрирован один из множества случаев, когда они могут быть полезными для трейдеров.
Экспертная система "Комментатор". Практическое использование встроенных индикаторов в MQL4-программе
Экспертная система "Комментатор". Практическое использование встроенных индикаторов в MQL4-программе

Экспертная система "Комментатор". Практическое использование встроенных индикаторов в MQL4-программе

Статья рассматривает использование технических индикаторов при программировании на языке MQL4.
preview
Продвинутый ресемплинг и выбор CatBoost моделей брутфорс методом

Продвинутый ресемплинг и выбор CatBoost моделей брутфорс методом

В данной статье описан один из возможных подходов к трансформации данных для улучшения обобщающей способности модели, а также рассмотрен перебор моделей CatBoost и выбор лучшей из них.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XX): Создание и хранение ресурсов программы
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XX): Создание и хранение ресурсов программы

Библиотека для простого и быстрого создания программ для MetaTrader (Часть XX): Создание и хранение ресурсов программы

В статье рассмотрим способ хранения данных в исходниках программы и создание из них звуковых и графических файлов. Часто при создании программы, нам требуется использовать звуки и изображения. В языке MQL есть несколько возможностей использования таких данных.
Преимущества MQL5 Сигналов
Преимущества MQL5 Сигналов

Преимущества MQL5 Сигналов

Недавно появившийся в MetaTrader 5 сервис «Торговые сигналы» позволил трейдерам копировать торговые операции любого поставщика сигналов. Пользователь выбирает понравившийся ему сигнал, подписывается на него, и все сделки теперь повторяются на его счете. Не остается внакладе и поставщик, ведь он может установить свою цену на подписку и получать ежемесячно фиксированную плату со своих клиентов.
preview
Машинное обучение и Data Science (Часть 07): Полиномиальная регрессия

Машинное обучение и Data Science (Часть 07): Полиномиальная регрессия

Полиномиальная регрессия — это гибкая модель, предназначенная для эффективного решения задач, с которыми не справляется модель линейной регрессии. В этой статье узнаем, как создавать полиномиальные модели на MQL5 и извлекать из них выгоду.
preview
Машинное обучение и Data Science (Часть 06): Градиентный спуск

Машинное обучение и Data Science (Часть 06): Градиентный спуск

Градиентный спуск играет важную роль в обучении нейронных сетей и различных алгоритмов машинного обучения — это быстрый и умный алгоритм. Однако несмотря на его впечатляющую работу, многие специалисты по данным все еще неправильно его понимают. Давайте в этой статье посмотрим, о чем идет речь.
Файл Lite_EXPERT2.mqh - функциональный конструктор экспертописателя
Файл Lite_EXPERT2.mqh - функциональный конструктор экспертописателя

Файл Lite_EXPERT2.mqh - функциональный конструктор экспертописателя

Эта статья является продолжением цикла статей "Эксперты на основе популярных торговых систем и алхимия оптимизации торгового робота". В ней автор знакомит читателей с более универсальной библиотекой функций файла Lite_EXPERT2.mqh
preview
Машинное обучение и Data Science — Нейросети (Часть 01): Разбираем нейронные сети с прямой связью

Машинное обучение и Data Science — Нейросети (Часть 01): Разбираем нейронные сети с прямой связью

Многие любят, но немногие понимают все операции, лежащие в основе нейронных сетей. В этой статье я постараюсь простым языком объяснить все, что происходит за закрытыми дверями многоуровневого перцептрона с прямой связью Feed Forward.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXI): Торговые классы - Базовый кроссплатформенный торговый объект
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXI): Торговые классы - Базовый кроссплатформенный торговый объект

Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXI): Торговые классы - Базовый кроссплатформенный торговый объект

В статье начнём новый раздел библиотеки - торговые классы, и рассмотрим создание единого базового торгового объекта для платформ MetaTrader 5 и MetaTrader 4. Такой торговый объект будет подразумевать при отправке запроса на сервер, что в него переданы уже проверенные и корректные параметры торгового запроса.
Разработка самоадаптирующегося алгоритма (Часть II): Повышение эффективности
Разработка самоадаптирующегося алгоритма (Часть II): Повышение эффективности

Разработка самоадаптирующегося алгоритма (Часть II): Повышение эффективности

В этой статье я продолжу взятую тему, но начну с того, что сделаю более гибким алгоритм, разработанный ранее. Тот алгоритм становился стабильнее с увеличением числа свечей в окне для анализа или с увеличением порогового процента перевеса падающих или растущих свечей. Приходилось идти на компромисс и устанавливать больше размер выборки для анализа или больший процент перевеса преобладающих свечей.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXVI): Работа с отложенными торговыми запросами - первая реализация (открытие позиций)
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXVI): Работа с отложенными торговыми запросами - первая реализация (открытие позиций)

Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXVI): Работа с отложенными торговыми запросами - первая реализация (открытие позиций)

В статье организуем хранение некоторых данных в значении магического номера ордеров и позиций и приступим к реализации отложенных запросов. Для проверки концепции создадим первый тестовый отложенный запрос на открытие рыночных позиций при получении от сервера ошибки, требующей ожидания и отправки повторного запроса.
preview
Фиксированный стоп-лосс на основе ценового действия и RSI ("умный" стоп-лосс)

Фиксированный стоп-лосс на основе ценового действия и RSI ("умный" стоп-лосс)

Стоп-лосс – основной инструмент управления капиталом в трейдинге. Эффективное использование стоп-лосса, тейк-профита и размера лота может сделать торговлю более последовательной и в целом более прибыльной. Тем не менее, в использовании стоп-лосса есть и свои трудности. Основная из них – охота на стоп-лоссы. В этой статье рассматривается, как свести к минимуму эффект от охоты на стоп-лоссы, а также проводится сравнение с классическим применением стоп-лосса для определения его прибыльности.
preview
Поиск сезонных закономерностей на валютном рынке с помощью алгоритма CatBoost

Поиск сезонных закономерностей на валютном рынке с помощью алгоритма CatBoost

В статье показана возможность создания моделей машинного обучения с временными фильтрами и раскрыта эффективность такого подхода. Теперь можно исключить человеческий фактор, просто сказав модели: "Хочу, чтобы ты торговала в определенный час определенного дня недели". А поиск закономерностей возложить на плечи алгоритма.
Show Must Go On... или очередное возвращение к ZigZag'у
Show Must Go On... или очередное возвращение к ZigZag'у

Show Must Go On... или очередное возвращение к ZigZag'у

Об одном очевидном и, одновременно, нестандартном методе построения ZigZag'а и о том, что из этого получилось - индикаторе Мультифреймовый Фрактальный ZigZag, отображающем на одном, рабочем, таймфрейме (ТФ) ZigZag'и, построенные на трех старших. В свою очередь, величины старших ТФ могут быть нестандартными, в диапазоне от M5 до MN1.
Jeremy Scott - успешный продавец MQL5 Маркета
Jeremy Scott - успешный продавец MQL5 Маркета

Jeremy Scott - успешный продавец MQL5 Маркета

Джереми Скотт (Jeremy Scott), более известный в MQL5.community под ником Johnnypasado, снискал славу на ниве нашего сервиса MQL5 Маркет. Он уже заработал несколько тысяч долларов в Маркете и это далеко не предел. Мы решили внимательнее присмотреться к будущему миллионеру и получить от него инструкцию успеха для продавцов в MQL5 Маркете.
Инфографика "MQL5.com Freelance: Можно ли тут заработать?"
Инфографика "MQL5.com Freelance: Можно ли тут заработать?"

Инфографика "MQL5.com Freelance: Можно ли тут заработать?"

К четырехлетию «Фриланса» мы подготовили инфографику, которая наглядно демонстрирует итоги деятельности сервиса за все время его существования. Цифры говорят сами за себя: на данный момент выполнено более 10 000 работ общей стоимостью около $600 000, а услугами сервиса воспользовались уже 3 000 заказчиков и 300 разработчиков.
Расширяем функционал Конструктора стратегий
Расширяем функционал Конструктора стратегий

Расширяем функционал Конструктора стратегий

В предшествующих двух статьях было рассмотрено использование технических фигур Меррилла применительно к различным типам данных. Разработано приложения для тестирования на базе этой идеи. В данной статье продолжаем работу над Конструктором стратегий, улучшаем его работу, делаем более удобным и расширяем его функционал и возможности.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть V): Классы и коллекция торговых событий, отправка событий в программу
Библиотека для простого и быстрого создания программ для MetaTrader (Часть V): Классы и коллекция торговых событий, отправка событий в программу

Библиотека для простого и быстрого создания программ для MetaTrader (Часть V): Классы и коллекция торговых событий, отправка событий в программу

В предыдущих статьях мы начали создавать большую кроссплатформенную библиотеку, целью которой является упростить написание программ для платформ MetaTrader 5 и MetaTrader 4. В четвёртой части мы протестировали отслеживание торговых событий на счёте. В данной части создадим классы торговых событий, поместим их в коллекцию событий, откуда они будут отправляться в базовый объект библиотеки Engine и на график управляющей программы.
preview
Методы Уильяма Ганна (Часть II): Создаем индикатор квадрата Ганна

Методы Уильяма Ганна (Часть II): Создаем индикатор квадрата Ганна

Пробуем создать индикатор на основе квадрата 9 Ганна, построенного по квадрированию времени и цены. Напишем код и протестируем индикатор в платформе на разных временных промежутках.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XIV): Объект "Символ"
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XIV): Объект "Символ"

Библиотека для простого и быстрого создания программ для MetaTrader (Часть XIV): Объект "Символ"

В данной статье создадим класс объекта-символа, который будет базовым объектом для создания коллекции символов. С его помощью мы сможем получать данные по нужным символам для дальнейшего их анализа и сравнения.
Тестирование паттернов валютных пар: Использование и перспективы для реальной торговли. Часть IV
Тестирование паттернов валютных пар: Использование и перспективы для реальной торговли. Часть IV

Тестирование паттернов валютных пар: Использование и перспективы для реальной торговли. Часть IV

Эта статья завершает серию материалов о торговле корзинами валютных пар. В ней протестирован оставшийся паттерн и обсуждается использование всей методики в реальной торговле. Рассмотрены вход и выход с рынка, поиск и анализ паттернов, сложное использование объединенных индикаторов.