![Почти конструктор для создания советника](https://c.mql5.com/2/49/An-attempt-at-developing-an-EA-constructor_600x314.jpg)
Почти конструктор для создания советника
Предлагаю свой набор торговых функций в виде готового советника. Представленный способ позволяет получать множество торговых стратегий простым добавлением индикаторов и изменением входных параметров.
![Оффлайновые графики и новый MQL4](https://c.mql5.com/2/13/1137_68.png)
![Оффлайновые графики и новый MQL4](https://c.mql5.com/i/articles/overlay.png)
Оффлайновые графики и новый MQL4
В новом MQL4 изменился формат хранения исторических данных и появилась соответствующая структура MqlRates для удобного хранения значений Time, Open, Low, High, Close и Volume. За многие годы трейдеры написали на MQL4 свои программы, которые собирают и записывают собственные данные в HST-файлы для создания оффлайновых графиков. Каждый трейдер может быть уверен - все ранее скомпилированные EX4-файлы будут работать в новом терминале MetaTrader 4 так же, как и раньше.
![Нечеткая логика в торговых стратегиях](https://c.mql5.com/2/29/Avatar.png)
![Нечеткая логика в торговых стратегиях](https://c.mql5.com/i/articles/overlay.png)
Нечеткая логика в торговых стратегиях
В статье рассматривается пример использования нечеткой логики для построения простой торговой системы, с использованием библиотеки Fuzzy. Предложены варианты улучшения системы путем сочетания нечеткой логики, генетических алгоритмов и нейронных сетей.
![Торговля по уровням ДиНаполи](https://c.mql5.com/2/30/MQL5-avatar-DiNapoli-001.png)
![Торговля по уровням ДиНаполи](https://c.mql5.com/i/articles/overlay.png)
Торговля по уровням ДиНаполи
В статье рассматривается один из вариантов практической реализации советника для торговли по уровням ДиНаполи при помощи стандартных инструментов MQL5. Протестированы результаты его работы и сделаны выводы.
![Графические интерфейсы I: "Оживление" графического интерфейса (Глава 3)](https://c.mql5.com/2/21/Graphic-interface__2.png)
![Графические интерфейсы I: "Оживление" графического интерфейса (Глава 3)](https://c.mql5.com/i/articles/overlay.png)
Графические интерфейсы I: "Оживление" графического интерфейса (Глава 3)
В предыдущей статье серии был начат процесс разработки класса формы для элементов управления. В этой статье продолжим развивать класс, наполняя его методами для перемещения формы в области графика, а также интегрируем этот элемент интерфейса в ядро библиотеки. Кроме этого, настроим всё таким образом, чтобы при наведении курсора на элементы формы изменялся их цвет.
![Индикатор для построения графика "Каги"](https://c.mql5.com/2/0/LOGO.png)
![Индикатор для построения графика "Каги"](https://c.mql5.com/i/articles/overlay.png)
Индикатор для построения графика "Каги"
В статье предложен вариант индикатора графика "Каги" с различными способами построения и дополнительными функциями, рассмотрен принцип построения индикатора и особенности его реализации на MQL5. Представлены наиболее популярные примеры его практического использования в торговле - стратегии торговли по смене Yin/Yang, отталкивание от линии тренда, торговля по каналам и последовательно возрастающие "плечи"/убывающие "талии".
![Написание биржевых индикаторов с контролем объема на примере индикатора дельты](https://c.mql5.com/2/33/StockVolumeIndicators.png)
![Написание биржевых индикаторов с контролем объема на примере индикатора дельты](https://c.mql5.com/i/articles/overlay.png)
Написание биржевых индикаторов с контролем объема на примере индикатора дельты
В статье рассмотрен алгоритм построения биржевых индикаторов на реальных объемах с использованием функций CopyTicks() и CopyTicksRange(). Также приведены особенности построения таких индикаторов и описаны нюансы их работы в реальном времени и в тестере стратегий.
![Новый индикатор технического анализа Moving Mini-Max и его реализация в MQL5](https://c.mql5.com/2/0/MQL5_Mini-Max_Indicator.png)
![Новый индикатор технического анализа Moving Mini-Max и его реализация в MQL5](https://c.mql5.com/i/articles/overlay.png)
Новый индикатор технического анализа Moving Mini-Max и его реализация в MQL5
В статье рассматривается новый индикатор технического анализа Moving Mini-Max, разработанный З.К. Силагадзе в 2008 году. Индикатор основан на модели туннельного эффекта, предложенного Г. Гамовым в теории альфа-распада. Описывается реализация индикатора на MQL5 и возможности его использования в торговле.
![Советник для торговли в канале](https://c.mql5.com/2/17/834_22.gif)
![Советник для торговли в канале](https://c.mql5.com/i/articles/overlay.png)
Советник для торговли в канале
Советник прорисовывает линии канала. Верхняя и нижняя линии канала выступают в роли уровней сопротивления и поддержки. Советник ставит значки над реперными точками, оповещает звуком о моменте, когда цена достигает или пересекает линии канала, и наносит соответствующие значки. На последних барах при образовании фракталов появляются соответствующие стрелки. Прорывы линий могут обозначать вероятность нарастания тренда. Советник сопровождается подробными комментариями.
![Автоматическое создание документации к программам на MQL5](https://c.mql5.com/2/0/ava.png)
![Автоматическое создание документации к программам на MQL5](https://c.mql5.com/i/articles/overlay.png)
Автоматическое создание документации к программам на MQL5
Большинство Java программистов знакомы с автоматическим созданием документации, которая может быть создана при помощи программы JavaDocs. В мире C++ также есть несколько автоматических генераторов документации, одними из лидеров являются программы Microsoft's SandCastle и Doxygen. В статье описано, как можно использовать программу Doxygen для создания структурированных файлов справки HTML для программ, написанных на MQL5. Результаты данной работы убедили меня использовать Doxygen (или похожие программы) в будущем для создания документации к любому моему коду на MQL5, это значительно облегчает его понимание и использование.
![МetaTrader 5. Экспорт котировок в .NET приложение, используя WCF сервисы](https://c.mql5.com/2/0/mql_net__1.png)
![МetaTrader 5. Экспорт котировок в .NET приложение, используя WCF сервисы](https://c.mql5.com/i/articles/overlay.png)
МetaTrader 5. Экспорт котировок в .NET приложение, используя WCF сервисы
Вам необходимо организовать трансляцию котировок из MetaTrader 5 в собственное приложение? Связка MQL5-DLL позволяет создавать подобные решения. В статье продемонстрирован один из способов трансляции котировок из MetaTrader 5 в приложения, написанные на .NET. Мне было рациональнее, интереснее и проще реализовать экспорт котировок именно с использованием этой платформы. К сожалению, с выходом "пятерки" поддержки .Net также не появилось, поэтому по старинке будем использовать как прослойку win32 dll с поддержкой .NET.
![Многослойный перцептрон и алгоритм обратного распространения ошибки](https://c.mql5.com/2/49/Multilayer-perceptron-and-backpropagation-algorithm_001_600x314.jpg)
Многослойный перцептрон и алгоритм обратного распространения ошибки
В последнее время, с ростом популярности этих двух методов появилось много библиотек на Matlab, R, Python, C ++ и т.д., которые получают на вход обучающий набор и автоматически создают соответствующую нейронную сеть для вашей задачи. Мы постараемся понять, как работает базовый тип нейронной сети — перцептрон с одним нейроном и многослойный перцептрон — замечательный алгоритм, который отвечает за обучение сети (градиентный спуск и обратное распространение). Эти сетевые модели будут основой для более сложных моделей, существующих на сегодняшний день.
![Универсальный тренд с графическим интерфейсом](https://c.mql5.com/2/26/MQL5_Universalni_trend.png)
![Универсальный тренд с графическим интерфейсом](https://c.mql5.com/i/articles/overlay.png)
Универсальный тренд с графическим интерфейсом
В статье на основе ряда стандартных индикаторов создается универсальный трендовый индикатор. Разрабатывается графический интерфейс для выбора типа индикатора и настройки его параметров. Индикатор отображается в отдельном окне с рядами разноцветных значков.
![Рецепты MQL5 - Записываем историю сделок в файл и строим графики балансов для каждого символа в Excel](https://c.mql5.com/2/0/avatar11.png)
![Рецепты MQL5 - Записываем историю сделок в файл и строим графики балансов для каждого символа в Excel](https://c.mql5.com/i/articles/overlay.png)
Рецепты MQL5 - Записываем историю сделок в файл и строим графики балансов для каждого символа в Excel
Общаясь на многих форумах, я довольно часто приводил в пример результаты тестов на скриншотах с графиков в Microsoft Excel. И многие просили меня объяснить, как же строить эти замечательные графики. Наконец у меня появилось немного времени, чтобы написать статью об этом.
![Elder-Ray Биржевой рентген (Bulls Power и Bears Power)](https://c.mql5.com/2/33/Elder-Ray-las1su67-2niearv.png)
![Elder-Ray Биржевой рентген (Bulls Power и Bears Power)](https://c.mql5.com/i/articles/overlay.png)
Elder-Ray Биржевой рентген (Bulls Power и Bears Power)
Торговая система "Биржевой рентген" на основе индикаторов Bulls Power, Bears Power и Moving Average (EMA — экспоненциальное усреднение). Эту систему описал Александр Элдер в своей книге "Как играть и выигрывать на бирже" (Trading for a living).
![Создай свои графические панели на MQL5](https://c.mql5.com/2/0/graph_pannels_MQL5.png)
![Создай свои графические панели на MQL5](https://c.mql5.com/i/articles/overlay.png)
Создай свои графические панели на MQL5
Удобство пользования MQL5-программой определяется не только её богатой функциональностью, но и продуманным графическим интерфейсом. Визуальное восприятие иногда гораздо важнее, чем быстрая и стабильная работа. Перед вами пошаговое руководство по самостоятельному созданию индикаторных панелей на основе классов Стандартной библиотеки.
![Библиотека для построения диаграмм средствами Google Chart API](https://c.mql5.com/2/0/Google_Chart_API_MQL5__1.png)
![Библиотека для построения диаграмм средствами Google Chart API](https://c.mql5.com/i/articles/overlay.png)
Библиотека для построения диаграмм средствами Google Chart API
Построение разного рода диаграмм является неотъемлемой частью анализа рыночной ситуации и тестирования торговой системы. Зачастую, чтобы построить красивую наглядную диаграмму приходится организовать вывод данных в файл, после чего использовать его в приложениях типа MS Excel, что не слишком удобно и лишает нас возможности динамического обновления данных. Google Charts API предоставляет средства для создания диаграмм в он-лайн режиме путём отправки специального запроса на сервер. В статье делается попытка автоматизировать процесс создания запроса и получения диаграммы с сервера Google.
![Рецепты MQL5 - История сделок и библиотека функций для получения свойств позиции](https://c.mql5.com/2/0/avatar-history.png)
![Рецепты MQL5 - История сделок и библиотека функций для получения свойств позиции](https://c.mql5.com/i/articles/overlay.png)
Рецепты MQL5 - История сделок и библиотека функций для получения свойств позиции
Пришло время подвести краткий итог по материалам предыдущих статей о свойствах позиции. В этой статье мы создадим несколько дополнительных функций для получения тех свойств, которые можно получить только после обращения к истории сделок. Мы также познакомимся со структурами данных, что сделает доступ к свойствам позиции и символа еще удобнее.
![Создание мультивалютного мультисистемного советника](https://c.mql5.com/2/0/MultiCurrency_Expert_Advisor_MQL5.png)
![Создание мультивалютного мультисистемного советника](https://c.mql5.com/i/articles/overlay.png)
Создание мультивалютного мультисистемного советника
В статье представлена схема создания советника, торгующего сразу по нескольким торговым системам на нескольких символах. Если для всех своих советников вы уже подобрали наилучшие входные параметры и тестирование на истории показало хорошие результаты отдельно по каждому из них, то задайтесь вопросом - а как бы выглядел суммарный результат одновременного тестирования всех советников, имея все стратегии в одном "флаконе".
![Рецепты MQL5 - Реализуем ассоциативный массив или словарь для быстрого доступа к данным](https://c.mql5.com/2/18/MQL5_Associative_Arrays__1.png)
![Рецепты MQL5 - Реализуем ассоциативный массив или словарь для быстрого доступа к данным](https://c.mql5.com/i/articles/overlay.png)
Рецепты MQL5 - Реализуем ассоциативный массив или словарь для быстрого доступа к данным
В данной статье описывается специальный алгоритм, позволяющий эффективно получать доступ к элементам по их уникальному ключу. В качестве ключа может быть использован любой базовый тип данных, например ключом могут быть строки или целочисленные переменные. Такой контейнер данных принято называть словарем или ассоциативным массивом. С его помощью решать многие задачи становиться гораздо проще и эффективней.
![Методы измерения скорости движения цены](https://c.mql5.com/2/36/Article_Logo__1.png)
![Методы измерения скорости движения цены](https://c.mql5.com/i/articles/overlay.png)
Методы измерения скорости движения цены
Существует множество различных подходов к исследованию и анализу рынков. Но основных обычно два: технический и фундаментальный. В первом случае происходит сбор, обработка и изучение каких-либо числовых данных и характеристик, связанных с рынком: цены, объемы и так далее. Во втором делается анализ событий и новостей, которые, в свою очередь, влияют прямо или косвенно на рынки. В статье рассматриваются методы измерения скорости движения цены и исследование торговых стратегий на их основе.
![Руководство по написанию DLL для MQL5 на Delphi](https://c.mql5.com/2/0/delphi_DLL_MQL5__1.png)
![Руководство по написанию DLL для MQL5 на Delphi](https://c.mql5.com/i/articles/overlay.png)
Руководство по написанию DLL для MQL5 на Delphi
Статья рассматривает механизм написания модудя DLL на популярном языке программирования ObjectPascal в среде разработки Delphi. Изложенный в статье материал ориентирован в первую очередь на начинающих программистов, решающих задачи, выходящие за рамки встроенного языка программирования MQL5, путем подключения внешних DLL модулей.
![Использование ресурсов в MQL5](https://c.mql5.com/2/72/resources_600x314.jpg)
Использование ресурсов в MQL5
Программы на MQL5 позволяют не только автоматизировать рутинные вычисления, но и создавать полноценную графическую оболочку. Возможности по созданию по-настоящему интерактивных элементов управления стали практически такими же широкими, как и в классических языках программирования. Если вы хотите писать полноценные самостоятельные программы на MQL5, используйте в них ресурсы. Такие программы легче поддерживать и распространять.
![Как подготовить котировки MetaTrader 5 для других программ](https://c.mql5.com/2/0/ava__1.png)
![Как подготовить котировки MetaTrader 5 для других программ](https://c.mql5.com/i/articles/overlay.png)
Как подготовить котировки MetaTrader 5 для других программ
В статье приводятся примеры создания каталогов, копирования данных и записи в файл, работы с инструментами из окна Обзор рынка или общего списка, примеры обработки ошибок и многое другое. В итоге всё будет собрано в один скрипт, с помощью которого можно записать в файлы данные в формате, указанном пользователем.
![Рецепты MQL5 - Использование индикаторов для формирования условий торговли в эксперте](https://c.mql5.com/2/0/Avatar__1.png)
![Рецепты MQL5 - Использование индикаторов для формирования условий торговли в эксперте](https://c.mql5.com/i/articles/overlay.png)
Рецепты MQL5 - Использование индикаторов для формирования условий торговли в эксперте
В этой статье мы продолжим модифицировать эксперта, над которым до этого работали на протяжении всех последних статей по программированию на MQL5. На этот раз подключим к эксперту индикаторы, по значениям которых будут проверяться условия на открытие позиции. Чтобы было интересней, сделаем во внешних параметрах выпадающий список, в котором можно будет выбрать один из трех индикаторов для торговли.
![Универсальный торговый эксперт: Событийная модель и прототип торговой стратегии (Часть 2)](https://c.mql5.com/2/21/smyf67hqftm_kaz2.png)
![Универсальный торговый эксперт: Событийная модель и прототип торговой стратегии (Часть 2)](https://c.mql5.com/i/articles/overlay.png)
Универсальный торговый эксперт: Событийная модель и прототип торговой стратегии (Часть 2)
Данная статья продолжает серию заметок, посвященных универсальной модели эксперта. В этой части описывается оригинальная событийная модель на основе централизованной обработки данных, а также рассматривается структура базового класса движка — CStrategy.
![Разворотные паттерны: Тестируем паттерн "Голова-Плечи"](https://c.mql5.com/2/34/5358_avatar.png)
![Разворотные паттерны: Тестируем паттерн "Голова-Плечи"](https://c.mql5.com/i/articles/overlay.png)
Разворотные паттерны: Тестируем паттерн "Голова-Плечи"
Данная статья является логическим продолжением предыдущей публикации "Разворотные паттерны: Тестируем паттерн "Двойная вершина/дно". Теперь мы рассмотрим еще один широко известный разворотный паттерн "Голова-Плечи", сравним результативность торговли двух паттернов и сделаем попытку объединить торговлю по двум паттернам в единую торговую систему.
![Индикатор для построения графика "трехлинейного прорыва"](https://c.mql5.com/2/10/logo.png)
![Индикатор для построения графика "трехлинейного прорыва"](https://c.mql5.com/i/articles/overlay.png)
Индикатор для построения графика "трехлинейного прорыва"
Статья посвящена графику "трёхлинейного прорыва" (Three Line Break), предложенного Стивом Нисоном в книге «За гранью японских свечей». Преимущество данного графика состоит в том, что с его помощью можно фильтровать незначительные колебания цен относительно предыдущего движения. Рассмотрен принцип построения графика, код индикатора, а также примеры торговых стратегий на его основе.
![ZigZag всему голова (Часть I): Разработка базового класса индикатора](https://c.mql5.com/2/35/MQL5-avatar-zigzag_head.png)
![ZigZag всему голова (Часть I): Разработка базового класса индикатора](https://c.mql5.com/i/articles/overlay.png)
ZigZag всему голова (Часть I): Разработка базового класса индикатора
Многие исследователи не уделяют должного внимания определению характера поведения цены. При этом используются сложные методы, которые очень часто являются просто «чёрными ящиками», такие как: машинное обучение или нейронные сети. В таких случаях самым важным является такой — «Какие данные подать на вход для обучения той или иной модели?»
![Набор инструментов для ручной разметки графиков и торговли (Часть I). Подготовка - описание структуры и класс вспомогательных функций](https://c.mql5.com/2/39/MQL5-set_of_tools.png)
![Набор инструментов для ручной разметки графиков и торговли (Часть I). Подготовка - описание структуры и класс вспомогательных функций](https://c.mql5.com/i/articles/overlay.png)
Набор инструментов для ручной разметки графиков и торговли (Часть I). Подготовка - описание структуры и класс вспомогательных функций
Данной статье я начинаю описывать набор для графической разметки с помощью сочетаний клавиш. Очень удобно: нажал клавишу — появилась линия тренда, нажал другую — появился веер Фибоначчи с нужными параметрами. А также — возможность переключать таймфреймы, менять порядок "слоев" объектов или удалять все объекты с графика.
![Основы программирования на MQL5 - Списки](https://c.mql5.com/2/0/Linked_List_MQL5.png)
![Основы программирования на MQL5 - Списки](https://c.mql5.com/i/articles/overlay.png)
Основы программирования на MQL5 - Списки
Новая версия языка программирования торговых стратегий - MQL [MQL5] - имеет более эффективный и мощный инструментарий по сравнению с предыдущей [MQL4]. И это преимущество прежде всего относится к средствам объектно-ориентированного программирования. В данной статье рассматривается возможность использования такого пользовательского типа данных, относящегося к сложному, как узлы и списки. Приводится пример использования списков при программировании практических задач в MQL5.
![Строим индикатор ZigZag по осцилляторам. Пример выполнения технического задания](https://c.mql5.com/2/31/Avatar_ZigZag__1.png)
![Строим индикатор ZigZag по осцилляторам. Пример выполнения технического задания](https://c.mql5.com/i/articles/overlay.png)
Строим индикатор ZigZag по осцилляторам. Пример выполнения технического задания
В статье демонстрируется создание индикатора ZigZag в соответствии с одним из примеров заданий, описанным в статье "Как составить техническое задание при заказе индикатора". Индикатор строится по экстремумам, которые определяются с помощью осциллятора. В индикаторе предусмотрена возможность использования одного из пяти осцилляторов на выбор: WPR, CCI, Chaikin, RSI, Stochastic Oscillator.
![Перенос кода индикатора в код эксперта. Строение индикатора.](https://c.mql5.com/2/14/309_3.gif)
![Перенос кода индикатора в код эксперта. Строение индикатора.](https://c.mql5.com/i/articles/overlay.png)
Перенос кода индикатора в код эксперта. Строение индикатора.
Статья посвящена переносу кода индикатора в код эксперта и написанию экспертов, в которых отсутствуют обращения к пользовательским индикаторам, а весь программный код для расчета нужных индикаторных значений находится внутри самого эксперта. В данной статье излагается общая схема строения индикатора, эмуляция индикаторных буферов в эксперте и замена функции IndicatorCounted(). Статья рассчитана на читателя, уже имеющего опыт программирования на языке MQL 4.
![Универсальный канал с графическим интерфейсом](https://c.mql5.com/2/26/MQL5-avatar-Universalni-oscilyator-001.png)
![Универсальный канал с графическим интерфейсом](https://c.mql5.com/i/articles/overlay.png)
Универсальный канал с графическим интерфейсом
Все индикаторы каналов представляют собой три линии: центральную, верхнюю и нижнюю. Центральная линия по принципу своего построения идентична скользящей средней, и в большинстве случаев для построения канала используется именно скользящая средняя. Верхняя и нижняя линия располагаются на одинаковом расстоянии от центральной линии. Это расстояние может определяться просто в пунктах, в процентах от цены (индикатор Envelopes), может использоваться значение стандартной девиации (полосы Боллинджера), может — значение индикатора ATR (канал Кельтнера).
![Как перенести расчетную часть любого индикатора в код эксперта](https://c.mql5.com/2/32/expert_indicator.png)
![Как перенести расчетную часть любого индикатора в код эксперта](https://c.mql5.com/i/articles/overlay.png)
Как перенести расчетную часть любого индикатора в код эксперта
Причины для переноса кода индикатора в советник могут быть различными. Но как оценить плюсы и минусы такого подхода? В данной статье предлагается технология переноса кода индикатора в советник. Проведены несколько экспериментов по оценке скорости работы советника.
![Полезные и экзотические приемы для автоматической торговли](https://c.mql5.com/2/49/exotic_techniques_automated_trading_600x314.jpg)
Полезные и экзотические приемы для автоматической торговли
В данной статье я покажу несколько очень интересных и полезных приемов для автоматической торговли. Часть из этих приемов возможно кому-то знакома, кому-то — нет, но я постараюсь привести самые интересные методы и объяснить почему стоит ими пользоваться. Самое главное, покажу на практике, что они могут. Напишем советники и проверим все описанные приемы на истории котировок.
![Торговый эксперт с графическим интерфейсом: Создание панели (Часть I)](https://c.mql5.com/2/32/avatar_expert_Graph_panel71p.png)
![Торговый эксперт с графическим интерфейсом: Создание панели (Часть I)](https://c.mql5.com/i/articles/overlay.png)
Торговый эксперт с графическим интерфейсом: Создание панели (Часть I)
Несмотря на то, что многие трейдеры до сих пор предпочитают ручную торговлю, полностью обойтись без автоматизации рутинных операций здесь вряд ли получится. В статье продемонстрирован пример создания мультисимвольного сигнального эксперта для ручной торговли.
![Рисование стрелочных индикаторов с использованием класса CCanvas](https://c.mql5.com/2/19/gg_cases.png)
![Рисование стрелочных индикаторов с использованием класса CCanvas](https://c.mql5.com/i/articles/overlay.png)
Рисование стрелочных индикаторов с использованием класса CCanvas
В автомобилях и самолетах, на производстве и в быту нас окружают стрелочные приборы с круглой шкалой. Они применяются везде, где требуется быстрая реакция оператора на контролируемую величину. В этой статье мы познакомимся с библиотекой стрелочных приборов для MetaTrader 5.
![Многократный пересчет нулевого бара в некоторых индикаторах](https://c.mql5.com/2/13/139_6.png)
![Многократный пересчет нулевого бара в некоторых индикаторах](https://c.mql5.com/i/articles/overlay.png)
Многократный пересчет нулевого бара в некоторых индикаторах
Статья посвящена проблеме пересчета значения индикатора в клиентском терминале MetaTrader 4 при изменении нулевого бара. В ней излагается общая идея добавления в код индикатора дополнительных программных элементов, позволяющих восстанавливать состояние програмного кода, сохраненное до многократного пересчета.