SQLite: нативная работа с базами данных на SQL в MQL5
SQLite: нативная работа с базами данных на SQL в MQL5
Разработка торговых стратегий связана с обработкой больших объемов данных. Теперь прямо в MQL5 вы можете работать с базами данных с помощью SQL-запросов на основе SQLite. Важным преимуществом данного движка является то, что вся база данных содержится в единственном файле, который находится на компьютере пользователя.
Практическое применение нейросетей в трейдинге. Переходим к практике
Практическое применение нейросетей в трейдинге. Переходим к практике
В статье даны описание и инструкция по практическому применению нейросетевых модулей на платформе Matlab. Также затронуты основные аспекты построения системы торговли с использованием НСМ. Для ознакомления с комплексом в рамках сжатого изложения для данной статьи мне пришлось его несколько модернизировать таким образом, чтобы в одной программе совместить несколько функций НСМ.
Параллельная оптимизация методом роя частиц (Particle Swarm Optimization)
Параллельная оптимизация методом роя частиц (Particle Swarm Optimization)
В статье описан способ быстрой оптимизиции методом роя частиц, представлена его реализация на MQL, готовая к применению как в однопоточном режиме внутри эксперта, так и в параллельном многопоточном режиме в качестве надстройки, выполняющейся на локальных агентах тестера.
Математика в трейдинге: Коэффициенты Шарпа и Сортино
Математика в трейдинге: Коэффициенты Шарпа и Сортино
Доходность является самым очевидным показателем, который используют инвесторы и начинающие трейдеры для анализа эффективности торговли. Профессиональные трейдеры пользуются более надежными инструментами для анализа стратегии, среди них — коэффициенты Шарпа и Сортино.
Набор инструментов для ручной разметки графиков и торговли (Часть II). Рисование разметки
Набор инструментов для ручной разметки графиков и торговли (Часть II). Рисование разметки
Статья продолжает цикл, в котором я показываю, как создавал удобную для меня библиотеку для ручной разметки графиков с помощью сочетаний клавиш. Разметка происходит прямыми линиями и их комбинациями. В этой части рассказано непосредственно о самом рисовании с помощью функций, описанных в первой части. Библиотеку можно подключить к любому эксперту или индикатору, существенно облегчив себе задачи разметки. Данное решение НЕ ИСПОЛЬЗУЕТ внешних dll, все команды реализованы с помощью встроенных средств языка MQL.
Машинное обучение в торговых системах на сетке и мартингейле. Есть ли рыба?
Машинное обучение в торговых системах на сетке и мартингейле. Есть ли рыба?
Данная статья познакомит читателя с техникой машинного обучения для торговли сеткой и мартингейлом. К моему удивлению, такой подход по каким-то причинам совершенно не затронут в глобальной сети. Прочитав статью, вы сможете создавать своих собственных ботов.
Комбинаторика и теория вероятностей для трейдинга (Часть I): Основы
Комбинаторика и теория вероятностей для трейдинга (Часть I): Основы
В данной серии статей будем искать практическое применение теории вероятностей для описания процесса торговли и ценообразования. В первой статье мы познакомимся с основами комбинаторики и теории вероятностей, и разберем первый пример применения фракталов в рамках теории вероятности.
Комбинаторика и теория вероятностей для трейдинга (Часть V): Анализ кривых
Комбинаторика и теория вероятностей для трейдинга (Часть V): Анализ кривых
В данной статье я решил провести исследование на тему сведения множественных состояний к двойным. Основная цель — это анализ и полезные выводы, которые могут помочь в дальнейшей разработке масштабируемых торговых алгоритмов на базе теории вероятностей. Конечно, не обошлось и без математики, но учитывая опыт предыдущих статей, вижу, что более общая информация гораздо полезнее деталей.
Визуальная оценка результатов оптимизации
Визуальная оценка результатов оптимизации
Разговор в этой статье пойдёт о том, как построить графики всех проходов оптимизации и подобрать оптимальный пользовательский критерий. А также о том, как, имея минимальные знания в MQL5 и большое желание, используя статьи сайта и комментарии на форуме, написать то, что хочется.
Советы профессионального программиста (Часть III): Логирование. Подключение к системе сбора и анализа логов Seq
Советы профессионального программиста (Часть III): Логирование. Подключение к системе сбора и анализа логов Seq
Реализация класса Logger для унификации (структурирования) сообщений, выводимых в журнал эксперта. Подключение к системе сбора и анализа логов Seq. Наблюдение за сообщениями в онлайн режиме.
Градиентный бустинг в задачах трансдуктивного и активного машинного обучения
Градиентный бустинг в задачах трансдуктивного и активного машинного обучения
В данной статье вы познакомитесь с методами активного машинного обучения на реальных данных, узнаете какие плюсы и минусы они имеют. Возможно, эти методы займут свое место в вашем арсенале моделей машинного обучения. Термин трансдукции был введен Владимиром Наумовичем Вапником, изобретателем машины опорных векторов или SVM (support vector machine).
Поиск сезонных закономерностей на валютном рынке с помощью алгоритма CatBoost
Поиск сезонных закономерностей на валютном рынке с помощью алгоритма CatBoost
В статье показана возможность создания моделей машинного обучения с временными фильтрами и раскрыта эффективность такого подхода. Теперь можно исключить человеческий фактор, просто сказав модели: "Хочу, чтобы ты торговала в определенный час определенного дня недели". А поиск закономерностей возложить на плечи алгоритма.
Непрерывная скользящая оптимизация (Часть 3): Способ адаптации робота к автооптимизатору
Непрерывная скользящая оптимизация (Часть 3): Способ адаптации робота к автооптимизатору
Третья статья служит неким мостом между двумя предыдущими, в ней освещается механизм взаимодействия с DLL, написанной в первой статье, и объектами для выгрузки из второй статьи. Показывается процесс создания обертки для класса, который импортируется из DLL и формирует XML-файл с историей торгов, а также способ взаимодействии с данной оберткой.
Непрерывная скользящая оптимизация (Часть 2): Механизм создания отчета оптимизации для любого робота
Непрерывная скользящая оптимизация (Часть 2): Механизм создания отчета оптимизации для любого робота
Если прошлая статья повествовала о создании DLL-библиотеки, которая будет использоваться в нашем автооптимизаторе и в роботе, то продолжение будет целиком посвящено языку MQL5.
Непрерывная скользящая оптимизация (Часть 1): Механизм работы с отчетами оптимизации
Непрерывная скользящая оптимизация (Часть 1): Механизм работы с отчетами оптимизации
Первая часть статьи посвящена созданию инструментария для работы с отчетностью оптимизации, ее импорта из терминала, а также процессам фильтрации и сортировки полученных данных. MetaTrader 5 позволяет выгружать отчет проходов оптимизаций, но хотелось бы иметь возможность добавления в отчет собственных данных.
Брутфорс-подход к поиску закономерностей (Часть III): Новые горизонты
Брутфорс-подход к поиску закономерностей (Часть III): Новые горизонты
Данная статья продолжает тему брутфорса, привнося в алгоритм моей программы новые возможности по анализу рынка, тем самым ускоряя скорость анализа и качество итоговых результатов, что обеспечивает максимально качественный взгляд на глобальные закономерности в рамках данного подхода.
Брутфорс-подход к поиску закономерностей (Часть II): Погружение
Брутфорс-подход к поиску закономерностей (Часть II): Погружение
В данной статье я продолжу тему брутфорс-подхода. Постараюсь более качественно осветить закономерности с помощью новой улучшенной версии своей программы и постараюсь найти разницу в стабильности используя разные временные отрезки и разные таймфреймы котировок.
Брутфорс-подход к поиску закономерностей
Брутфорс-подход к поиску закономерностей
В данной статье мы будем искать закономерности на рынке, создавать советников на их основе и проверять, как долго эти закономерности сохраняют работоспособность и вообще, сохраняют ли они ее.
Нейросети — это просто (Часть 9): Документируем проделанную работу
Нейросети — это просто (Часть 9): Документируем проделанную работу
Мы уже проделали довольно большой путь, и код нашей библиотеке сильно разрастается. Становится сложно отслеживать все связи и зависимости. И конечно, перед продолжением развития проекта нам нужно задокументировать уже проделанную работу и актуализировать документацию на каждом последующем шаге. Правильно подготовленная документация поможет нам увидеть целостность нашей работы.
Нейросети — это просто (Часть 17): Понижение размерности
Нейросети — это просто (Часть 17): Понижение размерности
Мы продолжаем рассмотрение моделей искусственного интеллекта. И, в частности, алгоритмов обучения без учителя. Мы уже познакомились с одним из алгоритмов кластеризации. А в этой статье я хочу поделиться с Вами вариантом решения задач понижения размерности.
Нейросети — это просто (Часть 16): Практическое использование кластеризации
Нейросети — это просто (Часть 16): Практическое использование кластеризации
В предыдущей статье мы построили класс для кластеризации данных. В этой статье я хочу с вами поделиться вариантами возможного использования полученных результатов для решения практических задач трейдинга.
Нейросети — это просто (Часть 15): Кластеризации данных средствами MQL5
Нейросети — это просто (Часть 15): Кластеризации данных средствами MQL5
Продолжаем рассмотрение метода кластеризации. В данной статье мы создадим новый класс CKmeans для реализации одного из наиболее распространённых методов кластеризации k-средних. По результатам тестирования модель смогла выделить около 500 паттернов.
Нейросети — это просто (Часть 14): Кластеризация данных
Нейросети — это просто (Часть 14): Кластеризация данных
Должен признаться, что с момента публикации последней статьи прошло уже больше года. За столь длительное время можно многое переосмыслить, выработать новые подходы. И в новой статье я хотел бы немного отойти от используемого ранее метода обучения с учителем, и предложить немного окунуться в алгоритмы обучения без учителя. И, в частности, рассмотреть один из алгоритмов кластеризации — k-средних.
Нейросети — это просто (Часть 11): Вариации на тему GPT
Нейросети — это просто (Часть 11): Вариации на тему GPT
Сегодня, наверное, одной из самых передовых языковых моделей нейросетей является GPT-3, которая в максимальном своем варианте содержит 175 млрд. параметров. Конечно, мы не будем создавать подобного монстра в домашних условиях. Но давайте посмотрим, какие архитектурные решения мы можем использовать в своей работе и какие это нам даст преимущества.
Машинное обучение и Data Science (Часть 05): Деревья решений на примере погодных условий для игры в теннис
Машинное обучение и Data Science (Часть 05): Деревья решений на примере погодных условий для игры в теннис
Деревья решений классифицируют данные, имитируя то, каким образом размышляют люди. В этой статье посмотрим, как строить деревья и использовать их для классификации и прогнозирования данных. Основная цель алгоритма деревьев решений состоит в том, чтобы разделить выборку на данные с "примесями" и на "чистые" или близкие к узлам.
Машинное обучение и Data Science (Часть 06): Градиентный спуск
Машинное обучение и Data Science (Часть 06): Градиентный спуск
Градиентный спуск играет важную роль в обучении нейронных сетей и различных алгоритмов машинного обучения — это быстрый и умный алгоритм. Однако несмотря на его впечатляющую работу, многие специалисты по данным все еще неправильно его понимают. Давайте в этой статье посмотрим, о чем идет речь.
Машинное обучение и Data Science (Часть 04): Предсказание биржевого краха
Машинное обучение и Data Science (Часть 04): Предсказание биржевого краха
В этой статье я попытаюсь использовать нашу логистическую модель, чтобы спрогнозировать крах фондового рынка на основе главнейших акций для экономики США: NETFLIX и APPLE. Мы проанализируем эти акции, будем использовать информацию о предыдущих падениях рынка 2019 и 2020 годов. Посмотрим, как наша модель будет работать в нынешних мрачных условиях.
Машинное обучение и Data Science (Часть 03): Матричная регрессия
Машинное обучение и Data Science (Часть 03): Матричная регрессия
В этот раз мы будем создавать модели с помощью матриц — они дают большую гибкость и позволяют создавать мощные модели, которые могут обрабатывать не только пять независимых переменных, но и множество других, насколько позволяют пределы вычислительных возможностей компьютера. Статья будет очень интересной, это точно.
Машинное обучение и Data Science (Часть 02): Логистическая регрессия
Машинное обучение и Data Science (Часть 02): Логистическая регрессия
Классификация данных — важнейшая вещь для алготрейдера и программиста. В этой статье мы рассмотрим в подробностях один из классификационных логистических алгоритмов, который может помочь нам определить «да» или «нет», рост или падение, покупки или продажи.
Машинное обучение и Data Science (Часть 01): Линейная регрессия
Машинное обучение и Data Science (Часть 01): Линейная регрессия
Пришло время нам, трейдерам, обучить наши системы и научиться самим принимать решения, основываясь на том, что показывают цифры. Не визуальным и не интуитивным путем, которым движется весь мир. Мы пойдем перпендикулярно общему направлению.
Глубокие нейросети (Часть III). Выбор примеров и уменьшение размерности
Глубокие нейросети (Часть III). Выбор примеров и уменьшение размерности
Эта статья продолжает серию публикаций о глубоких нейросетях. Рассматривается выбор примеров (удаление шумовых), уменьшение размерности входных данных и разделение набора на train/val/test в процессе подготовки данных для обучения.
Глубокие нейросети (Часть I). Подготовка данных
Глубокие нейросети (Часть I). Подготовка данных
Эта серия статей продолжает и развивает тему глубоких нейросетей (DNN), которые в последнее время вошли во многие прикладные области, включая трейдинг. Рассматриваются новые направления темы, на практических экспериментах проверяются новые методы и идеи. Первая статья серии посвящена подготовке данных для DNN.
Возможности Мастера MQL5, которые вам нужно знать (Часть 1): Регрессионный анализ
Возможности Мастера MQL5, которые вам нужно знать (Часть 1): Регрессионный анализ
Современный трейдер почти всегда сознательно или бессознательно находится в поиске новых идей. Он постоянно пробует новые стратегии, модифицирует их и отбрасывает те, что не оправдали себя. Этот исследовательский процесс требует много времени и сопряжен с ошибками. В этой серии статей я постараюсь доказать, что Мастер MQL5 является настоящей опорой трейдера. Благодаря Мастеру, трейдер экономит время при реализации своих идей. Кроме того, снижается вероятность ошибок, возникающих при дублировании кода. Вместо того чтобы тратить время на оформление кода, трейдеры претворяют в жизнь свою торговую философию.
Разработка торгового советника с нуля (Часть 15): Доступ к данным в Интернете (I)
Разработка торгового советника с нуля (Часть 15): Доступ к данным в Интернете (I)
Как получить доступ к данным в Интернете в MetaTrader 5. В Интернете у нас есть различные сайты и места, с огромным количеством информации, доступной для тех, кто знает, где искать и как лучше всего использовать эту информацию.