Роль статистических распределений в работе трейдера
Данная статья является логическим продолжением моей статьи "Статистические распределения вероятностей в MQL5", в которой были представлены классы для работы с некоторыми статистическими теоретическими распределениями. Теперь, когда есть теоретическая база, я предлагаю непосредственно перейти к выборкам реальных данных и попробовать получить информационную пользу от этой базы.
Биржевая сеточная торговля лимитными ордерами на полном автомате на Московской бирже MOEX
Разработка торгового советника на языке торговых стратегий MQL5 для MetaTrader 5 Московской биржи MOEX. Советник будет торговать по сеточной стратегии на терминале MetaTrader 5 на рынках Московской биржи MOEX, которая также включает в себя закрытие позиции по стоп-лоссу или тейк-профиту, удаление отложенных ордеров при наступлении определенных рыночных условий.
Графические интерфейсы X: Выделение текста в многострочном поле ввода (build 13)
В этой статье будет реализована возможность выделения текста с помощью различных клавишных комбинаций и удаление выделенного текста, по образцу того, как это сделано в любом другом текстовом редакторе. Кроме этого, продолжим оптимизировать код и подготовим классы для перехода к завершающему процессу второго этапа развития библиотеки, когда все элементы управления будут нарисованными на отдельных картинках (холстах для рисования).
Пошаговая инструкция для торговли по стратегии Break of Structure (BoS)
Подробное руководство по разработке автоматизированного торгового алгоритма на основе стратегии Break of Structure (BoS, прорыв структуры). Дана подробная информация по всем аспектам создания советника на MQL5 и его тестирования в MetaTrader 5 — от анализа ценовых уровней поддержки и сопротивления до управления рисками
Кроссплатформенный торговый советник: Классы CExpertAdvisor и CExpertAdvisors
В заключительной статье серии о кроссплатформенном торговом советнике речь пойдет о классах CExpertAdvisor и CExpertAdvisors, которые служат контейнерами для всех ранее описанных компонентов эксперта. Также рассмотрена реализация отслеживания новых баров и сохранения данных.
Улучшение распознавания свечных паттернов на примере Доджи
Как находить свечные паттерны чаще, чем обычно. За простотой свечных паттернов скрывается и серьезный недостаток, который как раз можно устранить, используя существенно выросшие возможности современных средств автоматизации трейдинга.
Работаем с результатами оптимизации через графический интерфейс
Продолжаем развивать тему обработки и анализа результатов оптимизации. На этот раз задача состоит в том, чтобы выбрать 100 лучших результатов оптимизации и отобразить их в таблице графического интерфейса. Сделаем так, чтобы пользователь, выделяя ряд в таблице результатов оптимизации, получал мультисимвольный график баланса и просадки на отдельных графиках.
Создание интерактивного советника для полуавтоматической торговли с заданным риском
Некоторые трейдеры используют автоматизированные системы торговли, другие совмещают автоматическую торговлю с ручной, основанной на показаниях нескольких индикаторов. Я принадлежу ко второй группе, поэтому возникла необходимость в интерактивном инструменте для динамической оценки рисков и ценовых уровней непосредственно с графика. В данной статье мы представим способ реализации интерактивного советника для полуавтоматической торговли с заданным уровнем соотношения прибыль/риск (Reward/Risk ratio).
Рецепты MQL5 - Элементы управления в подокне индикатора - Полоса прокрутки
Продолжим изучение элементов управления и на этот раз рассмотрим полосу прокрутки (scrollbar). Так же, как и в предыдущей статье "Рецепты MQL5 - Элементы управления в подокне индикатора - Кнопки", будем работать в подокне индикатора. Упомянутую статью необходимо изучить, так как в ней подробно изложена работа с событиями в функции OnChartEvent(), а здесь о них будет только поверхностное упоминание. В этой статье в качестве примера мы создадим вертикальную полосу прокрутки для большого списка всех показателей финансового инструмента, которые возможно получить средствами MQL5.
MetaTrader 5: Публикация торговых прогнозов и отчетов реальной торговли по e-mail в блогах, социальных сетях и специализированных сайтах
Цель данной статьи - представить готовые решения для публикации прогнозов с использованием MetaTrader 5. Рассмотрен ряд идей: от использования специализированных сайтов для публикации торговых отчетов до создания своего собственного блога и финальной интеграции с социальными микроблогами, которые позволяют объединить множество трейдеров, использующих прогнозы. Все представленные здесь решения на 100% бесплатные и могут быть использованы всеми, кто знаком с базовыми понятиями почтовых и ftp-сервисов. Данные методы могут быть легко использованы и в коммерческих сервисах по предоставлению торговых прогнозов.
Вычисление математических выражений (Часть 1). Парсеры рекурсивного спуска
В статье рассматриваются базовые принципы разбора и вычисления математических выражений, реализованы парсеры рекурсивного спуска, работающие в режимах интерпретатора и быстрых расчетов на основе предварительно построенного синтаксического дерева.
Объектно-ориентированный подход к построению мультитаймфреймовых и мультивалютных панелей
В статье рассказывается об использовании объектно-ориентированного подхода для разработки для создания мультитаймфреймовых и мультивалютных панелей в MetaTrader 5. Основной целью является построение универсальной панели, которая может быть использована для отображения различных типов данных (цены, их изменения, значения индикаторов или текущее состояние условий на покупку и продажу) без изменения кода самой панели.
Горизонтальные диаграммы на графиках MеtaTrader 5
Задачи по отрисовке горизонтальных диаграмм на графике терминала не часто, но встречаются разработчику. Что это за задачи? Это индикаторы распределения объемов за какой то определенный период. Задачи по распределению цены, различные стаканы и т.п. В статье рассмотрены вопросы создания и управления горизонтальными диаграммами на графиках, как массивами графических примитивов.
Применение OLAP в трейдинге (Часть 1): Основы оперативного анализа многомерных данных
В статье описываются общие принципы построения фреймворка для оперативного анализа многомерных данных (OLAP), его реализация на MQL и применение в среде MetaTrader на примере обработки торговой истории счета.
Моделирование временных рядов с помощью пользовательских символов по заданным законам распределения
В статье приводится обзор возможностей терминала по созданию и работе с пользовательскими символами, предлагаются варианты моделирования торговой истории c помощью пользовательских символов, тренда и различных графических паттернов.
Кроссплатформенный торговый советник: Ордера
MetaTrader 4 и MetaTrader 5 используют различные правила обработки торговых запросов. В этой статье обсуждается возможность использования объекта класса, который представляет сделки для обработки сервером, чтобы в дальнейшем советник мог работать с ними независимо от версии торговой платформы и используемого режима.
Индикатор для построения графика "шпинделей" (веретён)
Статья рассматривает построение графика "шпинделей" (spindles) или, как их еще называют, "веретён", его использование в торговых стратегиях и советниках. Вначале обсудим появление графика, его построение и связь с графиком японских свечей. Далее проанализируем реализацию индикатора в программном коде на языке MQL5. Протестируем основанный на индикаторе эксперт и сформулируем торговую стратегию.
Графические интерфейсы X: Алгоритм переноса слов в многострочном поле ввода (build 12)
Продолжим развивать элемент "Многострочное поле ввода". Наша задача на этот раз — сделать автоматический перенос слов на следующую строку в случае переполнения по ширине поля ввода или же обратный перенос на предыдущую строку, если появляется такая возможность.
Оптимизировать оптимизацию: несколько простых идей
Процесс оптимизации может потребовать существенные ресурсы вашего компьютера или даже тестерных агентов MQL5 Cloud Network. В этой статье описываются некоторые несложные идеи, которые я использую на практике для облегчения работы или усовершенствования тестера стратегий платформы MetaTrader 5. Эти идеи я подчерпнул из прочитанной документации, форума и статей.
Инструментарий для быстрой ручной торговли: Базовый функционал
На текущий момент всё больше трейдеров переходят на автоматические системы торговли, которые либо требуют начальную настройку, либо часть из них уже полностью автоматизированы. Тем не менее остается немалая часть трейдеров, которые торгуют руками по старинке. В данной статье создадим набор инструментов для быстрой ручной торговли с помощью горячих клавиш и выполнения типичных торговых действий в один клик.
Методы Уильяма Ганна (Часть II): Создаем индикатор квадрата Ганна
Пробуем создать индикатор на основе квадрата 9 Ганна, построенного по квадрированию времени и цены. Напишем код и протестируем индикатор в платформе на разных временных промежутках.
Графические интерфейсы VIII: Элемент "Календарь" (Глава 1)
В восьмой части серии о создании графических интерфейсов в среде торговых терминалов MetaTrader мы рассмотрим сложные составные элементы управления: календари, древовидный список, файловый навигатор. Каждому из этих элементов будут посвящены отдельные статьи, поскольку материал довольно объемный. Итак, в первой главе этой части описывается элемент "Календарь" и его расширенная версия — "Выпадающий календарь".
Визуализируем оптимизацию торговой стратегии в MetaTrader 5
В статье реализовано MQL-приложение с графическим интерфейсом для расширенной визуализации процесса оптимизации. Графический интерфейс создан с помощью последней версии библиотеки EasyAndFast. У многих пользователей возникает вопрос, зачем нужны графические интерфейсы в MQL-приложениях. В настоящей статье продемонстрирован один из множества случаев, когда они могут быть полезными для трейдеров.
Машинное обучение и Data Science (Часть 07): Полиномиальная регрессия
Полиномиальная регрессия — это гибкая модель, предназначенная для эффективного решения задач, с которыми не справляется модель линейной регрессии. В этой статье узнаем, как создавать полиномиальные модели на MQL5 и извлекать из них выгоду.
Технический анализ: Как мы анализируем?
Данная статья в краткой форме отражает отношение автора к таким явлениям, как перерисовывающие индикаторы, индикаторы Multi-timeframe и представление котировок при помощи японских свечей. Техника программирования в статье не затрагивается, статья носит общий характер.
Применение контейнеров для компоновки графического интерфейса: класс CGrid
В данной статье описан альтернативный метод создания графического интерфейса на основе компоновки и контейнеров при помощи менеджера компоновки — класса CGrid. Класс CGrid представляет собой вспомогательный элемент управления, который действует как контейнер для других контейнеров и элементов управления с применением табличной компоновки.
Продвинутый ресемплинг и выбор CatBoost моделей брутфорс методом
В данной статье описан один из возможных подходов к трансформации данных для улучшения обобщающей способности модели, а также рассмотрен перебор моделей CatBoost и выбор лучшей из них.
Применение OLAP в трейдинге (Часть 2): Визуализация результатов интерактивного анализа многомерных данных
В статье рассматриваются различные аспекты создания интерактивного графического интерфейса MQL-программы, предназначенной для OLAP-обработки истории счета и торговых отчетов. Для получения наглядного результата используются максимизируемые и масштабируемые окна, адаптивная раскладка "резиновых" элементов управления, новый "контрол" для вывода диаграмм. На основе этого реализован GUI с выбором показателей по координатным осям, агрегатных функций, типов графиков и сортировок.
Машинное обучение и Data Science (Часть 06): Градиентный спуск
Градиентный спуск играет важную роль в обучении нейронных сетей и различных алгоритмов машинного обучения — это быстрый и умный алгоритм. Однако несмотря на его впечатляющую работу, многие специалисты по данным все еще неправильно его понимают. Давайте в этой статье посмотрим, о чем идет речь.
Регрессионный анализ влияния макроэкономических данных на изменение цен валют
В статье рассмотрен вопрос применения множественного регрессионного анализа к данным макроэкономической статистики и анализ влияния этих данных на изменение курса валют на примере пары EURUSD. Применение такого анализа позволяет автоматизировать проведение фундаментального анализа, который становится доступным практически каждому, даже начинающим трейдерам.
Изучаем индикатор рыночного профиля — Market Profile: Что это и как устроен?
Сегодня познакомимся с "Профилем рынка". Узнаем что лежит за этим названием, попробуем разобраться в принципах работы с Профилем и рассмотрим представленную в терминале его версию под названием MarketProfile.
Универсальный торговый эксперт: Доступ к свойствам инструмента (часть 8)
Восьмая часть статьи посвящена описанию класса CSymbol — специального объекта, предоставляющего доступ к произвольному торговому инструменту. Включенный в торговый эксперт, этот класс предоставляет богатый набор свойств произвольного инструмента, делая программирование экспертов еще проще и многофункциональней.
Прогнозирование временных рядов с использованием нейронных сетей LSTM: Нормализация цены и токенизация времени
В статье описывается простая стратегия нормализации рыночных данных с использованием дневного диапазона и обучения нейронной сети для улучшения рыночных прогнозов. Разработанные модели могут использоваться совместно с существующими системами технического анализа или отдельно для прогнозирования общего направления рынка. Структура, изложенная в этой статье, может быть дополнительно усовершенствована техническим аналитиком для разработки моделей, подходящих как для ручных, так и для автоматизированных торговых стратегий.
Визуализация результатов оптимизации по выбранному критерию
В статье мы продолжаем развивать MQL-приложение для работы с результатами оптимизации, которая начата в предыдущих статьях. На этот раз будет показан пример, когда таблицу лучших результатов можно сформировать уже после оптимизации параметров, указав через графический интерфейс другой критерий.
Машинное обучение и Data Science — Нейросети (Часть 01): Разбираем нейронные сети с прямой связью
Многие любят, но немногие понимают все операции, лежащие в основе нейронных сетей. В этой статье я постараюсь простым языком объяснить все, что происходит за закрытыми дверями многоуровневого перцептрона с прямой связью Feed Forward.
Применение теории вероятностей на примере торговли на гэпах
Применяем методы теории вероятностей и математической статистики в процессе создания и тестирования торговых стратегий. Используя отличия цены от случайного блуждания, ищем оптимальное значение для риска в сделке. Доказано, что если цены ведут себя как случайное блуждание без сноса (отсутствие направленного тренда), то прибыльная торговля невозможна.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XX): Создание и хранение ресурсов программы
В статье рассмотрим способ хранения данных в исходниках программы и создание из них звуковых и графических файлов. Часто при создании программы, нам требуется использовать звуки и изображения. В языке MQL есть несколько возможностей использования таких данных.
Преимущества MQL5 Сигналов
Недавно появившийся в MetaTrader 5 сервис «Торговые сигналы» позволил трейдерам копировать торговые операции любого поставщика сигналов. Пользователь выбирает понравившийся ему сигнал, подписывается на него, и все сделки теперь повторяются на его счете. Не остается внакладе и поставщик, ведь он может установить свою цену на подписку и получать ежемесячно фиксированную плату со своих клиентов.
Советы профессионального программиста (Часть I): Хранение, отладка и компиляция кодов. Работа с проектами и логами
Советы профессионального программиста о методах, приемах и вспомогательных инструментах, облегчающих программирование.
Работаем со временем (Часть 1): Основные принципы
Рассмотренные в статье функции и код помогут лучше понять принципы обработки времени, смещение времени брокера и перехода на летнее или зимнее время. Точная работа со временем — очень важный аспект трейдинга. Лондонская или нью-йоркская биржа уже открылась или еще нет? Когда начинается и заканчивается торговая сессия на форексе?