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

icon

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

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

Новая статья
последние | лучшие
Повышаем качество кода при помощи Unit Test
Повышаем качество кода при помощи Unit Test

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

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

Фрактальный анализ совместного движения валют

Насколько независимы валютные котировки? Движутся ли они согласованно или информация о направлении движения одной валюты ничего не скажет о движении другой? В этой статье предпринята попытка разобраться в этом вопросе, используя методы нелинейной динамики и фрактальной геометрии.
Конкурс советников внутри советника
Конкурс советников внутри советника

Конкурс советников внутри советника

С помощью виртуальной торговли можно создать адаптивный советник, который будет выполнять включение/отключение сделок на реальном рынке. Соберите несколько стратегий в одном эксперте! Ваш мультисистемный советник будет автоматически выбирать торговую стратегию, которой стоит торговать на реальном рынке по результатам успешности виртуальных сделок. Такой метод позволяет снизить просадку и увеличить прибыльность Вашей работы на рынке. Экспериментируйте и делитесь результатами с другими! Думаю, будет интересно многим узнать о вашем портфеле стратегий.
Конструктор трейдера: Drag Trade Library
Конструктор трейдера: Drag Trade Library

Конструктор трейдера: Drag Trade Library

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

Магия фильтрации

Большинство разработчиков механических торговых систем (МТС), так или иначе, использует фильтрацию торговых сигналов. В статье рассмотрены создание и применение полосовых и дискретных фильтров в советниках для улучшения характеристик МТС.
Исследование статистики повторяемости направления свечей
Исследование статистики повторяемости направления свечей

Исследование статистики повторяемости направления свечей

Цель статьи - попытаться предсказать поведение рынка на основе статистики повторяемости направления свечей в определенные промежутки времени.
Техника оптимизации (тестирования) и некоторые критерии выбора рабочих параметров эксперта
Техника оптимизации (тестирования) и некоторые критерии выбора рабочих параметров эксперта

Техника оптимизации (тестирования) и некоторые критерии выбора рабочих параметров эксперта

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

Проверка некоторых мифов: "Как торгуется азиатская сессия, так весь день и пойдет торговля"

Предлагается проверить некоторые распространенные утверждения - в данном случае проверяется утверждение о том, что "как торгуется азиатская сессия, так и идут торги весь день".
Использование библиотеки FANN2MQL в MetaTrader
Использование библиотеки FANN2MQL в MetaTrader

Использование библиотеки FANN2MQL в MetaTrader

Цель статьи - показать, как использовать библиотеку FANN2MQL для программирования нейронных сетей в MetaTrader на простом примере: обучение и распознавание простейших паттернов.
Используем нейронные сети в MetaTrader
Используем нейронные сети в MetaTrader

Используем нейронные сети в MetaTrader

В статье показано как применять нейронные сети в программах на MQL, используя свободно распространяемую библиотеку FANN.На примере стратегии с использованием индикатора MACD построен эксперт, использующий нейросетевую фильтрацию сделок, которая привела к улучшению характеристик торговой системы.
Alert и Comment для внешних индикаторов. Мультивалютный анализ посредством внешнего сканирования
Alert и Comment для внешних индикаторов. Мультивалютный анализ посредством внешнего сканирования

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

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

Библиотека матричной алгебры LibMatrix (часть первая)

Автор знакомит читателей с простой библиотекой матричной алгебры. Рассматриваются основные функции и их особенности.
Особенности работы с числами типа double в MQL4
Особенности работы с числами типа double в MQL4

Особенности работы с числами типа double в MQL4

В данной заметке собраны советы по решению наиболее часто возникающих ошибок при работе с числами типа double в программах на MQL4.
Проект Meta COT - новые горизонты анализа отчетов CFTC в терминале MetaTrader 4
Проект Meta COT - новые горизонты анализа отчетов CFTC в терминале MetaTrader 4

Проект Meta COT - новые горизонты анализа отчетов CFTC в терминале MetaTrader 4

Статья посвящена вопросам использования при торговле в MetaTrader индикатора открытого интереса (Open Interest), публикуемого CFTC. В ней подробно описан предлагаемый проект, показано как загружать необходимую информацию. С помощью торгового робота, входящего в проект, исследуется эффективность концепции изложенной в статье, делаются итоговые выводы, высказываются конструктивные предложения.
Защищайтесь, господа разработчики!
Защищайтесь, господа разработчики!

Защищайтесь, господа разработчики!

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

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

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

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

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

Советник для торговли в канале

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

СМС-извещения о состоянии Советника

Организация системы СМС-извещений о статусе торгового Советника, чтобы удаленно всегда знать о критических ситуациях
Файл Lite_EXPERT2.mqh - практические примеры реализации экспертов
Файл Lite_EXPERT2.mqh - практические примеры реализации экспертов

Файл Lite_EXPERT2.mqh - практические примеры реализации экспертов

В этой статье автор продолжает знакомство с функциями файла Lite_EXPERT2.mqh на конкретных примерах построения экспертов. Рассматривается идея использования динамически изменяющихся от сделки к сделке и плавающих отложенных ордеров, определяемых на основе значений индикатора Average True Range (ATR).
Расширенный анализ торгового счета
Расширенный анализ торгового счета

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

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

Alert и Comment для внешних индикаторов (часть вторая)

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

Тестирование и оптимизация советников

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

Визуальная оптимизация прибыльности индикаторов и сигналов

Эта работа – продолжение и развитие моей предыдущей статьи "Визуальное тестирование прибыльности индикаторов и сигналов". Добавив немного интерактивности в процесс изменения параметров и изменив цели исследования, удалось получить новый инструмент, который не просто показывает, какие будут результаты торговли по используемым сигналам, но и позволит, передвигая виртуальные ползунки-регуляторы значений параметров сигналов на основном графике, сразу же получить и раскладку по сделкам, и график изменения баланса, и конечный результат торговли.
Файл Lite_EXPERT2.mqh - функциональный конструктор экспертописателя
Файл Lite_EXPERT2.mqh - функциональный конструктор экспертописателя

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

Эта статья является продолжением цикла статей "Эксперты на основе популярных торговых систем и алхимия оптимизации торгового робота". В ней автор знакомит читателей с более универсальной библиотекой функций файла Lite_EXPERT2.mqh
Графическое управление внешними параметрами индикаторов
Графическое управление внешними параметрами индикаторов

Графическое управление внешними параметрами индикаторов

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

Тестирование экспертов на нестандартных таймфреймах

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

К вопросу об управлении капиталом

В статье рассмотрены некоторые аспекты, возникающие при использовании различных систем управления капиталом, применительно к ФОРЕКС. Приведены данные экспериментов с моделью процесса торговли, в которой при совершении торговых сделок используются разные методы управления капиталом (Money Management - ММ).
Принцип суперпозиции и интерференции финансовых инструментов
Принцип суперпозиции и интерференции финансовых инструментов

Принцип суперпозиции и интерференции финансовых инструментов

Чем больше факторов влияют на поведение валютной пары, тем сложнее оценить ее поведение и сделать прогнозы на будущее. И, следовательно, если бы нам удалось из валютной пары выделить ее составляющие, меняющиеся во времени значения национальной валюты, то тем самым, мы существенно сократили степень свободы движения национальной валюты по сравнению с валютной парой, в которую она входит, и количество факторов влияющих на ее поведение. А как результат, повысили точность оценки ее поведения и прогнозирования будущих значений. Как же нам это сделать?
Alert и Comment для внешних индикаторов
Alert и Comment для внешних индикаторов

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

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

Конструктор трейдера: Украшение индикаторов

Основные задачи при раскрашивании индикаторов, их решение и автоматизация.
Взаимодействие между MеtaTrader 4  и MATLAB Engine (виртуальная машина MATLAB)
Взаимодействие между MеtaTrader 4  и MATLAB Engine (виртуальная машина MATLAB)

Взаимодействие между MеtaTrader 4 и MATLAB Engine (виртуальная машина MATLAB)

В данной статье рассматривается вопрос создания DLL библиотеки - обертки, которая позволит взаимодействовать MetaTrader 4 с математическим рабочим столом пакета MATLAB. Описаны "подводные камни" и пути их преодоления. Статья рассчитана на подготовленных программистов С/С++, использующих компилятор Borland C++ Builder 6.
MetaTrader для работы на фондовом рынке - легко!
MetaTrader для работы на фондовом рынке - легко!

MetaTrader для работы на фондовом рынке - легко!

В данной статье поднимается проблема автоторговли на фондовом рынке. Приводится пример интеграции MetaTrader и QUIK. Описаны преимущества MT для решения данной задачи, приводится пример торгового робота, способного выполнять операции на ММВБ.
Эффективные алгоритмы усреднения с минимальным лагом и их использование в индикаторах и экспертах
Эффективные алгоритмы усреднения с минимальным лагом и их использование в индикаторах и экспертах

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

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

Каналы. Продвинутые модели. Волны Вульфа

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

Рецепты нейросетей

Статья для начинающих кулинаров в приготовлении "слоёных" пирогов
Программная папка клиентского терминала MetaTrader 4
Программная папка клиентского терминала MetaTrader 4

Программная папка клиентского терминала MetaTrader 4

В статье сделано описание содержимого программной папки клиентского терминала MetaTrader 4. Статья будет полезной прежде всего тем, кто уже немного разобрался с работой клиентского терминала.
Спать или не спать?
Спать или не спать?

Спать или не спать?

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

Визуальное тестирование прибыльности индикаторов и сигналов

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

Лень - двигатель прогресса. Полуавтоматическая разметка шаблона

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