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

icon

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

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

Новая статья
последние | лучшие
Свопы (Часть I) : Локирование и синтетические позиции
Свопы (Часть I) : Локирование и синтетические позиции

Свопы (Часть I) : Локирование и синтетические позиции

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

Склейка фьючерсов в MetaTrader 5

Технический анализ фьючерсов затруднён из-за непродолжительного срока их обращения. На относительно коротких графиках трудно проводить технический анализ, к примеру, количество баров на дневном графике фьючерса на индекс Украинской биржи UX-9.13 чуть больше 100. Поэтому перед трейдером стоит вопрос построения синтетических инструментов по фьючерсам. В статье рассматривается вопрос склейки истории по фьючерсным контрактам с различными датами обращения в терминале MetaTrader 5.
Контроль наклона кривой баланса во время работы торгового эксперта
Контроль наклона кривой баланса во время работы торгового эксперта

Контроль наклона кривой баланса во время работы торгового эксперта

Найти правила для торговой системы и запрограммировать их в советнике - это еще полбеды. Необходимо каким-то образом поправлять работу эксперта в процессе накопления результатов торговли. В статье описывается один из подходов, позволяющий улучшить характеристики торгового эксперта при помощи создания обратной связи, измеряющей наклон кривой баланса депозита.
Файловые операции через WinAPI
Файловые операции через WinAPI

Файловые операции через WinAPI

Исполнительная среда MQL4 основана на концепции безопасной "песочницы": чтение и запись средствами языка разрешены только в определенных папках. Это защищает пользователя MetaTrader 4 от потенциальной опасности испортить важные данные на жестком диске компьютера. Но иногда все же бывает необходимость покинуть безопасную зону. Как это сделать легко и правильно - об этом статья.
Рецепты MQL5 - Изучение свойств позиции в тестере MetaTrader 5
Рецепты MQL5 - Изучение свойств позиции в тестере MetaTrader 5

Рецепты MQL5 - Изучение свойств позиции в тестере MetaTrader 5

Модифицированная версия эксперта из предыдущей статьи "Рецепты MQL5 - Свойства позиции на пользовательской информационной панели". Рассмотрим ряд вопросов: получение данных баров, отслеживание события "новый бар" на текущем символе, подключение торгового класса стандартной библиотеки, создание функции поиска торговых сигналов, создание функции для выполнения торговых операций, а также определение торгового события в функции OnTrade().
Исследование методов свечного анализа (Часть III): Библиотека работы с паттернами
Исследование методов свечного анализа (Часть III): Библиотека работы с паттернами

Исследование методов свечного анализа (Часть III): Библиотека работы с паттернами

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

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

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

Как правильно выбрать торговый сигнал для подписки. Пошаговое руководство

В данном пошаговом руководстве рассматривается сервис Cигналы, изучение торговых сигналов, системный подход к поиску нужного сигнала, который удовлетворял бы критериям доходности, риска, активности торговли, работы на различных типах счетов и финансовых инструментах.
50 000 выполненных работ на фриланс-бирже MQL5.com
50 000 выполненных работ на фриланс-бирже MQL5.com

50 000 выполненных работ на фриланс-бирже MQL5.com

Участники официального фриланс-сервиса для платформ MetaTrader к октябрю 2018 года выполнили уже более 50 000 заказов. Это самая большая в мире биржа удаленной работы для MQL-программистов — более тысячи исполнителей, десятки новых заявок от трейдеров ежедневно и локализация на 7 языков.
Пример написания игры "Змейка" на MQL5
Пример написания игры "Змейка" на MQL5

Пример написания игры "Змейка" на MQL5

В статье рассматривается пример написания игры "Змейка". Создание игр в 5-ой версии языка MQL стало возможным, в первую очередь, благодаря обработке событий. Поддержка объектно-ориентированного программирования значительно упрощает данный процесс. Также вы узнаете особенности обработки событий, примеры работы со стандартной библиотекой MQL5 и способы периодического вызова функций.
Глубокие нейросети (Часть VIII). Повышение качества классификации bagging-ансамблей
Глубокие нейросети (Часть VIII). Повышение качества классификации bagging-ансамблей

Глубокие нейросети (Часть VIII). Повышение качества классификации bagging-ансамблей

В статье рассматриваются три метода, с помощью которых можно повысить качество классификации bagging-ансамблей, и оценивается их эффективность. Проведена оценка того, как влияет оптимизация гиперпараметров нейросетей ELM и параметров постпроцессинга на качество классификации ансамбля.
Индикатор "Канат" Эрика Наймана
Индикатор "Канат" Эрика Наймана

Индикатор "Канат" Эрика Наймана

В статье описывается построение индикатора «Канат» по книге Эрика Л. Наймана «Малая энциклопедия трейдера». Этот индикатор показывает направление тренда на основе расчетных величин быков и медведей за указанный период. В статье изложены принципы построения и расчета индикатора с примерами кода, на основе индикатора построен эксперт и произведена оптимизация внешних параметров.
Создание и публикация отчетов о результатах торговли, отправка SMS-сообщений
Создание и публикация отчетов о результатах торговли, отправка SMS-сообщений

Создание и публикация отчетов о результатах торговли, отправка SMS-сообщений

Трейдер не всегда имеет возможность и желание находиться часами перед торговым терминалом. Особенно, если торговая система в той или иной степени формализована и позволяет автоматически идентифицировать некоторые состояния рынка. В данной статье описано, как с помощью советника, индикатора или скрипта сформировать отчет о результатах торговли в виде html-файла и загрузить его по протоколу FTP на WWW-сервер, рассмотрен вопрос отправки уведомлений о торговых событиях на мобильный телефон в виде SMS-сообщений.
Рецепты MQL5 - Свойства позиции на пользовательской информационной панели
Рецепты MQL5 - Свойства позиции на пользовательской информационной панели

Рецепты MQL5 - Свойства позиции на пользовательской информационной панели

На этот раз создадим простого эксперта, который во время ручной торговли будет показывать свойства позиции по текущему символу на пользовательской информационной панели, которая будет собрана из графических объектов. Данные будут обновляться на каждом тике, что уже намного удобнее, чем постоянно запускать вручную скрипт, который описывался в предыдущей статье "Рецепты MQL5 - Как получить свойства позиции?".
Параллельные вычисления в MetaTrader 5 штатными средствами
Параллельные вычисления в MetaTrader 5 штатными средствами

Параллельные вычисления в MetaTrader 5 штатными средствами

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

Самые активные участники MQL5.community награждены смартфонами iPhone!

Решив наградить наиболее выдающихся участников MQL5.com, мы выбрали ключевые критерии для определения их вклада в развитие сообщества. В результате по количеству опубликованных на сайте статей победили investeo (11 статей) и victorg (10 статей), а по количеству опубликованных в Code Base программ – Godzilla (340 программ), Integer (61 программа) и abolk (21 программа). Наградой победителям стали сенсорные смартфоны пятого поколения iPhone 4S.
Социальный трейдинг в торговых платформах MetaTrader 4 и MetaTrader 5
Социальный трейдинг в торговых платформах MetaTrader 4 и MetaTrader 5

Социальный трейдинг в торговых платформах MetaTrader 4 и MetaTrader 5

Что такое социальный трейдинг? Это совместная и взаимовыгодная работа трейдеров и инвесторов: успешные трейдеры выставляют свою торговлю на мониторинг, а потенциальные инвесторы таким образом могут следить за их успехами и копировать сделки того трейдера, который им понравился.
Графические интерфейсы X: Текстовое поле ввода, слайдер картинок и простые элементы управления (build 5)
Графические интерфейсы X: Текстовое поле ввода, слайдер картинок и простые элементы управления (build 5)

Графические интерфейсы X: Текстовое поле ввода, слайдер картинок и простые элементы управления (build 5)

В этой статье будут рассматриваться новые элементы управления: «Текстовое поле ввода», «Слайдер картинок», а также простые дополнительные элементы: «Текстовая метка» и «Картинка». Библиотека продолжает развиваться, и кроме добавления новых элементов управления, дорабатываются и ранее созданные.
Торговля в ночное время – насколько надежна?
Торговля в ночное время – насколько надежна?

Торговля в ночное время – насколько надежна?

В статье раскрываются особенности торговли в ночном флете по кроссовым парам. Поясняется, откуда может появиться прибыль и почему могут возникнуть сильные убытки. Приводится пример эксперта, разработанного для торговли в ночное время. Рассказывается об опыте работы по данной стратегии.
preview
Практическое применение нейросетей в трейдинге (Часть 2). Компьютерное зрение

Практическое применение нейросетей в трейдинге (Часть 2). Компьютерное зрение

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

Статистические оценки

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

ZigZag всему голова (Часть II): Примеры получения, обработки и отображения данных

В первой части был описан модифицированный индикатор ZigZag и класс для получения данных индикаторов такого типа. Теперь мы покажем как создать индикаторы на основе этих инструментов, а также напишем эксперта для тестов, который будет заключать сделки по сигналам, формируемым индикатором ZigZag. В качестве дополнения в этой статье будет представлена новая версия библиотеки для создания графических интерфейсов EasyAndFast.
Графические интерфейсы X: Расширенное управление списками и таблицами. Оптимизация кода (build 7)
Графические интерфейсы X: Расширенное управление списками и таблицами. Оптимизация кода (build 7)

Графические интерфейсы X: Расширенное управление списками и таблицами. Оптимизация кода (build 7)

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

Построение кода индикаторов с несколькими индикаторными буферами для начинающих

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

Пользовательские символы: основы применения на практике

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

Технические индикаторы как цифровые фильтры

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

Как самостоятельно создать и протестировать в MetaTrader 5 инструменты Московской биржи

В статье рассказывается как с помощью языка MQL5 создать свой собственный символ биржевого инструмента. В частности, используя биржевые котировки с популярного сайта "финам". Кроме того рассматривается возможность работы с произвольным форматом текстовых файлов, из которых создается пользовательский символ. Поэтому и финансовые инструменты и источники данных могут быть любыми. Создав пользовательский символ, мы можем использовать все возможности тестера стратегий MetaTrader 5 для проверки торговых алгоритмов на биржевых инструментах.
Использование WinInet в MQL5.  Часть 2:  POST-запросы и файлы
Использование WinInet в MQL5.  Часть 2:  POST-запросы и файлы

Использование WinInet в MQL5. Часть 2: POST-запросы и файлы

В данной статье мы продолжаем рассматривать принципы работы с Интернет посредством HTTP-запросов и обмен данными с сервером. Описаны новые функции класса CMqlNet, разобраны методы отправки данных из форм и передача файлов с помощью POST-запросов, а также вход на сайты под своим логином с помощью Cookie.
Методы сортировки и их визуализация с помощью MQL5
Методы сортировки и их визуализация с помощью MQL5

Методы сортировки и их визуализация с помощью MQL5

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

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

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

Эффективные алгоритмы усреднения с минимальным лагом и их использование в индикаторах

В статье изложены авторские разработки пользовательских функций для более качественного по сравнению с обычным усреднением сглаживания: JJMASeries(), JurXSeries(), JLiteSeries(), ParMASeries(), LRMASeries(), T3Series(). Данная статья посвящена применению этих функций в индикаторах. В ней автор также знакомит с созданной на основе использования этих функций большой библиотекой индикаторов.
Создаем кроссплатформенный советник-сеточник: тестируем мультивалютный советник
Создаем кроссплатформенный советник-сеточник: тестируем мультивалютный советник

Создаем кроссплатформенный советник-сеточник: тестируем мультивалютный советник

За месяц рынки упали более чем на 30%. Это ли не лучшее время для тестирования советников на основе сеток и мартингейл? Данная статья является продолжением серии статей "Создаем кроссплатформенный советник-сеточник", выход которого не планировался. Но раз сам рынок предоставляет возможность устроить советнику-сеточнику стресс-тестирование, почему бы этим не воспользоваться. Так давайте займемся этим.
Синхронизация работы экспертов, скриптов и индикаторов
Синхронизация работы экспертов, скриптов и индикаторов

Синхронизация работы экспертов, скриптов и индикаторов

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

Брутфорс-подход к поиску закономерностей

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

Рецепты MQL5 - Вывод информации на печать в разных режимах

Это первая статья из серии "Рецепты MQL5". Я начну с простых примеров, чтобы те, кто только начинает изучать программирование, могли плавно погрузиться в изучение этого языка. Я вспоминаю, как я начинал изучать разработку и программирование торговых систем, и, признаться, мне это было довольно сложно, так как это мой первый язык. Но всё оказалось не так сложно, и уже через несколько месяцев я создал довольно сложную программу.
Реализация индикаторов в виде классов на примере Zigzag и ATR
Реализация индикаторов в виде классов на примере Zigzag и ATR

Реализация индикаторов в виде классов на примере Zigzag и ATR

Споры о том, какой способ расчета индикаторов является оптимальным, идут постоянно. Где лучше вычислять значения индикатора - в самом индикаторе или встроить всю логику в код самого эксперта, который его использует? В статье рассматривается один из вариантов переноса кода пользовательского индикатора iCustom непосредственно в код эксперта или скрипта с оптимизацией расчетов и моделированием значения prev_calculated.
Расширенный анализ торгового счета
Расширенный анализ торгового счета

Расширенный анализ торгового счета

В статье подробно рассказывается об автоматической системе анализа любого торгового счета в терминале MetaTrader 4. Рассматриваются технические стороны создаваемого отчёта и интерпретация полученных результатов. После детального рассмотрения отчёта делаются выводы по улучшению факторов торговли. Для анализа применяется скрипт MQLab™ Graphic Report.
Работа с файлами. Пример визуализация важных рыночных событий
Работа с файлами. Пример визуализация важных рыночных событий

Работа с файлами. Пример визуализация важных рыночных событий

Статья рассматривает перспективу использования MQL4 для более продуктивной работы на рынке ФОРЕКС.
Конструктор стратегий на основе технических фигур Меррилла
Конструктор стратегий на основе технических фигур Меррилла

Конструктор стратегий на основе технических фигур Меррилла

В предыдущей статье была рассмотрена модель применения технических фигур Меррилла к различным данным, таким как ценовое значение на графике валютного инструмента и значениям различных индикаторов из стандартного набора терминала MetaTrader 5: ATR, WPR, CCI, RSI и других.Теперь мы попробуем созданить конструктор стратегий на основе идеи использования технических фигур Меррилла.
Рецепты MQL5 - Как получить свойства позиции?
Рецепты MQL5 - Как получить свойства позиции?

Рецепты MQL5 - Как получить свойства позиции?

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