Библиотека для простого и быстрого создания программ для MetaTrader (Часть XX): Создание и хранение ресурсов программы
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XX): Создание и хранение ресурсов программы
В статье рассмотрим способ хранения данных в исходниках программы и создание из них звуковых и графических файлов. Часто при создании программы, нам требуется использовать звуки и изображения. В языке MQL есть несколько возможностей использования таких данных.
ZUP - зигзаг универсальный с паттернами Песавенто: Графический интерфейс. Дополнения и изменения. Вилы Эндрюса в ZUP
ZUP - зигзаг универсальный с паттернами Песавенто: Графический интерфейс. Дополнения и изменения. Вилы Эндрюса в ZUP
В версии 153 редактирование почти всех параметров ZUP можно осуществлять через графический интерфейс. В статье дано описание последних изменений в графическом интерфейсе ZUP. Описаны также основные элементы вил Эндрюса в ZUP для использования этого инструмента при анализе рыночной ситуации.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XVIII): Интерактивность объекта-аккаунт и любых других объектов библиотеки
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XVIII): Интерактивность объекта-аккаунт и любых других объектов библиотеки
В статье организована работа объекта-аккаунт на новом базовом объекте всех объектов библиотеки, доработан базовый объект CBaseObj и протестирована установка отслеживаемых параметров, а также получение событий для любых объектов библиотеки.
Конструктор стратегий на основе технических фигур Меррилла
Конструктор стратегий на основе технических фигур Меррилла
В предыдущей статье была рассмотрена модель применения технических фигур Меррилла к различным данным, таким как ценовое значение на графике валютного инструмента и значениям различных индикаторов из стандартного набора терминала MetaTrader 5: ATR, WPR, CCI, RSI и других.Теперь мы попробуем созданить конструктор стратегий на основе идеи использования технических фигур Меррилла.
Создаем кроссплатформенный советник-сеточник (Окончание): диверсификация как способ повышения прибыльности
Создаем кроссплатформенный советник-сеточник (Окончание): диверсификация как способ повышения прибыльности
В прошлых статьях данной серии мы пытались разными способами создать более или менее прибыльный советник-сеточник. Теперь же мы попробуем увеличить прибыльность торгового советника с помощью диверсификации. Нашей целью является всеми желанные 100% прибыли в год при 20% максимальной просадки по балансу.
Парсинг HTML с помощью curl
Парсинг HTML с помощью curl
В статье описывается простейшая библиотека с использованием сторонних компонентов для парсинга HTML-кода. Из неё вы узнаете как добраться до данных, которые нальзя получить GET и POST запросами. Мы подберем какой-либо сайт с не слишком объемными страницами и попытаемся получить с него интересную информацию.
Новый подход к интерпретации классической и обратной дивергенции. Часть 2
Новый подход к интерпретации классической и обратной дивергенции. Часть 2
В этой статье мы в критическом ключе рассмотрим классическую дивергенцию и проанализируем эффективность различных индикаторов. А также предложим варианты фильтрации для повышения точности анализа и продолжим рассматривать нестандартные решения. Как результат, создадим нетипичный инструмент для решения поставленной задачи.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXIII):  Основной торговый класс - контроль допустимых параметров
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXIII): Основной торговый класс - контроль допустимых параметров
В статье продолжим развитие торгового класса - организуем контроль неверных значений параметров торгового приказа и озвучим торговые события.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XVII): Интерактивность объектов библиотеки
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XVII): Интерактивность объектов библиотеки
Сегодня доведём до логического завершения функционал базового объекта всех объектов библиотеки, который позволит любому объекту библиотеки, созданному на его основе, интерактивно взаимодействовать с пользователем. Например, можно установить максимально приемлемый размер спреда для открытия позиции и значение уровня цены, при пересечении которого нам будет послано событие от объекта-символа в программу о сигнале по размеру спреда и пересечению ценой контролируемого уровня.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXI): Торговые классы - Базовый кроссплатформенный торговый объект
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXI): Торговые классы - Базовый кроссплатформенный торговый объект
В статье начнём новый раздел библиотеки - торговые классы, и рассмотрим создание единого базового торгового объекта для платформ MetaTrader 5 и MetaTrader 4. Такой торговый объект будет подразумевать при отправке запроса на сервер, что в него переданы уже проверенные и корректные параметры торгового запроса.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XVI): События коллекции символов
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XVI): События коллекции символов
В статье создадим новый базовый класс для всех объектов библиотеки, который добавит событийный функционал всем своим наследникам, и создадим класс отслеживания событий коллекции символов на основе нового базового класса. А также изменим классы аккаунта и событий аккаунта для работы под новым функционалом базового объекта.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XV): Коллекция объектов-символов
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XV): Коллекция объектов-символов
В статье рассмотрим создание коллекции символов на основе базового абстрактного объекта-символа, созданного в прошлой статье. Наследники абстрактного символа будут уточнять информацию о символе, в них будет организовано определение доступности в программе свойств базового объекта-символа, и различаться такие объекты-символы будут по их принадлежности к группам.
Исследования технических фигур Меррилла
Исследования технических фигур Меррилла
В этой мы статье рассмотрим модель технических фигур Меррилла и попробуем выяснить, насколько актуальны эти технические паттерны сегодня. Для этого мы создадим инструмент для их тестирования и применим данную модель к различным типам данных, такие как цена закрытия, ее максимумы и минимумы, индикаторы осцилляторного типа.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XIV): Объект "Символ"
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XIV): Объект "Символ"
В данной статье создадим класс объекта-символа, который будет базовым объектом для создания коллекции символов. С его помощью мы сможем получать данные по нужным символам для дальнейшего их анализа и сравнения.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XIX): Класс сообщений библиотеки
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XIX): Класс сообщений библиотеки
В статье рассмотрим класс вывода текстовых сообщений. Сейчас у нас имеется достаточное количество различных текстовых сообщений, и уже стоит подумать о реорганизации способа их хранения, вывода и удобства правки русских сообщений на иной язык, а так же об удобном способе добавления новых языков в библиотеку и быстром переключении между ними.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XII): Класс объекта "аккаунт", коллекция объектов-аккаунтов
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XII): Класс объекта "аккаунт", коллекция объектов-аккаунтов
В предыдущей статье мы определили события закрытия позиций для MQL4 в библиотеке и избавились от оказавшихся невостребованными свойств ордеров. В данной статье рассмотрим создание объекта "Аккаунт", создадим коллекцию объектов-аккаунтов и подготовим функционал для отслеживания событий аккаунтов.
Исследование методов свечного анализа (Часть IV): Обновление и дополнение приложения
Исследование методов свечного анализа (Часть IV): Обновление и дополнение приложения
В этой статье представлена следующая версия приложения Pattern Analyzer. В нем были исправлены некоторые недоработки, добавлены новые возможности, пересмотрено удобство и актуальность текущего интерфейса. При этом были рассмотрены пожелания и идеи из комментариев предыдущих статей. Что в итоге получилось — читайте далее в этой статье.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть X): Совместимость с MQL4 - События открытия позиции и активации отложенных ордеров
Библиотека для простого и быстрого создания программ для MetaTrader (Часть X): Совместимость с MQL4 - События открытия позиции и активации отложенных ордеров
В предыдущих статьях мы начали создавать большую кроссплатформенную библиотеку, целью которой является упростить написание программ для платформ MetaTrader 5 и MetaTrader 4. В девятой части начали дорабатывать классы библиотеки для работы в MQL4. В данной статье продолжим доработку библиотеки с целью полной её совместимости с MQL4.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть VIII): События модификации ордеров и позиций
Библиотека для простого и быстрого создания программ для MetaTrader (Часть VIII): События модификации ордеров и позиций
В предыдущих статьях мы начали создавать большую кроссплатформенную библиотеку, целью которой является упростить написание программ для платформ MetaTrader 5 и MetaTrader 4. В седьмой части мы добавили отслеживание событий срабатывания StopLimit-ордеров и подготовили функционал для отслеживания остальных событий, происходящих с ордерами и позициями. В данной статье сделаем класс для отслеживания событий модификации рыночных ордеров и позиций.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть IX): Совместимость с MQL4 - Подготовка данных
Библиотека для простого и быстрого создания программ для MetaTrader (Часть IX): Совместимость с MQL4 - Подготовка данных
В предыдущих статьях мы начали создавать большую кроссплатформенную библиотеку, целью которой является упростить написание программ для платформ MetaTrader 5 и MetaTrader 4. В восьмой части сделали класс для отслеживания событий модификации рыночных ордеров и позиций. В данной статье начнём доработку библиотеки с целью полной её совместимости с MQL4.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть VI): События на счёте с типом неттинг
Библиотека для простого и быстрого создания программ для MetaTrader (Часть VI): События на счёте с типом неттинг
В предыдущих статьях мы начали создавать большую кроссплатформенную библиотеку, целью которой является упростить написания программ для платформы MetaTrader 5 и MetaTrader 4. В пятой части мы создали классы торговых событий и коллекцию событий, откуда события отправляются в базовый объект библиотеки Engine и на график управляющей программы. В данной части повествования добавим возможность работы библиотеки на счетах с типом неттинг.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть V): Классы и коллекция торговых событий, отправка событий в программу
Библиотека для простого и быстрого создания программ для MetaTrader (Часть V): Классы и коллекция торговых событий, отправка событий в программу
В предыдущих статьях мы начали создавать большую кроссплатформенную библиотеку, целью которой является упростить написание программ для платформ MetaTrader 5 и MetaTrader 4. В четвёртой части мы протестировали отслеживание торговых событий на счёте. В данной части создадим классы торговых событий, поместим их в коллекцию событий, откуда они будут отправляться в базовый объект библиотеки Engine и на график управляющей программы.
Оценка индекса фрактальности, показателя Херста и возможность предсказания финансовых временных рядов
Оценка индекса фрактальности, показателя Херста и возможность предсказания финансовых временных рядов
Поиски и изучение фрактального поведения финансовых данных подразумевают, что за внешне хаотическим поведением экономических временных рядов скрываются и действуют устойчивые механизмы коллективного поведения участников. На бирже такие механизмы могут приводить к возникновению ценовой динамики, которая определяет и описывает специфические свойства ценовых рядов. В трейдинге были бы интересны такие индикаторы, которые могут эффективно и устойчиво оценивать параметры фрактальности на том масштабе и диапазоне времени, которые актуальны на практике.
Создаем кроссплатформенный советник-сеточник (Часть III): сетка на коррекциях с мартингейлом
Создаем кроссплатформенный советник-сеточник (Часть III): сетка на коррекциях с мартингейлом
В этой статье мы попробуем создать лучший из возможных советников, работающих по принципу сеточника. Как обычно, это будет кроссплатформенный советник, способный работать как в MetaTrader 4, так и в MetaTrader 5. Первый советник был хорош всем, кроме того, что не мог принести прибыль на длительном промежутке времени. Второй советник мог работать на интервалах более нескольких лет. Но принести более 50% прибыли в год при максимальной просадке менее 50% он был не способен.
Создаем кроссплатформенный советник-сеточник (Часть II): Сетка в рейндже в направлении тренда
Создаем кроссплатформенный советник-сеточник (Часть II): Сетка в рейндже в направлении тренда
Сегодня мы попробуем разработать сеточный советник для работы в диапазоне в направлении тренда. То есть для инструментов Forex или рынков сырья. Как показали тесты, наш сеточник работал в прибыль с 2018 года. Но вот беда, с 2014 по 2018 год это был стабильный слив депозита
Библиотека для простого и быстрого создания программ для MetaTrader (Часть IV): Торговые события
Библиотека для простого и быстрого создания программ для MetaTrader (Часть IV): Торговые события
В предыдущих статьях мы начали создавать большую кроссплатформенную библиотеку, целью которой является облегчение написания программ для платформы MetaTrader 5 и MetaTrader 4. У нас уже есть коллекции исторических ордеров и сделок, рыночных ордеров и позиций, класс для удобного выбора и фильтрации ордеров. В данной части продолжим развитие базового объекта и научим библиотеку Engine отслеживать торговые события на счёте.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть III): Коллекция рыночных ордеров и позиций, поиск и фильтрация
Библиотека для простого и быстрого создания программ для MetaTrader (Часть III): Коллекция рыночных ордеров и позиций, поиск и фильтрация
В первой статье мы начали создавать большую кроссплатформенную библиотеку для легкого создания программ на платформах MetaTrader 5 и MetaTrader 4. Далее продолжили развитие библиотеки и сделали коллекцию исторических ордеров и сделок. Теперь создадим класс для удобного выбора и фильтрации ордеров, сделок и позиций в списках коллекций, а именно создадим базовый объект библиотеки — Engine, и добавим в библиотеку коллекцию рыночных ордеров и позиций.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XI). Совместимость с MQL4 - События закрытия позиций
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XI). Совместимость с MQL4 - События закрытия позиций
Продолжаем создавать большую кроссплатформенную библиотеку, целью которой является упростить написания программ для платформы MetaTrader 5 и MetaTrader 4. В десятой части мы продолжили работу над совместимостью библиотеки с MQL4 и сделали определение событий открытия позиций и активации отложенных ордеров. В данной статье сделаем определение событий закрытия позиций и избавимся от оказавшихся невостребованными свойств ордеров.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть I): Концепция, организация данных, первые результаты
Библиотека для простого и быстрого создания программ для MetaTrader (Часть I): Концепция, организация данных, первые результаты
Разбирая огромное количество торговых стратегий, множество заказов на изготовление программ для терминалов MT5 и MT4, просматривая различные сайты по MetaTrader, я пришёл к выводу, что всё это многообразие в подавляющем своём большинстве строится на фактически одних и тех же элементарных функциях, действиях и значениях, повторяющихся от программы к программе. Результатом моей работы стала кроссплатформенная библиотека "DoEasy" для быстрого и лёгкого создания программ для МetaТrader 5 и МetaТrader 4
Как за 10 минут написать DLL библиотеку на MQL5 (Часть II): Пишем в среде Visual Studio 2017
Как за 10 минут написать DLL библиотеку на MQL5 (Часть II): Пишем в среде Visual Studio 2017
Первоначальная "базовая" статья отнюдь не потеряла актуальности и всем интересующимся данной темой просто необходимо ее прочесть. Но с тех пор прошло достаточно много времени, сейчас актуальна версия Visual Studio 2017, в которой изменился, пусть и не значительно, интерфейс, да и сама платформа MetaTrader 5 развивалась и не стояла на месте. В статье рассмотрены этапы создания проекта dll, его настройки и совместной работы с инструментами терминала MetaTrader 5.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть VII): События срабатывания StopLimit-ордеров, подготовка функционала для событий модификации ордеров и позиций
Библиотека для простого и быстрого создания программ для MetaTrader (Часть VII): События срабатывания StopLimit-ордеров, подготовка функционала для событий модификации ордеров и позиций
В предыдущих статьях мы начали создавать большую кроссплатформенную библиотеку, целью которой является упростить создание программ для платформы MetaTrader 5 и MetaTrader 4. В шестой части мы научили библиотеку работать с позициями на счетах с типом "неттинг". В данной части сделаем отслеживание событий срабатывания StopLimit-ордеров и подготовим функционал для отслеживания событий модификации рыночных ордеров и позиций.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть II): Коллекция исторических ордеров и сделок
Библиотека для простого и быстрого создания программ для MetaTrader (Часть II): Коллекция исторических ордеров и сделок
В первой статье мы начали создавать большую кроссплатформенную библиотеку, целью которой является облегчение создания программ для платформ MetaTrader 5 и MetaTrader 4. Создали абстрактный объект COrder, который является базовым объектом для хранения данных исторических ордеров и сделок, а также рыночных ордеров и позиций. Теперь мы создадим все необходимые объекты для хранения данных истории счёта в коллекциях.
Создаем кроссплатформенный советник-сеточник (гридер)
Создаем кроссплатформенный советник-сеточник (гридер)
В данной статье мы научимся писать советники, которые работают сразу и в MetaTrader 4, и в MetaTrader 5. Для этого мы попробуем написать советник, работающий по принципу создания сетки из ордеров. Сеточники или гридеры — это советники, основной принцип работы которых заключается в одновременном выставлении нескольких лимитных ордеров выше текущей цены, и такого же количества лимитных ордеров ниже текущей цены.
Применение метода Монте-Карло в обучении с подкреплением
Применение метода Монте-Карло в обучении с подкреплением
Применение Reinforcement learning для разработки самообучающихся экспертов. В предыдущей статье мы познакомились с алгоритмом Random Decision Forest и написали простого самообучающегося эксперта на основе Reinforcement learning (обучения с подкреплением). Было отмечено основное преимущество такого подхода как простота написания торгового алгоритма и высокая скорость "обучения". Обучение с подкреплением (далее просто RL) легко внедряется в любого торгового эксперта и увеличивает скорость его оптимизации.
Раздельная оптимизация стратегии на тренде и флете
Раздельная оптимизация стратегии на тренде и флете
В статье рассматривается применение метода раздельной оптимизации на различных состояниях рынка. Раздельная оптимизация — это определение оптимальных параметров торговой системы с помощью оптимизации отдельно для восходящего и нисходящего тренда. Для снижения эффекта ложных сигналов и улучшения прибыльности, системы делают гибкими, то есть у них существует какой-то определенный набор настроек или входных данных, что вполне оправдано, потому что поведение рынка постоянно меняется.
Мартингейл как основа долгосрочной торговой стратегии
Мартингейл как основа долгосрочной торговой стратегии
В данной статье мы подробно рассмотрим такую систему, как мартингейл. Подумаем, можно ли ее применять, и как ее применять, чтобы максимально снизить риски. Самый главный недостаток этой простой системы — есть вероятность потерять весь депозит. И это необходимо учитывать в своей торговле, если вы все таки решите использовать данную торговую систему.
Сравнительный анализ 10 трендовых стратегий
Сравнительный анализ 10 трендовых стратегий
В статье сделан краткий обзор 10 трендовых стратегий, проведено их тестирование, сравнительный анализ. На основе полученных результатов сделан общий вывод о целесообразности, достоинствах и недостатках торговли по тренду.
Использование индикаторов для RealTime оптимизации советников
Использование индикаторов для RealTime оптимизации советников
Ни для кого не секрет, что успешность работы любого торгового робота зависит от правильного подбора его параметров (его оптимизации). Но оптимальные для одного временного интервала параметры не всегда оказываются наилучшими на другом участке истории. А зачастую советники, прибыльные на тестировании, оказываются убыточными в реальном времени. И здесь возникает вопрос о необходимости постоянной оптимизации. А там где появляется много рутинной работы человек ищет пути ее автоматизации. В данной статье я предлагаю свой нестандартный подход к решению данной задачи.
Разворотные паттерны: Тестируем паттерн "Голова-Плечи"
Разворотные паттерны: Тестируем паттерн "Голова-Плечи"
Данная статья является логическим продолжением предыдущей публикации "Разворотные паттерны: Тестируем паттерн "Двойная вершина/дно". Теперь мы рассмотрим еще один широко известный разворотный паттерн "Голова-Плечи", сравним результативность торговли двух паттернов и сделаем попытку объединить торговлю по двум паттернам в единую торговую систему.
Реверсирование: формализуем точку входа и пишем алгоритм ручной торговли
Реверсирование: формализуем точку входа и пишем алгоритм ручной торговли
Это последняя статья из серии, посвященной такой торговой стратегии, как реверсирование. В ней мы попробуем решить проблему, которая приводила к нестабильности результатов тестирования в предыдущих статьях. А также напишем и протестируем свой алгоритм для ручной торговли на любом рынке с помощью реверсирования.