Работа с таймсериями в библиотеке DoEasy (Часть 58): Таймсерии данных буферов индикаторов
В завершении темы работы с таймсериями организуем хранение, поиск и сортировку данных, хранящихся в буферах индикаторов, что позволит в дальнейшем проводить анализ на основе значений индикаторов, создаваемых на основе библиотеки в своих программах. Общая концепция всех классов-коллекций библиотеки позволяет легко находить нужные данные в соответствующей коллекции, и соответственно, это же будет возможным и в создаваемом сегодня классе.
Несколько индикаторов на графике (Часть 02): Первые эксперименты
В предыдущей статье "Несколько индикаторов на графике" я представил концепции и основы того, как мы можем использовать несколько индикаторов на графике. В данной статье я представлю и детально объясню исходный код.
Разработка торговой системы на основе индикатора ADX
Эта статья продолжает серию о построении торговых систем с использованием самых популярных индикаторов. На этот раз мы поговорим об индикаторе ADX (Average Directional Index, Индекс среднего направленного движения). Мы подробно изучим этот индикатор, чтобы понять, чем он может быть полезен в торговле. Также с помощью простых стратегий мы узнаем, как его использовать. Изучая самую суть вещей, мы можем получить больше информации и использовать это с максимальной выгодой.
Разработка торговой системы на основе индикатора CCI
В очередной статье из серии, посвященной разработке торговых систем, я представлю индекс товарного канала (CCI), объясню его особенности и поделюсь тем, как создать торговую систему на основе этого индикатора.
WebSocket для MetaTrader 5 — Использование Windows API
В этой статье мы используем WinHttp.dll, чтобы создать клиент WebSocket для MetaTrader 5-программ. В конечном итоге клиент должен быть выполнен в виде класса и протестирован во взаимодействии с WebSocket API от Binary.com.
Работа с матрицами и векторами в MQL5
Для решения математических задач в MQL5 были добавлены матрицы и векторы. Новые типы имеют встроенные методы для написания краткого и понятного кода, который близок к математической записи. Массивы — это хорошо, но матрицы во многих случаях лучше.
Бегущая строка котировок: улучшенная версия
Как вам идея оживить базовую версию панели? Первое, что мы сделаем — реализуем возможность добавить на панель изображение, например, логотип актива или любой другой рисунок, чтобы пользователь смог легко и быстро определить, что это за торговый инструмент.
Нейросети — это просто (Часть 22): Обучение без учителя рекуррентных моделей
Мы продолжаем рассмотрение алгоритмов обучения без учителя. И сейчас я предлагаю обсудить особенности использования автоэнкодеров для обучения рекуррентных моделей.
Нейросети — это просто (Часть 21): Вариационные автоэнкодеры (VAE)
В прошлой статье мы познакомились с алгоритмом работы автоэнкодера. Как и любой другой алгоритм, он имеет свои достоинства и недостатки. В оригинальной реализации автоэнкодер выполняет задачу максимально разделить объекты из обучающей выборки. А о том, как бороться с некоторыми его недостатками мы поговорим в этой статье.
Разработка торговой системы на основе осциллятора Чайкина
Это новая статья из серии, в которой мы изучаем популярные технические индикаторы и учимся создавать на их основе торговые системы. В этой статье будем работать с индикатором Chaikin Oscillator — Осциллятор Чайкина.
Как сократить код торгового эксперта, попутно упростив себе жизнь и уменьшив число возможных ошибок
Простая концепция, изложенная в данной статье, позволит разработчикам МТС на MQL4 упростить существующие торговые системы, а также сократить время разработки новых систем за счет сокращения объема кода торговых экспертов.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть X): Совместимость с MQL4 - События открытия позиции и активации отложенных ордеров
В предыдущих статьях мы начали создавать большую кроссплатформенную библиотеку, целью которой является упростить написание программ для платформ MetaTrader 5 и MetaTrader 4. В девятой части начали дорабатывать классы библиотеки для работы в MQL4. В данной статье продолжим доработку библиотеки с целью полной её совместимости с MQL4.
Неторгующий эксперт тестирует индикаторы
Все индикаторы можно разделить на две группы: статические - изображение которых на истории остается статичным и не меняется с приходом новых котировок, и динамические - которые отображают свое состояние только для текущего момента времени и полностью переририсовываются при приходе новой цены. Работопригодность статического индикатора видна сразу на графике, а вот как проверить, что динамический индиктор работает правильно? Этому вопросу и посвящена данная статья.
Выставление ордеров в MQL5
При создании любой торговой системы есть задача, которую необходимо эффективно решить. Эта задача заключается в выставлении ордеров либо в их автоматической обработке торговой системой. В статье рассмотрено создание торговой системы с точки зрения эффективного выставления ордеров.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть IX): Совместимость с MQL4 - Подготовка данных
В предыдущих статьях мы начали создавать большую кроссплатформенную библиотеку, целью которой является упростить написание программ для платформ MetaTrader 5 и MetaTrader 4. В восьмой части сделали класс для отслеживания событий модификации рыночных ордеров и позиций. В данной статье начнём доработку библиотеки с целью полной её совместимости с MQL4.
Димитар Манов:"На Чемпионате я боюсь только исключительных обстоятельств"(ATC 2010)
В недавнем отчете Бориса Одинцова одним из самых стабильных советников Чемпионата был назван эксперт болгарского Участника Manov. Мы решили поговорить с автором этой разработки и выяснить, в чем заключается секрет ее успеха. В интервью Димитар Манов рассказывает о том, какую ситуацию его эксперт не переживет, почему он не использует индикаторы и рассчитывает ли на победу в соревновании.
Графика в библиотеке DoEasy (Часть 99): Перемещаем расширенный графический объект одной контрольной точкой
В прошлой статье мы создали возможность перемещения опорных точек расширенного графического объекта при помощи форм управления. Теперь сделаем перемещение составного графического объекта при помощи одной точки (формы) управления графическим объектом.
Разработка торговой системы на основе индикатора Fibonacci
Это продолжение серии статей, в которых мы учимся строить торговые системы на основе самых популярных индикаторов. Очередным техническим инструментом станет индикатор Фибоначчи. Давайте разберем, как написать программу по сигналам этого индикатора.
Готовим мультисимвольные мультипериодные индикаторы
В статье рассмотрим принципы создания мультисимвольных мультипериодных индикаторов и получение от них данных в советниках и индикаторах. Рассмотрим основные нюансы использования мульти-индикаторов в советниках и индикаторах, и их отрисовку через буферы пользовательского индикатора.
Популяционные алгоритмы оптимизации: Поиск косяком рыб (Fish School Search — FSS)
Поиск косяком рыб (FSS) — новый современный алгоритм оптимизации, вдохновленный поведением рыб в стае, большинство из которых, до 80%, плавают организовано в сообществе сородичей. Доказано, что объединения рыб играют важную роль в эффективности поиска пропитания и защиты от хищников.
Нейросети — это просто (Часть 17): Понижение размерности
Мы продолжаем рассмотрение моделей искусственного интеллекта. И, в частности, алгоритмов обучения без учителя. Мы уже познакомились с одним из алгоритмов кластеризации. А в этой статье я хочу поделиться с Вами вариантом решения задач понижения размерности.
Работа с таймсериями в библиотеке DoEasy (Часть 55): Класс-коллекция индикаторов
В статье продолжим развитие классов объектов-индикаторов и их коллекции. Создадим для каждого объекта-индикатора его описание и скорректируем класс-коллекцию для безошибочного хранения и получения объектов-индикаторов из списка-коллекции.
Язык визуального программиования ДРАКОН (Drakon) — средство общения для разработчика MQL и заказчика
ДРАКОН — язык визуального программирования, специально разработанный для упрощения взаимодействия между специалистами разных отраслей (биологами, физиками, инженерами...) с программистами в российских космических проектах (например, при создании создание комплекса "Буран"). В этой статье я расскажу о том, как ДРАКОН делает создание алгоритмов доступным и интуитивно понятным, даже если вы никогда не сталкивались с кодом, а также - как заказчику легче объяснить свои мысли при заказе торговых роботов, а программисту - совершать меньше ошибок в сложных функциях.
Возможности Мастера MQL5, которые вам нужно знать (Часть 5): Цепи Маркова
Цепи Маркова — это мощный математический инструмент, который можно использовать для моделирования и прогнозирования данных временных рядов в различных областях, включая финансы. При моделировании и прогнозировании финансовых временных рядов цепи Маркова часто используются для моделирования эволюции финансовых активов с течением времени, таких как цены акций или обменные курсы. Одними из основных преимуществ моделей цепей Маркова являются их простота и удобство использования.
Как мы развивали сервис торговых сигналов MetaTrader и социальный трейдинг в целом
Мы активно совершенствуем сервис Сигналы, последовательно избавляемся от прежних недоработок и вносим изменения в существующие механизмы. MetaTrader Signals двухлетней давности и MetaTrader Signals на текущий момент - это словно два различных сервиса.
Популяционные алгоритмы оптимизации: Алгоритм оптимизации с кукушкой (Cuckoo Optimization Algorithm — COA)
Следующий алгоритм, который рассмотрим — оптимизация поиском кукушки с использованием полётов Леви. Это один из новейших алгоритмов оптимизации и новый лидер в рейтинговой таблице.
Нейросети — это просто (Часть 18): Ассоциативные правила
В продолжение данной серии статей предлагаю познакомиться ещё с одним типом задач из методов обучения без учителя — поиск ассоциативных правил. Данный тип задач впервые был применен в ритейле для анализа корзин покупателей. О возможностях использования подобных алгоритмов в рамках трейдинга мы и поговорим в этой статье.
Машинное обучение и Data Science (Часть 10): Гребневая регрессия
Гребневая регрессия (ридж-регрессия) — это простой метод для уменьшения сложности модели и борьбы с подгонкой, которая может возникнуть в результате простой линейной регрессии.
Машинное обучение и Data Science (Часть 05): Деревья решений на примере погодных условий для игры в теннис
Деревья решений классифицируют данные, имитируя то, каким образом размышляют люди. В этой статье посмотрим, как строить деревья и использовать их для классификации и прогнозирования данных. Основная цель алгоритма деревьев решений состоит в том, чтобы разделить выборку на данные с "примесями" и на "чистые" или близкие к узлам.
Нейросети — это просто (Часть 30): Генетические алгоритмы
Сегодня я хочу познакомить Вас с немного иным методом обучения. Можно сказать, что он заимствован из теории эволюции Дарвина. Наверное, он менее контролируем в сравнении с рассмотренными ранее методами. Но при этом позволяет обучать и недифференцируемые модели.
Работа с таймсериями в библиотеке DoEasy (Часть 43): Классы объектов индикаторных буферов
В статье рассмотрим создание классов объектов-индикаторных буферов как наследников абстрактного объекта-буфера, упрощающих объявление и работу с индикаторными буферами при создании собственных программ-индикаторов на основе библиотеки DoEasy.
Как построить советник, работающий автоматически (Часть 08): OnTradeTransaction
В этой статье я покажу вам, как использовать систему обработки событий, для быстрой и лучшей обработки вопросов, связанных с системой ордеров, чтобы советник работал быстрее. Таким образом, ему не придется постоянно искать информацию.
Регрессионные модели библиотеки Scikit-learn и их экспорт в ONNX
В данной статье мы рассмотрим применение регрессионных моделей пакета Scikit-learn, попробуем их сконвертировать в ONNX-формат и использовать полученные модели в программах на MQL5. Также мы сравним точность работы оригинальных моделей и их ONNX-версий для float и double. Кроме того, мы рассмотрим ONNX-представление регресионных моделей, это позволит лучше понять их внутреннее устройство и принцип работы.
Адаптивные индикаторы
В этой статье мы рассмотрим несколько возможных подходов к созданию адаптивных индикаторов. Адаптивные индикаторы отличаются наличием обратной связи между значениями входных и выходного сигналов. Эта связь позволяет индикатору самостоятельно подстраиваться на оптимальную обработку значений финансового временного ряда.
Графика в библиотеке DoEasy (Часть 76): Объект Форма и предопределённые цветовые темы
В статье опишем концепцию построения различных тем оформления GUI в библиотеке, создадим объект "Форма", являющийся потомком объекта класса графического элемента, подготовим данные для создания теней графических объектов библиотеки и дальнейшего развития функционала.
Утилита для отбора и навигации на MQL5 и MQL4: добавляем вкладки "домашки" и сохраняем графические объекты
В данной статье мы расширим возможности ранее созданной утилиты, добавив в нее вкладки для отбора нужных нам инструментов. Также мы научимся сохранять графические объекты, которые мы создали на графике определенного инструмента, чтобы постоянно их не создавать повторно. И даже научимся работать только с инструментами, которые были предварительно выбраны с помощью с нужного нам сайта.
Работа с ценами в библиотеке DoEasy (Часть 59): Объект для хранения данных одного тика
С данной статьи приступим к созданию функционала библиотеки для работы с ценовыми данными. Сегодня создадим класс объекта, который будет хранить в себе все данные цен, пришедшие с очередным тиком.
Популяционные алгоритмы оптимизации: Светлячковый алгоритм (Firefly Algorithm - FA)
Рассмотрим метод оптимизации "Поиск с помощью светлячкового алгоритма" (FA). Из аутсайдера путем модификации алгоритм превратился в настоящего лидера рейтинговой таблицы.
Индикатор CCI. Три шага трансформации
В этой статье мы попробуем внести дополнительные изменения в CCI. Эти изменения коснутся самой логики работы этого индикатора. Вплоть до того, что мы сможем увидеть этот индикатор в главном окне графика.
Графика в библиотеке DoEasy (Часть 84): Классы-наследники абстрактного стандартного графического объекта
В статье рассмотрим создание классов-наследников объекта абстрактного стандартного графического объекта терминала. Объект этого класса описывает общие для всех графических объектов свойства. Т.е. это просто некий графический объект. Для уточнения его принадлежности к реальному графическому объекту нам необходимо унаследоваться от него, и в классе объекта-наследника прописать свойства, присущие этому конкретному графическому объекту.