Графика в библиотеке DoEasy (Часть 89): Программное создание стандартных графических объектов. Базовый функционал
Наша библиотека теперь умеет отслеживать появление на графике клиентского терминала стандартных графических объектов, их удаление и модификацию некоторых их параметров. Но для полного "комплекта" нам, конечно же, не хватает возможности создавать стандартные графические объекты из своих программ.
Популяционные алгоритмы оптимизации: Дифференциальная эволюция (Differential Evolution, DE)
В этой статье поговорим об алгоритме, который демонстрирует самые противоречивые результаты из всех рассмотренных ранее, алгоритм дифференциальной эволюции (DE).
Прочие классы в библиотеке DoEasy (Часть 71): События коллекции объектов-чартов
В статье создадим функционал отслеживания некоторых событий объектов-чартов — добавление и удаление графиков символов, добавление и удаление подокон на график, а также добавление/удаление/изменение индикаторов в окнах чартов.
Популяционные алгоритмы оптимизации: Метод Нелдера-Мида, или метод симплексного поиска (Nelder–Mead method, NM)
Статья представляет полное исследование метода Нелдера-Мида объясняя, как симплекс — пространство параметров функции — изменяется и перестраивается на каждой итерации для достижения оптимального решения, а также описывает способ улучшения этого метода.
Прочие классы в библиотеке DoEasy (Часть 68): Класс объекта-окна графика и классы объектов-индикаторов в окне графика
В статье продолжим разрабатывать класс объекта-чарта. Добавим к нему список объектов-окон графика, в которых в свою очередь будут доступны списки индикаторов, размещённых в них.
Графика в библиотеке DoEasy (Часть 92): Класс памяти стандартных графических объектов. История изменения свойств объекта
В статье создадим класс памяти стандартного графического объекта, позволяющий объекту сохранять свои состояния при модификации его свойств, что в свою очередь позволит в любое время вернуться к прошлым состояниям графического объекта.
Мультибот в MetaTrader: запуск множества роботов с одного графика
В этой статье мы рассмотрим простой шаблон для создания универсального робота в MetaTrader, который можно использовать на нескольких графиках, но прицепив его лишь к одному графику, без необходимости настройки каждого экземпляра робота на каждом отдельном графике.
Стратегия Билла Вильямса с индикаторами и прогнозами и без них
Мы рассмотрим одну из известных стратегий Билла Вильямса и попытаемся улучшить ее с помощью индикаторов и прогнозов.
Работа с таймсериями в библиотеке DoEasy (Часть 38): Коллекция таймсерий - реалтайм обновление и доступ к данным из программы
В статье рассмотрим реалтайм-обновление данных таймсерий и отправку сообщений о событии "Новый бар" на график управляющей программы от всех таймсерий всех символов для возможности обработки этих событий в своих программах. Для определения необходимости обновления таймсерий для нетекущих символа и периодов графика будем использовать класс "Новый тик".
Графика в библиотеке DoEasy (Часть 86): Коллекция графических объектов - контролируем модификацию свойств
В статье рассмотрим отслеживание модификации значений свойств, удаление и переименование графических объектов в библиотеке.
Рецепты MQL5 — Сервисы
В статье описаны разносторонние возможности сервисов — таких MQL5-программ, для которых не нужен график привязки. Приводятся отличия сервисов от других MQL5-программ, подчёркиваются нюансы работы разработчика с сервисами. В качестве примеров читателю предложены различные задачи, охватывающие широкий спектр функционала, который может быть реализован в виде cервиса.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть IX): Совместимость с MQL4 - Подготовка данных
В предыдущих статьях мы начали создавать большую кроссплатформенную библиотеку, целью которой является упростить написание программ для платформ MetaTrader 5 и MetaTrader 4. В восьмой части сделали класс для отслеживания событий модификации рыночных ордеров и позиций. В данной статье начнём доработку библиотеки с целью полной её совместимости с MQL4.
Работа с таймсериями в библиотеке DoEasy (Часть 56): Объект пользовательского индикатора, получение данных от объектов-индикаторов в коллекции
В статье рассмотрим создание объекта пользовательского индикатора для использования в советниках. Немного доработаем классы библиотеки и напишем методы для получения данных от объектов-индикаторов в экспертах.
Несколько индикаторов на графике (Часть 02): Первые эксперименты
В предыдущей статье "Несколько индикаторов на графике" я представил концепции и основы того, как мы можем использовать несколько индикаторов на графике. В данной статье я представлю и детально объясню исходный код.
Работа с ценами в библиотеке DoEasy (Часть 61): Коллекция тиковых серий символов
Так как в работе программы могут участвовать разные символы, то для каждого символа необходимо создать свой список. Такие списки мы сегодня объединим в коллекцию тиковых данных. По сути это будет обычный список на основе класса динамического массива указателей на экземпляры класса CObject и его наследников Cтандартной библиотеки.
Адаптивные индикаторы
В этой статье мы рассмотрим несколько возможных подходов к созданию адаптивных индикаторов. Адаптивные индикаторы отличаются наличием обратной связи между значениями входных и выходного сигналов. Эта связь позволяет индикатору самостоятельно подстраиваться на оптимальную обработку значений финансового временного ряда.
Работа с таймсериями в библиотеке DoEasy (Часть 50): Мультипериодные мультисимвольные стандартные индикаторы со смещением
В статье доработаем методы библиотеки для корректного отображения мультисимвольных мультипериодных стандартных индикаторов, линии которых выводятся на график текущего символа со смещением, задаваемым в настройках. А также наведём порядок в методах работы со стандартными индикаторами и уберём в область библиотеки лишний код в итоговой программе-индикаторе.
Работа с таймсериями в библиотеке DoEasy (Часть 49): Мультипериодные мультисимвольные многобуферные стандартные индикаторы
В статье доработаем классы библиотеки для возможности создания мультисимвольных мультипериодных стандартных индикаторов, требующих для отображения своих данных несколько индикаторных буферов.
Прочие классы в библиотеке DoEasy (Часть 69): Класс-коллекция объектов-чартов
С этой статьи начнём разработку класса-коллекции объектов-чартов, который будет хранить в себе список-коллекцию объектов-чартов с их подокнами и индикаторами в них, и даст возможность работы с любыми выбранными чартами и их подокнами, или сразу со списком из нескольких чартов одновременно.
Работа с таймсериями в библиотеке DoEasy (Часть 58): Таймсерии данных буферов индикаторов
В завершении темы работы с таймсериями организуем хранение, поиск и сортировку данных, хранящихся в буферах индикаторов, что позволит в дальнейшем проводить анализ на основе значений индикаторов, создаваемых на основе библиотеки в своих программах. Общая концепция всех классов-коллекций библиотеки позволяет легко находить нужные данные в соответствующей коллекции, и соответственно, это же будет возможным и в создаваемом сегодня классе.
Как добавить Trailing Stop по индикатору Parabolic SAR
При создании торговой стратегии нам нужно проверить самые разные варианты защитных стопов. И тут напрашивается динамическое подтягивание уровня Stop Loss вслед за ценой. Наилучшим кандидатом для этого является индикатор Parabolic SAR —трудно придумать что-либо проще и нагляднее.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть X): Совместимость с MQL4 - События открытия позиции и активации отложенных ордеров
В предыдущих статьях мы начали создавать большую кроссплатформенную библиотеку, целью которой является упростить написание программ для платформ MetaTrader 5 и MetaTrader 4. В девятой части начали дорабатывать классы библиотеки для работы в MQL4. В данной статье продолжим доработку библиотеки с целью полной её совместимости с MQL4.
Популяционные алгоритмы оптимизации: Гармонический поиск (Harmony Search — HS)
Сегодня изучим и протестируем мощнейший алгоритм оптимизации - гармонический поиск (HS), который инспирирован процессом поиска идеальной звуковой гармонии. И какой же алгоритм теперь лидер в нашем рейтинге?
Готовые шаблоны для подключения индикаторов в экспертах (Часть 3): Трендовые индикаторы
В этой справочной статье рассмотрим стандартные индикаторы из категории "Трендовые индикаторы". Создадим готовые к применению шаблоны использования этих индикаторов в советниках — объявление и установка параметров, инициализация и деинициализация индикаторов и получение данных и сигналов из индикаторных буферов в советниках.
Графика в библиотеке DoEasy (Часть 99): Перемещаем расширенный графический объект одной контрольной точкой
В прошлой статье мы создали возможность перемещения опорных точек расширенного графического объекта при помощи форм управления. Теперь сделаем перемещение составного графического объекта при помощи одной точки (формы) управления графическим объектом.
Структуры в MQL5 и способы вывода их данных на печать
В статье рассмотрим структуры MqlDateTime, MqlTick, MqlRates, MqlBookInfo и способы вывода данных этих структур на печать. Для того, чтобы распечатать все поля структуры есть стандартная функция ArrayPrint(), которая выводит в удобном табличном формате данные, содержащиеся в массиве с типом обрабатываемой структуры.
Матрицы и векторы в MQL5: функции активации
В данной статье мы опишем только один из аспектов машинного обучения - функции активации. В искусственных нейронных сетях функция активации нейрона вычисляет значение выходного сигнала на основе значений входного сигнала или набора входных сигналов. Мы покажем, что находится "под капотом".
Работа с таймсериями в библиотеке DoEasy (Часть 43): Классы объектов индикаторных буферов
В статье рассмотрим создание классов объектов-индикаторных буферов как наследников абстрактного объекта-буфера, упрощающих объявление и работу с индикаторными буферами при создании собственных программ-индикаторов на основе библиотеки DoEasy.
Работа с таймсериями в библиотеке DoEasy (Часть 55): Класс-коллекция индикаторов
В статье продолжим развитие классов объектов-индикаторов и их коллекции. Создадим для каждого объекта-индикатора его описание и скорректируем класс-коллекцию для безошибочного хранения и получения объектов-индикаторов из списка-коллекции.
Библиотека численного анализа ALGLIB в MQL5
В этой статье мы кратко рассмотрим библиотеку численного анализа ALGLIB 3.19, ее приложения и новые алгоритмы, позволяющие повысить эффективность анализа финансовых данных.
Графика в библиотеке DoEasy (Часть 76): Объект Форма и предопределённые цветовые темы
В статье опишем концепцию построения различных тем оформления GUI в библиотеке, создадим объект "Форма", являющийся потомком объекта класса графического элемента, подготовим данные для создания теней графических объектов библиотеки и дальнейшего развития функционала.
Графика в библиотеке DoEasy (Часть 84): Классы-наследники абстрактного стандартного графического объекта
В статье рассмотрим создание классов-наследников объекта абстрактного стандартного графического объекта терминала. Объект этого класса описывает общие для всех графических объектов свойства. Т.е. это просто некий графический объект. Для уточнения его принадлежности к реальному графическому объекту нам необходимо унаследоваться от него, и в классе объекта-наследника прописать свойства, присущие этому конкретному графическому объекту.
Графика в библиотеке DoEasy (Часть 83): Класс абстрактного стандартного графического объекта
В статье создадим класс абстрактного графического объекта. Этот объект будет основой для создания классов стандартных графических объектов. Свойств у графических объектов много, и сегодня, прежде чем создать класс абстрактного графического объекта, нам необходимо будет сделать объёмную подготовительную работу — прописать эти свойства в перечислениях библиотеки.
Индикатор CCI. Модернизация и новые возможности
В этой статье мы рассмотрим возможность модернизации индикатора CCI. Кроме того, будет представлен пример модификации этого индикатора.
Популяционные алгоритмы оптимизации: Алгоритм имитации отжига (Simulated Annealing, SA). Часть I
Алгоритм имитации отжига (Simulated Annealing) является метаэвристикой, вдохновленной процессом отжига металлов. В нашей статье проведем тщательный анализ алгоритма и покажем, как многие распространенные представления и мифы, вокруг этого наиболее популярного и широко известного метода оптимизации, могут быть ошибочными и неполными. Анонс второй части статьи: "Встречайте собственный авторский алгоритм имитации изотропного отжига (Simulated Isotropic Annealing, SIA)!"
Работа с ценами в библиотеке DoEasy (Часть 59): Объект для хранения данных одного тика
С данной статьи приступим к созданию функционала библиотеки для работы с ценовыми данными. Сегодня создадим класс объекта, который будет хранить в себе все данные цен, пришедшие с очередным тиком.
Прочие классы в библиотеке DoEasy (Часть 67): Класс объекта-чарта
В статье создадим класс объекта-чарта (одного графика торгового инструмента) и доработаем класс-коллекцию объектов mql5-сигнал так, чтобы каждый объект-сигнал, хранящийся в коллекции при обновлении списка также обновлял все свои параметры.
Создаем простой мультивалютный советник с использованием MQL5 (Часть 1): Сигналы на основе ADX в сочетании с Parabolic SAR
Под мультивалютным советником в этой статье понимается советник, или торговый робот, который может торговать (открывать/закрывать ордера, управлять ордерами и т. д.) более чем одной парой символов с одного графика.
Индикатор исторических позиций на графике в виде диаграммы их прибыли/убытка
В статье рассмотрим вариант получения информации о закрытых позициях по истории их сделок. Создадим простой индикатор, отображающий в виде диаграммы приблизительный профит/убыток позиций на каждом баре.
Стать хорошим программистом (Часть 6): 9 привычек для эффективной разработки
Качество разработки — это не только про написание кода. На своем опыте я выявил определенные привычки, которые помогают повысить эффективность разработки. О некоторых из них мы поговорим в этой статье. Статья обязательна к прочтению для всех, кто хочет улучшить навыки написания сложных алгоритмов.