Руководство по написанию DLL для MQL5 на Delphi
Статья рассматривает механизм написания модудя DLL на популярном языке программирования ObjectPascal в среде разработки Delphi. Изложенный в статье материал ориентирован в первую очередь на начинающих программистов, решающих задачи, выходящие за рамки встроенного языка программирования MQL5, путем подключения внешних DLL модулей.
ZigZag всему голова (Часть I): Разработка базового класса индикатора
Многие исследователи не уделяют должного внимания определению характера поведения цены. При этом используются сложные методы, которые очень часто являются просто «чёрными ящиками», такие как: машинное обучение или нейронные сети. В таких случаях самым важным является такой — «Какие данные подать на вход для обучения той или иной модели?»
Построение каналов - взгляд изнутри и снаружи
Наверное, не будет преувеличением сказать, что после скользящих средних каналы - самый популярный инструмент для анализа рыночной ситуации и принятия торговых решений. Не углубляясь во множество существующих стратегий использования каналов и их составных элементов, мы здесь рассмотрим математические основы и практическую реализацию индикатора, строящего канал, заданный тремя экстремумами на экране терминала.
Разворотные паттерны: Тестируем паттерн "Голова-Плечи"
Данная статья является логическим продолжением предыдущей публикации "Разворотные паттерны: Тестируем паттерн "Двойная вершина/дно". Теперь мы рассмотрим еще один широко известный разворотный паттерн "Голова-Плечи", сравним результативность торговли двух паттернов и сделаем попытку объединить торговлю по двум паттернам в единую торговую систему.
Техника оптимизации (тестирования) и некоторые критерии выбора рабочих параметров эксперта
Тестерный "Грааль" получить очень легко и просто, а вот избавиться от этого - гораздо сложнее.
В статье рассмотрен вариант выбора рабочих параметров эксперта с автоматизированной групповой обработкой результатов оптимизации и тестирования, с максимальным использованием возможностей терминала и минимальной нагрузкой на конечного пользователя.
Курс Монетки и основанный на нем Индикатор Трендовости
Модели случайных блужданий даётся название "Курс Монетки". Приводятся свойства курса монетки с точки зрения трейдера. Предлагается создать симулятор курса на основе курса монетки с трендом. Для отличия реального курса от курса монетки создан индикатор трендовости. Рассматривается трендовость реального курса.
Рецепты MQL5 - Использование индикаторов для формирования условий торговли в эксперте
В этой статье мы продолжим модифицировать эксперта, над которым до этого работали на протяжении всех последних статей по программированию на MQL5. На этот раз подключим к эксперту индикаторы, по значениям которых будут проверяться условия на открытие позиции. Чтобы было интересней, сделаем во внешних параметрах выпадающий список, в котором можно будет выбрать один из трех индикаторов для торговли.
Глубокие нейросети (Часть VI). Ансамбль нейросетевых классификаторов: bagging
Рассмотрим методы построения и обучения ансамблей нейросетей со структурой bagging. Определим особенности оптимизации гиперпараметров индивидуальных нейросетевых классификаторов, составляющих ансамбль. Сравним качество оптимизированной нейросети, полученной в предыдущей статье серии, и созданного ансамбля нейросетей. Рассмотрим возможности дальнейшего улучшения качества классификации полученного ансамбля.
Плеер торговли на основе истории сделок
Плеер торговли. Всего два слова и пояснения не нужны. В голове всплывают мысли об удобном ящичке с кнопками. Нажал одну кнопку - играет, передвинул рычажок - изменилась скорость воспроизведения. В реальности всё почти так и есть. В данной статье я хочу представить разработку, которая проигрывает торговую историю почти как в реал-тайме. В статье так же будут затронуты вопросы, проясняющие некоторые нюансы ООП, работу с индикаторами, управления чартами.
Исследования технических фигур Меррилла
В этой мы статье рассмотрим модель технических фигур Меррилла и попробуем выяснить, насколько актуальны эти технические паттерны сегодня. Для этого мы создадим инструмент для их тестирования и применим данную модель к различным типам данных, такие как цена закрытия, ее максимумы и минимумы, индикаторы осцилляторного типа.
Рисование стрелочных индикаторов с использованием класса CCanvas
В автомобилях и самолетах, на производстве и в быту нас окружают стрелочные приборы с круглой шкалой. Они применяются везде, где требуется быстрая реакция оператора на контролируемую величину. В этой статье мы познакомимся с библиотекой стрелочных приборов для MetaTrader 5.
Нейросети — это просто (Часть 8): Механизмы внимания
В предыдущих статьях мы уже протестировали различные варианты организации нейронных сетей. В том числе и сверточные сети, заимствованные из алгоритмов обработки изображений. В данной статье я предлагаю рассмотреть механизмы внимания, появление которых дало толчок в развитии языковых моделей.
Индикатор для построения графика "трехлинейного прорыва"
Статья посвящена графику "трёхлинейного прорыва" (Three Line Break), предложенного Стивом Нисоном в книге «За гранью японских свечей». Преимущество данного графика состоит в том, что с его помощью можно фильтровать незначительные колебания цен относительно предыдущего движения. Рассмотрен принцип построения графика, код индикатора, а также примеры торговых стратегий на его основе.
Рецепты MQL5 - Наблюдение за несколькими таймфреймами в одном окне
MetaTrader 5 предлагает на выбор 21 таймфрейм для анализа. На график можно также поместить специальный объект-график и уже в нем задать символ, таймфрейм и еще некоторые свойства. В этой статье рассмотрим такие графические объекты более подробно: создадим индикатор с элементами управления (кнопками), с помощью которых можно будет устанавливать в подокно сразу несколько объектов-графиков. При этом объекты-графики будут точно вписываться и автоматически подстраиваться под размер подокна при изменении размеров главного окна графика или терминала.
Как перенести расчетную часть любого индикатора в код эксперта
Причины для переноса кода индикатора в советник могут быть различными. Но как оценить плюсы и минусы такого подхода? В данной статье предлагается технология переноса кода индикатора в советник. Проведены несколько экспериментов по оценке скорости работы советника.
Универсальный торговый эксперт: Событийная модель и прототип торговой стратегии (Часть 2)
Данная статья продолжает серию заметок, посвященных универсальной модели эксперта. В этой части описывается оригинальная событийная модель на основе централизованной обработки данных, а также рассматривается структура базового класса движка — CStrategy.
Полезные и экзотические приемы для автоматической торговли
В данной статье я покажу несколько очень интересных и полезных приемов для автоматической торговли. Часть из этих приемов возможно кому-то знакома, кому-то — нет, но я постараюсь привести самые интересные методы и объяснить почему стоит ими пользоваться. Самое главное, покажу на практике, что они могут. Напишем советники и проверим все описанные приемы на истории котировок.
Управляемая оптимизация: метод отжига
В тестере стратегий торговой платформы MetaTrader 5 есть только два варианта оптимизации: полный перебор параметров и генетический алгоритм. В этой статье предложен новый вариант оптимизации торговых стратегий — метод отжига. Приводится алгоритм метода, его реализация и способ подключения к любому советнику. Разработанный алгоритм протестирован на советнике Moving Average.
Строим индикатор ZigZag по осцилляторам. Пример выполнения технического задания
В статье демонстрируется создание индикатора ZigZag в соответствии с одним из примеров заданий, описанным в статье "Как составить техническое задание при заказе индикатора". Индикатор строится по экстремумам, которые определяются с помощью осциллятора. В индикаторе предусмотрена возможность использования одного из пяти осцилляторов на выбор: WPR, CCI, Chaikin, RSI, Stochastic Oscillator.
Записки дилетанта. ZigZag…
Наверняка каждого начинающего трейдера, впервые увидевшего “загадочную” ломаную, посещала “шальная” мысль торговать вблизи экстремумов. Ведь это так “просто”. Вот максимум. А здесь был минимум. Красивая картинка на истории. А что на деле? Луч нарисовался. Казалось бы, вот она - вершина. Пора продавать. Сейчас пойдем вниз. Но - нет. Цена по-прежнему предательски идет вверх. М-да! Ерунда, а не индикатор. На помойку его!
3 метода ускорения индикаторов на примере линейной регрессии
Рассматриваются методы оптимизации вычислительных алгоритмов индикаторов. Каждый читатель найдет себе метод по душе: описан один простой метод, один требующий серьезных познаний в математике, и еще один, для которого нужна смекалка. Реализация большинства представленных методов задействует конструкционные особенности устройства индикаторов или терминала MetaTrader 5. При этом сами методы довольно универсальны - применимы не только для ускорения расчета линейной регрессии, но и для многих других индикаторов.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть I): Концепция, организация данных, первые результаты
Разбирая огромное количество торговых стратегий, множество заказов на изготовление программ для терминалов MT5 и MT4, просматривая различные сайты по MetaTrader, я пришёл к выводу, что всё это многообразие в подавляющем своём большинстве строится на фактически одних и тех же элементарных функциях, действиях и значениях, повторяющихся от программы к программе. Результатом моей работы стала кроссплатформенная библиотека "DoEasy" для быстрого и лёгкого создания программ для МetaТrader 5 и МetaТrader 4
Основы программирования на MQL5 - Списки
Новая версия языка программирования торговых стратегий - MQL [MQL5] - имеет более эффективный и мощный инструментарий по сравнению с предыдущей [MQL4]. И это преимущество прежде всего относится к средствам объектно-ориентированного программирования. В данной статье рассматривается возможность использования такого пользовательского типа данных, относящегося к сложному, как узлы и списки. Приводится пример использования списков при программировании практических задач в MQL5.
Торговый эксперт с графическим интерфейсом: Создание панели (Часть I)
Несмотря на то, что многие трейдеры до сих пор предпочитают ручную торговлю, полностью обойтись без автоматизации рутинных операций здесь вряд ли получится. В статье продемонстрирован пример создания мультисимвольного сигнального эксперта для ручной торговли.
Пример создания комплекcной торговой стратегии Owl
Моя стратегия базируется на классических основах трейдинга и доработке индикаторов, широко применяемых на всех видах рынков. Фактически — это уже готовый инструмент, используя который, можно во всей полноте работать по предлагаемой новой прибыльной торговой стратегии.
Перенос кода индикатора в код эксперта. Строение индикатора.
Статья посвящена переносу кода индикатора в код эксперта и написанию экспертов, в которых отсутствуют обращения к пользовательским индикаторам, а весь программный код для расчета нужных индикаторных значений находится внутри самого эксперта. В данной статье излагается общая схема строения индикатора, эмуляция индикаторных буферов в эксперте и замена функции IndicatorCounted(). Статья рассчитана на читателя, уже имеющего опыт программирования на языке MQL 4.
Индикатор NRTR и торговые модули на его основе для Мастера MQL5
В статье описан индикатор NRTR и торговая система, созданная с его использованием. Для этих целей создаётся модуль торговых сигналов, с помощью которых создаются стратегии, основанные на комбинациях NRTR и дополнительных индикаторов, подтверждающих тренд.
Книга "Forex: от простого к сложному", И.В. Морозов и Р.Р. Фатхуллин
Эта книга поможет торгующим на Форексе разобраться в азах функционирования валютного рынка и в некоторых его тонкостях. Кроме того в ней содержится описание фундаментального и технического анализов, без знания которых невозможно построить прибыльную торговую систему. Книга содержит и описание работы с информационно-торговым терминалом MetaTrader 4.
Визуализируй это! Графическая библиотека в MQL5 как аналог plot из R
При исследовании и изучении закономерностей важную роль играет визуальное отображение с помощью графиков. В популярных среди научного сообщества языках программирования, таких как R и Python, для визуализации предназначена специальная функция plot. С её помощью можно рисовать линии, точечные распределения и гистограммы для наглядного представления закономерностей. В MQL5 вы можете делать всё то же самое с помощью класса CGraphics.
Универсальный канал с графическим интерфейсом
Все индикаторы каналов представляют собой три линии: центральную, верхнюю и нижнюю. Центральная линия по принципу своего построения идентична скользящей средней, и в большинстве случаев для построения канала используется именно скользящая средняя. Верхняя и нижняя линия располагаются на одинаковом расстоянии от центральной линии. Это расстояние может определяться просто в пунктах, в процентах от цены (индикатор Envelopes), может использоваться значение стандартной девиации (полосы Боллинджера), может — значение индикатора ATR (канал Кельтнера).
Создаем кроссплатформенный советник-сеточник (Часть II): Сетка в рейндже в направлении тренда
Сегодня мы попробуем разработать сеточный советник для работы в диапазоне в направлении тренда. То есть для инструментов Forex или рынков сырья. Как показали тесты, наш сеточник работал в прибыль с 2018 года. Но вот беда, с 2014 по 2018 год это был стабильный слив депозита
К вопросу об управлении капиталом
В статье рассмотрены некоторые аспекты, возникающие при использовании различных систем управления капиталом, применительно к ФОРЕКС. Приведены данные экспериментов с моделью процесса торговли, в которой при совершении торговых сделок используются разные методы управления капиталом (Money Management - ММ).
Построение советника с использованием отдельных модулей
В процессе разработки индикаторов, советников и скриптов, разработчику приходится постоянно создавать законченные фрагменты кода, непосредственного отношения к стратегии торговли не имеющих. В статье рассмотрен способ проектирования советников с использованием ранее спроектированных отдельных блоков - тралов, фильтров, расписаний и т.п. Разобрана полезная особенность такого рода проектирования.
Образцовый трейлинг-стоп и выход с рынка
У разработчиков алгоритмов модификаций и закрытия ордеров есть одна непроходящая головная боль - как сравнивать результаты, получаемые по различным методикам? Механизм проверок известен - тестер стратегий. А вот как сделать так, чтобы эксперт всегда работал одинаково по открытию/закрытию ордеров? В статье описывается инструмент, обеспечивающий строгую повторяемость открытий ордеров, позволяющую обеспечить математически корректную платформу для сравнения результатов различных алгоритмов трейлинг-стопов и выходов с рынка.
Дискретизация ценового ряда, случайная составляющая и "шумы"
Мы привыкли анализировать рынок при помощи свечей или баров, которые "нарезают" ценовой ряд через равные промежутки времени. Но насколько сильно такой способ дискретизации искажает реальную структуру рыночных движений? Дискретизировать звуковой сигнал через равные промежутки времени — это приемлемое решение, потому что звуковой сигнал — это функция, меняющаяся от времени. Сам по себе сигнал — это амплитуда, зависящая от времени и это свойство в нем, является фундаментальным.
Советник на заказ. Инструкция для трейдера.
Далеко не все трейдеры - программисты. А из них далеко не все - хорошие программисты. Что делать, если надо автоматизировать свою систему, а времени и желания учить язык MQL 4 нет?
Реверсирование: формализуем точку входа и пишем алгоритм ручной торговли
Это последняя статья из серии, посвященной такой торговой стратегии, как реверсирование. В ней мы попробуем решить проблему, которая приводила к нестабильности результатов тестирования в предыдущих статьях. А также напишем и протестируем свой алгоритм для ручной торговли на любом рынке с помощью реверсирования.
Пишем кроссплатформенный помощник для выставления StopLoss и TakeProfit в соответствии со своими рисками
В данной статье мы создадим советник, который позволит нам автоматизировать процесс определения лота, с которым нужно войти в сделку в соответствии с нашими рисками. Также данный советник позволит автоматически выставлять тейк-профит с выбранным коэффициентом к стоп-лоссу. То есть чтобы соблюдалось соотношение 3 к 1, 4 к 1 или любое другое, выбранное нами.
Интервью с Александром Элдером: "Я хочу быть психиатром на рынке"
"Я считаю что финансовые рынки – как маниакально-депрессивные больные. Когда у них мания, их надо продавать, когда у них депрессия, их надо покупать. Конверт позволяет мне определить, где находятся эти уровни депрессии и мании. Есть такая шутка: "Невротик – это человек, который строит замки в небесах, психотик – это человек, который живет в этих замках, а психиатр – это человек, который собирает аренду". Я хочу быть психиатром на рынке, я хочу собирать аренду с сумасшествия толпы".
Тестирование экспертов в клиентском терминале MetaTrader 4. Взгляд изнутри
Что происходит после нажатия на кнопку "Старт"? В статье дан ответ на этот и многие другие вопросы.