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

icon

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

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

Новая статья
последние | лучшие
Интервью с Евгением Гнидко (ATC 2012)
Интервью с Евгением Гнидко (ATC 2012)

Интервью с Евгением Гнидко (ATC 2012)

Позиции эксперта Евгения Гнидко (FIFO) на Automated Trading Championship 2012 являются, пожалуй, самыми стабильными на текущий момент. Попав в TOP-10 на третьей неделе, он по сей день держится в тройке сильнейших.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXV): Обработка ошибок, возвращаемых торговым сервером
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXV): Обработка ошибок, возвращаемых торговым сервером

Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXV): Обработка ошибок, возвращаемых торговым сервером

После того, как мы отправили торговый приказ на сервер, не стоит считать, что "дело сделано". Теперь нам необходимо проверить коды ошибок, ну или отсутствие ошибок. В статье рассмотрим обработку ошибок, возвращаемых торговым сервером, подготовим базу для создания отложенных торговых запросов.
Интервью с Энбо Лу (ATC 2012)
Интервью с Энбо Лу (ATC 2012)

Интервью с Энбо Лу (ATC 2012)

"Непременно участвуйте в Чемпионатах, здесь вы сможете получить поистине бесценный опыт!" - таков девиз конкурсанта Энбо Лу (luenbo) из Китая. Он появился в десятке лидеров Automated Trading Championship 2012 на прошлой неделе и теперь методично пытается взобраться на пьедестал почета.
Диагностика рынка по пульсу
Диагностика рынка по пульсу

Диагностика рынка по пульсу

В статье сделана попытка визуализировать интенсивность работы отдельных рынков и их временн`ых сегментов, выявить их закономерности и характер поведения.
Анализ графиков Баланса/Средств по символам и ORDER_MAGIC советников
Анализ графиков Баланса/Средств по символам и ORDER_MAGIC советников

Анализ графиков Баланса/Средств по символам и ORDER_MAGIC советников

С введением хеджинга в MetaTrader 5 появилась отличная возможность одновременной торговли несколькими советниками на одном торговом счёте. При этом возможна ситуация, когда одна стратегия прибыльна, вторая убыточна, а в итоге график прибыли болтается около нуля. В таком случае полезно построить графики Баланса и Средств для каждой торговой стратегии по отдельности.
Интервью с Русланом Зиятдиновым (ATC 2012)
Интервью с Русланом Зиятдиновым (ATC 2012)

Интервью с Русланом Зиятдиновым (ATC 2012)

Чемпионат не перестает баловать новыми открытиями, и мы знакомимся с новыми интересными участниками и необычными идеями, которые они реализовали в своих конкурсных торговых роботах. Из беседы с Русланом Зиятдиновым (rusland1962) мы узнали о его простом подходе к торговле и почему лучше торговать помалу, но надежней.
preview
Как построить советник, работающий автоматически (Часть 01): Концепции и структуры

Как построить советник, работающий автоматически (Часть 01): Концепции и структуры

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

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

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

Интервью с Сергеем Абрамовым (ATC 2012)

Торговый робот Сергея Абрамова (26405) со второй недели Чемпионата держится в TOP-10, и тем не менее немало побеспокоил своего разработчика. Как выяснилось, в нем оказалась небольшая ошибка в блоке закрытия позиций.
Тестирование паттернов, возникающих при торговле корзинами валютных пар. Часть III
Тестирование паттернов, возникающих при торговле корзинами валютных пар. Часть III

Тестирование паттернов, возникающих при торговле корзинами валютных пар. Часть III

Мы заканчиваем тестирование паттернов, которые можно увидеть при торговле корзинами пар. В статье представлены результаты тестирования паттернов, отслеживающих движение валют пары по отношению друг к другу.
preview
Непрерывная скользящая оптимизация (Часть 4): Программа для управления оптимизацией (автооптимизатор)

Непрерывная скользящая оптимизация (Часть 4): Программа для управления оптимизацией (автооптимизатор)

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

Непрерывная скользящая оптимизация (Часть 5): Обзор проекта автооптимизатора, а также создание графического интерфейса

Продолжаем описание скользящей оптимизации в терминале MetaTrader 5. Рассмотрев в прошлых статьях методы формирования отчета оптимизации и способ его фильтрации, мы перешли к описанию внутренней структуры приложения, отвечающего за сам процесс оптимизации. Автооптимизатор, выполненный как приложение на C#, имеет собственный графический интерфейс. Именно созданию данного графического интерфейса и посвящена текущая статья.
preview
Комбинаторика и теория вероятностей для трейдинга (Часть V): Анализ кривых

Комбинаторика и теория вероятностей для трейдинга (Часть V): Анализ кривых

В данной статье я решил провести исследование на тему сведения множественных состояний к двойным. Основная цель — это анализ и полезные выводы, которые могут помочь в дальнейшей разработке масштабируемых торговых алгоритмов на базе теории вероятностей. Конечно, не обошлось и без математики, но учитывая опыт предыдущих статей, вижу, что более общая информация гораздо полезнее деталей.
Интервью с Рожериу Фигурелли (ATC 2012)
Интервью с Рожериу Фигурелли (ATC 2012)

Интервью с Рожериу Фигурелли (ATC 2012)

Сегодня мы поговорим о постоянном участнике из Бразилии Рожериу Фигурелли (figurelli), который с 2007 года не пропустил ни один Чемпионат. В этом году он также выставил своего конкурсного советника на продажу в Маркете наряду с другими своими продуктами. Рожериу считает, что сертификация платформы MetaTrader 5 на крупнейшей бразильской бирже BM&FBOVESPA приведет к появлению новых профессиональных разработчиков и трейдеров, которые пока не знают весь потенциал роботов-инвесторов.
Как писать быстрые неперерисовывающиеся зигзаги
Как писать быстрые неперерисовывающиеся зигзаги

Как писать быстрые неперерисовывающиеся зигзаги

Предлагается достаточно универсальный подход к написанию индикаторов типа "зигзаг". Метод охватывает значительную часть уже существующих "зигзагов" и позволяет относительно просто создавать новые.
preview
Рецепты MQL5 – Экономический календарь

Рецепты MQL5 – Экономический календарь

В статье освещаются программные возможности по работе с Экономическим календарём. Для этих целей создаётся класс для упрощенного доступа к свойствам календаря и получения значений событий. В качестве практического примера предлагается запрограммировать индикатор, использующий данные по чистому объёму спекулятивных позиций от CFTC.
Визуализация истории мультивалютной торговли по отчетам в форматах HTML и CSV
Визуализация истории мультивалютной торговли по отчетам в форматах HTML и CSV

Визуализация истории мультивалютной торговли по отчетам в форматах HTML и CSV

Как известно, MetaTrader 5 с момента своего появления предоставляет возможность мультивалютного тестирования. Эта функция востребована у большинства трейдеров, но, к сожалению, не столь универсальна, как того хотелось бы. В статье представлено несколько программ для разметки графиков с помощью графических объектов на основе торговой истории из отчетов форматов HTML и CSV. Торговля несколькими инструментами может анализироваться параллельно в нескольких подокнах, или в одном окне с помощью динамического переключения по команде пользователя.
Паттерны, доступные при торговле корзинами валют. Часть II
Паттерны, доступные при торговле корзинами валют. Часть II

Паттерны, доступные при торговле корзинами валют. Часть II

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

Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXVIII): Отложенные торговые запросы - закрытие, удаление, модификации

Это третья статья о концепции отложенных запросов. В ней мы завершим тестирование работы с отложенными торговыми запросами - создадим методы для закрытия позиций, удаления отложенных ордеров и модификацию параметров позиций и отложенных ордеров.
Графические интерфейсы IV: Многооконный режим и система приоритетов (Глава 2)
Графические интерфейсы IV: Многооконный режим и система приоритетов (Глава 2)

Графические интерфейсы IV: Многооконный режим и система приоритетов (Глава 2)

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

Кроссплатформенный торговый советник: повторное использование компонентов из Стандартной библиотеки MQL5

В Стандартной библиотеке MQL5 есть некоторые компоненты, которые могут оказаться полезными в версиях кроссплатформенных торговых экспертов для MQL4. В этой статье рассматривается метод создания некоторых компонентов Стандартной библиотеки MQL5, совместимых с компилятором MQL4.
preview
Работаем со временем (Часть 1): Основные принципы

Работаем со временем (Часть 1): Основные принципы

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

Веб-скрапинг данных о доходности облигаций

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

Новые возможности с MetaTrader 5

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

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

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

Отображение новостного календаря

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

Используйте EX5-библиотеки для продвижения своих разработок

С помощью сокрытия реализации функций/классов в ex5-файл вы сможете делиться своими ноу-хау алгоритмами с другими программистами, создавать общие проекты и продвигать их в сети. И пока команда MetaQuotes всеми силами приближает возможность прямого наследования классов из ex5‑библиотек, мы реализуем данную возможность уже сейчас.
Графические интерфейсы X: Обновления для библиотеки Easy And Fast (build 3)
Графические интерфейсы X: Обновления для библиотеки Easy And Fast (build 3)

Графические интерфейсы X: Обновления для библиотеки Easy And Fast (build 3)

В этой статье представлена следующая версия библиотеки Easy And Fast (версия 3). Исправлены некоторые недоработки и добавлены новые возможности. Подробнее читайте далее в статье.
Интервью с Ахмадом Хидаятом (ATC 2012)
Интервью с Ахмадом Хидаятом (ATC 2012)

Интервью с Ахмадом Хидаятом (ATC 2012)

На всем протяжении Automated Trading Championship 2012 мы будем вести прямые трансляции с места событий - горячие репортажи и отчеты каждую неделю. Героем сегодняшнего репортажа стал участник из Индонезии по имени Ахмад Хидаят (achidayat). В первый день его советник закрепился в третьей десятке. Вполне неплохое начало. Ахмад заинтересовал нас своим активным участием в жизни MQL5 Market. На сегодняшний день он опубликовал уже более 20 продуктов.
Взаимодействие между MetaTrader 4 и Matlab посредством DDE
Взаимодействие между MetaTrader 4 и Matlab посредством DDE

Взаимодействие между MetaTrader 4 и Matlab посредством DDE

Пошаговые инструкции по организации передачи данных от Matlab к MetaTrader 4 посредством DDE.
Интервью с Андреем Бобряшовым (ATC 2011)
Интервью с Андреем Бобряшовым (ATC 2011)

Интервью с Андреем Бобряшовым (ATC 2011)

За 5 лет проведения Чемпионата по автоматической торговле в TOP-10 мы видели торговые роботы, построенные на самых разнообразных подходах. Успешные результаты показывали советники как на основе классических индикаторов, так и сложные аналитические комплексы с автоматической еженедельной оптимизацией собственных параметров.
Метаязык графических линий-приказов. Торговля и квалифицированное  обучение  трейдингу
Метаязык графических линий-приказов. Торговля и квалифицированное  обучение  трейдингу

Метаязык графических линий-приказов. Торговля и квалифицированное обучение трейдингу

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

Как реализовать свой критерий оптимизации

Для стандртного эксперта Moving Average реализован пример оптимизации по критерию прибыль/просадка с выводом результатов в файл
Комбинаторика и теория вероятностей для трейдинга (Часть IV): Логика Бернулли
Комбинаторика и теория вероятностей для трейдинга (Часть IV): Логика Бернулли

Комбинаторика и теория вероятностей для трейдинга (Часть IV): Логика Бернулли

В данной статье я решил осветить всем известную схему Бернулли и показать как можно ее использовать в рамках описания массивов данных связанных с торговлей, для дальнейшего использования на пути создания самостоятельно адаптирующейся торговой системы. Также будем искать более общий алгоритм, частным случаем которой является формула Бернулли и найдем ему применение.
Графические интерфейсы VI: Элементы "Чекбокс", "Поле ввода" и их смешанные типы (Глава 1)
Графические интерфейсы VI: Элементы "Чекбокс", "Поле ввода" и их смешанные типы (Глава 1)

Графические интерфейсы VI: Элементы "Чекбокс", "Поле ввода" и их смешанные типы (Глава 1)

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

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

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

Как и зачем разрабатывать собственную систему для алгоритмической торговли

В этой статье мы рассмотрим основы языка программирования MQL. Цель статьи — помочь начинающим программистам разработать собственную систему алгоритмической торговли (торгового советника).
preview
Брутфорс-подход к поиску закономерностей (Часть II): Погружение

Брутфорс-подход к поиску закономерностей (Часть II): Погружение

В данной статье я продолжу тему брутфорс-подхода. Постараюсь более качественно осветить закономерности с помощью новой улучшенной версии своей программы и постараюсь найти разницу в стабильности используя разные временные отрезки и разные таймфреймы котировок.
Интервью с Эгидиюсом Бочкусом (ATC 2012)
Интервью с Эгидиюсом Бочкусом (ATC 2012)

Интервью с Эгидиюсом Бочкусом (ATC 2012)

"Пришлось проанализировать работу многих индикаторов, чтобы понять, что вообще-то они для зарабатывания на Forex не нужны" - смело заявил нам герой сегодняшнего интервью Эгидиюс Бочкус (Egidijus). И у нас есть повод задуматься о смысле этих слов, ведь на третьей неделе Automated Trading Championship 2012 его советник укрепился на третьем месте с результатом более $32 000 по балансу.
Мультивалютный мониторинг торговых сигналов (Часть 1): Разработка структуры приложения
Мультивалютный мониторинг торговых сигналов (Часть 1): Разработка структуры приложения

Мультивалютный мониторинг торговых сигналов (Часть 1): Разработка структуры приложения

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