Статьи по программированию на языках MQL4 и MQL5

icon

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

Следите за новыми публикациями и участвуйте в их обсуждении на форуме!

Новая статья
последние | лучшие
preview
Математика в трейдинге: Коэффициенты Шарпа и Сортино

Математика в трейдинге: Коэффициенты Шарпа и Сортино

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

Пример разработки торговой системы, основанной на различиях часовых поясов на разных континентах

Листая страницы Интернета, можно найти множество стратегий, которые вам советуют делать то или иное. Давайте заглянем внутрь и посмотрим на сам процесс составления стратегии, основанной на различиях часовых поясов на разных континентах.
Последний крестовый поход
Последний крестовый поход

Последний крестовый поход

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

LifeHack для трейдера: Сравнительный отчет нескольких тестирований

В статье рассматривается одновременный запуск тестирования советника сразу на четырёх разных символах. Итоговое сравнение четырёх отчётов тестирования приводится в одной таблице, как при выборе товаров в интернет-магазинах. Дополнительным бонусом идут автоматически создаваемые графики распределений для каждого символа.
preview
Нейросети — это просто (Часть 9): Документируем проделанную работу

Нейросети — это просто (Часть 9): Документируем проделанную работу

Мы уже проделали довольно большой путь, и код нашей библиотеке сильно разрастается. Становится сложно отслеживать все связи и зависимости. И конечно, перед продолжением развития проекта нам нужно задокументировать уже проделанную работу и актуализировать документацию на каждом последующем шаге. Правильно подготовленная документация поможет нам увидеть целостность нашей работы.
Новый подход к интерпретации классической и обратной дивергенции. Часть 2
Новый подход к интерпретации классической и обратной дивергенции. Часть 2

Новый подход к интерпретации классической и обратной дивергенции. Часть 2

В этой статье мы в критическом ключе рассмотрим классическую дивергенцию и проанализируем эффективность различных индикаторов. А также предложим варианты фильтрации для повышения точности анализа и продолжим рассматривать нестандартные решения. Как результат, создадим нетипичный инструмент для решения поставленной задачи.
Рецепты MQL5 - Озвучиваем торговые события в MetaTrader 5
Рецепты MQL5 - Озвучиваем торговые события в MetaTrader 5

Рецепты MQL5 - Озвучиваем торговые события в MetaTrader 5

В этой статье мы рассмотрим такие вопросы, как включение в файл эксперта звуковых файлов и, соответственно, озвучивание торговых событий. Включение файлов означает, что звуковые файлы будут находиться внутри эксперта, и если передать скомпилированную версию эксперта (*.ex5) другому пользователю, то не нужно будет передавать ему звуковые файлы и объяснять при этом, в какую папку их положить.
Рецепты MQL5 – Получаем свойства открытой хеджевой позиции
Рецепты MQL5 – Получаем свойства открытой хеджевой позиции

Рецепты MQL5 – Получаем свойства открытой хеджевой позиции

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

Как не попасть в ловушки оптимизации?

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

Построение фрактальных линий

В данной статье описывается построение фрактальных линий различного типа при помощи трендовых линий и фракталов.
Универсальный торговый эксперт: Индикатор CUnIndicator и работа с отложенными ордерами (часть 9)
Универсальный торговый эксперт: Индикатор CUnIndicator и работа с отложенными ордерами (часть 9)

Универсальный торговый эксперт: Индикатор CUnIndicator и работа с отложенными ордерами (часть 9)

В статье описана работа с индикаторами через универсальный класс CUnIndicator. Кроме того, рассмотрены новые методы работы с отложенными ордерами. Обратите внимание: с этого момента структура проекта CStrategy существенно изменена. Теперь все его файлы располагаются в единой директории для удобства пользователей.
Графические интерфейсы XI: Нарисованные элементы управления (build 14.2)
Графические интерфейсы XI: Нарисованные элементы управления (build 14.2)

Графические интерфейсы XI: Нарисованные элементы управления (build 14.2)

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

Эксперты на основе популярных торговых систем и алхимия оптимизации торгового робота (Часть 2)

В данной статье автор продолжает обзор алгоритмов реализации простейших торговых систем и знакомит с некоторыми, актуальными подробностями использования результатов оптимизаций. Статья будет полезна начинающим трейдерам и начинающим экспертописателям
Практическое использование нейросетей Кохонена в алгоритмическом трейдинге (Часть I): Инструментарий
Практическое использование нейросетей Кохонена в алгоритмическом трейдинге (Часть I): Инструментарий

Практическое использование нейросетей Кохонена в алгоритмическом трейдинге (Часть I): Инструментарий

Данная статья развивает идею использования сетей Кохонена в МетаТрейдер 5, освещавшуюся в нескольких предыдущих материалах. Исправленные и усовршенствованные классы предоставляют инструментарий для решения прикладных задач.
Интеграция эксперта на MQL и базы данных (SQL Server, .NET и C#)
Интеграция эксперта на MQL и базы данных (SQL Server, .NET и C#)

Интеграция эксперта на MQL и базы данных (SQL Server, .NET и C#)

Статья описывает, как добавить в экспертов на MQL5 возможность работы с сервером баз данных Microsoft SQL Server. Используется импорт функций из DLL. Для создания DLL применяется платформа Microsoft .NET и язык C#. Используемые в статье методы с незначительными изменениями подходят и для экспертов, написанных на MQL4.
LifeHack для трейдера: индикаторы баланса, просадки, загрузки и тиков во время тестирования
LifeHack для трейдера: индикаторы баланса, просадки, загрузки и тиков во время тестирования

LifeHack для трейдера: индикаторы баланса, просадки, загрузки и тиков во время тестирования

Как сделать тестирование более наглядным? Ответ прост: нужно использовать в тестере один или несколько индикаторов — тиковый индикатор, индикатор баланса и эквити, индикатор просадки и загрузки депозита. Это позволит визуально отслеживать или природу тиков, или изменение баланса и эквити, или просадку и загрузку депозита.
Рецепты MQL5 - Сохраняем результаты оптимизации торгового эксперта по указанным критериям
Рецепты MQL5 - Сохраняем результаты оптимизации торгового эксперта по указанным критериям

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

Продолжим серию статей по программированию на MQL5. На этот раз рассмотрим, как можно получать результаты по каждому проходу оптимизации непосредственно во время оптимизации параметров эксперта. При этом сделаем так, что если условия, которые будут настраиваться во внешних параметрах, исполняются, то показатели этого прохода будут записываться в файл. Кроме показателей тестов будем сохранять еще параметры, по которым был получен этот результат.
Паттерны с примерами (Часть I): Кратная вершина
Паттерны с примерами (Часть I): Кратная вершина

Паттерны с примерами (Часть I): Кратная вершина

Статья начинает цикл рассмотрения разворотных паттернов в рамках алготрейдинга. Мы начнем мысль, исследуя первое и самое интересное семейство данных паттернов, которые берут начало из паттерна "Двойная вершина" и "Двойное дно".
Как преодолеть ограничения тестера стратегий при тестировании хеджевых советников
Как преодолеть ограничения тестера стратегий при тестировании хеджевых советников

Как преодолеть ограничения тестера стратегий при тестировании хеджевых советников

Идеи по тестированию хеджевых советников с использованием тестера стратегий.
Нестандартная автоматическая торговля
Нестандартная автоматическая торговля

Нестандартная автоматическая торговля

Насколько реально можно успешно и комфортно торговать, используя платформу МТ4, и не слишком обременяя себя, при этом, скрупулезным анализом рынка? Возможно ли реализовать практически такую торговую систему? Пожалуй..,. - да! Особенно в плане автоматической торговли!
LifeHack для трейдера: "Тихая" оптимизация или Строим распределения трейдов
LifeHack для трейдера: "Тихая" оптимизация или Строим распределения трейдов

LifeHack для трейдера: "Тихая" оптимизация или Строим распределения трейдов

Анализ торговой истории и построение HTML графиков распределения результатов торговли в зависимости от времени входа в позицию. Графики отображаются в трех разрезах – по часам, дням недели и месяцам.
Интервью с Алексеем Мастеровым (ATC 2012)
Интервью с Алексеем Мастеровым (ATC 2012)

Интервью с Алексеем Мастеровым (ATC 2012)

Мы стараемся заблаговременно знакомить зрителей Чемпионата со всеми претендентами на призовые места. Для этого мы внимательно следим за всеми перспективными участниками в TOP-10 и берём у них интервью. Но взлет на 3-е место Алексея Мастерова (reinhard) был для нас полной неожиданностью!
Раздельная оптимизация стратегии на тренде и флете
Раздельная оптимизация стратегии на тренде и флете

Раздельная оптимизация стратегии на тренде и флете

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

Комбинаторика и теория вероятностей для трейдинга (Часть II): Универсальный фрактал

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

О проблемах технического анализа

В настоящее время технический анализ, наряду с фундаментальным, является важнейшим методом анализа биржевых рынков. Являясь одним из методов прогнозирования ценовой динамики биржевых рынков, технический анализ обладает большим количеством недостатков, которые ставят под вопрос его практическую применимость.
Рецепты MQL5 - Разработка мультивалютного индикатора для анализа расхождения цен
Рецепты MQL5 - Разработка мультивалютного индикатора для анализа расхождения цен

Рецепты MQL5 - Разработка мультивалютного индикатора для анализа расхождения цен

В этой статье рассмотрим разработку мультивалютного индикатора для анализа расхождения цен за указанный период времени. Многие основные моменты уже рассматривались в предыдущей статье по программированию мультивалютных индикаторов "Разработка мультивалютного индикатора волатильности на MQL5". Поэтому на этот раз будем останавливаться только на новых функциях и тех функциях, которые претерпели сильные изменения. Если Вы впервые рассматриваете тему программирования мультивалютных индикаторов, то рекомендуется в первую очередь прочитать предыдущую статью.
Расчёт интегральных характеристик излучений индикаторов
Расчёт интегральных характеристик излучений индикаторов

Расчёт интегральных характеристик излучений индикаторов

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

Статистический анализ рыночных движений и их прогнозов

В данной статье рассматриваются широкие возможности статистического подхода к изучению рынка. К сожалению, трейдеры-новички сознательно не используют эту поистине могущественную науку – статистику. А ведь, во-первых, это - единственное, чем они пользуются подсознательно при анализе рынка, а во-вторых, статистика может дать ответы на многие вопросы.
Графические интерфейсы II: Элемент "Пункт меню" (Глава 1)
Графические интерфейсы II: Элемент "Пункт меню" (Глава 1)

Графические интерфейсы II: Элемент "Пункт меню" (Глава 1)

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

Самоадаптирующийся алгоритм (Часть III): Отказываемся от оптимизации

Получить по-настоящему стабильный алгоритм невозможно, если для подбора параметров используется оптимизация по историческим данным. Стабильный алгоритм сам должен знать, какие параметры нужны для работы по любому торговому инструменту в любой момент времени. Он не должен предполагать или угадывать, он должен точно знать.
Повышаем качество кода при помощи Unit Test
Повышаем качество кода при помощи Unit Test

Повышаем качество кода при помощи Unit Test

Даже в простых программах зачастую находятся ошибки, которые кажутся невероятными. "Как я такое написал?" - первое, что приходит в голову, когда мы обнаруживаем такую ошибку. Второй вопрос - "Как этого избежать?" - приходит гораздо реже. Нельзя написать 100%-ный безошибочный код, особенно в больших проектах, но можно использовать технологии для их своевременного обнаружения. Статья рассказывает о том, как можно повысить качество MQL4 кода, применяя распространенную методику модульного тестирования (Unit Testing).
Индикатор трендовых линий с учетом подхода Т.Демарка
Индикатор трендовых линий с учетом подхода Т.Демарка

Индикатор трендовых линий с учетом подхода Т.Демарка

Индикатор показывает линии тренда отражая самые последние события на рынке. Индикатор построен по рекомендациям и с учетом подхода Томаса Демарка к техническому анализу. Индикатор отображает не только последнее направление тренда, но и предпоследнее противоположное направление тренда.
preview
Нейросети — это просто (Часть 11): Вариации на тему GPT

Нейросети — это просто (Часть 11): Вариации на тему GPT

Сегодня, наверное, одной из самых передовых языковых моделей нейросетей является GPT-3, которая в максимальном своем варианте содержит 175 млрд. параметров. Конечно, мы не будем создавать подобного монстра в домашних условиях. Но давайте посмотрим, какие архитектурные решения мы можем использовать в своей работе и какие это нам даст преимущества.
Как разрабатывать системы на основе скользящих средних
Как разрабатывать системы на основе скользящих средних

Как разрабатывать системы на основе скользящих средних

Есть множество различных способов для фильтрации сигналов, генерируемых какой-либо стратегией. Вероятно, простейший из них — это использование скользящей средней. Об этом мы и поговорим в этой статье.
Как быстро написать советник для Automated Trading Championship 2010
Как быстро написать советник для Automated Trading Championship 2010

Как быстро написать советник для Automated Trading Championship 2010

Для того чтобы разработать эксперт для участия в чемпионате Automated Trading Championship 2010, воспользуемся шаблоном готового советника. Данная задача будет по силам даже новичку в программировании на MQL5, т.к. для ваших стратегий уже разработаны базовые классы, функции, шаблоны. Достаточно написать минимум кода, чтобы реализовать свою торговую идею.
Визуализация тестирования. Расширение функциональности.
Визуализация тестирования. Расширение функциональности.

Визуализация тестирования. Расширение функциональности.

В статье описаны программные средства, которые помогут сделать тестирование стратегий максимально похожим на реальную торговлю.
Использование MetaTrader 5 как поставщика торговых сигналов для MetaTrader 4
Использование MetaTrader 5 как поставщика торговых сигналов для MetaTrader 4

Использование MetaTrader 5 как поставщика торговых сигналов для MetaTrader 4

В статье обсуждаются особенности использования MetaTrader 5 в качестве поставщика торговых сигналов для MetaTrader 4. Вы узнаете как создать простой поставщик торговых сигналов из MetaTrader 5 и как его подключить к нескольким терминалам MetaTrader 4. Также вы узнаете о том, как в реальном времени копировать сделки участников Automated Trading Championship на свой реальный счет в MetaTrader 4.
Разработка торгового советника с нуля
Разработка торгового советника с нуля

Разработка торгового советника с нуля

Давайте разберемся, как разработать советник для торговли с минимальным количеством программирования
Комбинационный скальпинг: сделки из прошлого или повышение результативности будущих сделок
Комбинационный скальпинг: сделки из прошлого или повышение результативности будущих сделок

Комбинационный скальпинг: сделки из прошлого или повышение результативности будущих сделок

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

Alert и Comment для внешних индикаторов

В практической работе трейдер иногда сталкивается с такой ситуацией: нужно получить «alert» или текстовое сообщение на экране монитора, (в окне графика) сообщение или информацию о появившемся сигнале от какого-либо индикатора. В статье приводится пример вывода информации о графических объектах, созданных сторонним индикатором.