Статьи по программированию на языке MQL5

icon

Изучайте язык программирования торговых стратегий MQL5 по опубликованным здесь статьям, большая часть которых написана вами - членами сообщества. Все статьи разделены на категории для быстрого поиска ответа по тому или иному аспекту программирования: "Интеграция", "Тестер", "Торговые стратегии" и многое другое.

Следите за новыми публикациями и участвуйте в их обсуждении на форуме!

Новая статья
последние | лучшие
preview
Как построить советник, работающий автоматически (Часть 13): Автоматизация (V)

Как построить советник, работающий автоматически (Часть 13): Автоматизация (V)

Знаете ли вы, что такое блок-схема? Умеете ли вы ее использовать? Думаете ли вы, что блок-схемы - это дело начинающих программистов? Тогда я вам предлагаю ознакомиться с этой статьей и узнать, как работать с блок-схемами.
preview
Нейросети — это просто (Часть 52): Исследование с оптимизмом и коррекцией распределения

Нейросети — это просто (Часть 52): Исследование с оптимизмом и коррекцией распределения

По мере обучения модели на базе буфера воспроизведения опыта текущая политика Актера все больше отдаляется от сохраненных примеров, что снижает эффективность обучения модели в целом. В данной статье мы рассмотрим алгоритм повышения эффективности использования образцов в алгоритмах обучения с подкреплением.
preview
Машинное обучение в однонаправленной трендовой торговле на примере золота

Машинное обучение в однонаправленной трендовой торговле на примере золота

В данной статье рассматривается подход к торговле только в выбранном направлении (на покупку или на продажу). Для этого используется техника причинно-следственного вывода и машинное обучение.
preview
Создание самооптимизирующихся советников на MQL5

Создание самооптимизирующихся советников на MQL5

Создавайте советников, которые адаптируются к любому рынку.
preview
Разрабатываем мультивалютный советник (Часть 7): Подбор группы с учётом форвард-периода

Разрабатываем мультивалютный советник (Часть 7): Подбор группы с учётом форвард-периода

Подбор группы экземпляров торговых стратегий с целью улучшения результатов при их совместной работы мы прежде оценивали только на том же временном периоде, на котором проводилась оптимизация отдельных экземпляров. Давайте посмотрим, что получится на форвард-периоде.
preview
Нейросети — это просто (Часть 65): Дистанционно-взвешенное обучение с учителем (DWSL)

Нейросети — это просто (Часть 65): Дистанционно-взвешенное обучение с учителем (DWSL)

В данной статье я предлагаю Вам познакомиться с интересным алгоритмом, который построен на стыке методов обучения с учителем и подкреплением.
preview
Нейросети — это просто (Часть 87): Сегментация временных рядов

Нейросети — это просто (Часть 87): Сегментация временных рядов

Прогнозирование играет важную роль в анализе временных рядов. В новой статье мы поговорим о преимуществах сегментации временных рядов.
preview
Критерии тренда в трейдинге

Критерии тренда в трейдинге

Тренды являются важной частью многих торговых стратегий. В этой статье мы рассмотрим некоторые инструменты, используемые для определения трендов и их характеристик. Понимание и правильная интерпретация трендов могут значительно повысить эффективность трейдинга и минимизировать риски.
preview
Нейросети — это просто (Часть 88): Полносвязный Энкодер временных рядов (TiDE)

Нейросети — это просто (Часть 88): Полносвязный Энкодер временных рядов (TiDE)

Желание получить наиболее точные прогнозы толкает исследователей к усложнению моделей прогнозирования. Что в свою очередь ведет к увеличению затрат на обучение и обслуживание модели. Но всегда ли это оправдано? В данной статье я предлагаю вам познакомиться с алгоритмом, который использует простоту и скорость линейных моделей и демонстрирует результаты на уровне лучших с более сложной архитектурой.
preview
Введение в MQL5 (Часть 2): Предопределенные переменные, общие функции и операторы потока управления

Введение в MQL5 (Часть 2): Предопределенные переменные, общие функции и операторы потока управления

В этой статье мы продолжаем знакомиться с языком программирования MQL5. Данная серия статей — не просто учебный материал пособия, это двери в мир программирования. Что делает их особенными? Я постарался в объяснениях сохранять простоту изложения, чтобы сделать сложные концепции доступными для всех. При всей доступности материала, для наилучшего результата вам нужно активно воспроизводить все, о чем мы будем говорить. Только в этом случае вы получите максимальную выгоду от данных статей.
preview
Разрабатываем мультивалютный советник (Часть 16): Влияние разных историй котировок на результаты тестирования

Разрабатываем мультивалютный советник (Часть 16): Влияние разных историй котировок на результаты тестирования

Разрабатываемый советник должен показывать хорошие результаты при торговле у разных брокеров. Но мы пока что для тестов использовали котировки с демо-счёта от MetaQuotes. Посмотрим, готов ли наш советник к работе на торговом счёте с другими котировками по сравнению с теми, которые использовались при тестировании и оптимизации.
preview
Торговля спредами на рынке форекс с использованием фактора сезонности

Торговля спредами на рынке форекс с использованием фактора сезонности

В статье рассматриваются возможности формирования и предоставления отчетных данных по использованию фактора сезонности при торговле спредами на рынке форекс.
preview
Возможности SQLite в MQL5: Пример интерактивной панели с торговой статистикой в разрезе символов и магиков

Возможности SQLite в MQL5: Пример интерактивной панели с торговой статистикой в разрезе символов и магиков

В статье рассмотрим создание индикатора, отображающего на интерактивной панели статистику торговли по счёту и в разрезе символов и торговых стратегий. Код напишем, основываясь на примерах из Документации и статьи о работе с базами данных.
preview
Циклы и Forex

Циклы и Forex

Циклы имеют большое значение в нашей жизни. День и ночь, времена года, дни недели и множество других циклов разного характера и разной природы присутствуют в жизни любого человека. В этой статье мы попробуем рассмотреть циклы на финансовых рынках.
preview
Представления частотной области временных рядов: Спектральная функция

Представления частотной области временных рядов: Спектральная функция

В этой статье мы рассмотрим методы, связанные с анализом временных рядов в частотной области. Также будет уделено внимание пользе изучения спектральных функций временных рядов при построении прогностических моделей. Кроме того, мы обсудим некоторые многообещающие перспективы анализа временных рядов в частотной области с использованием дискретного преобразования Фурье (ДПФ).
preview
Как опередить любой рынок (Часть II): Прогнозирование технических индикаторов

Как опередить любой рынок (Часть II): Прогнозирование технических индикаторов

Знаете ли вы, что можно добиться большей точности, прогнозируя определенные технические индикаторы, чем саму цену торгуемого символа? В статье рассматривается, как использовать это знание для разработки более эффективных торговых стратегий.
preview
Разработка торгового советника с нуля (Часть 28): Навстречу будущему (III)

Разработка торгового советника с нуля (Часть 28): Навстречу будущему (III)

Наша система ордеров по-прежнему не справляется с одной задачей, но мы, НАКОНЕЦ, разберемся с этим. На платформе MetaTrader 5 есть система тикетов, которая позволяет нам создавать или корректировать значения ордеров. Кстати, идея состоит в том, чтобы иметь советника, который поможет нам сделать ту же систему тикетов быстрее и эффективнее.
preview
Нейросети — это просто (Часть 47): Непрерывное пространство действий

Нейросети — это просто (Часть 47): Непрерывное пространство действий

В данной статье мы расширяем спектр задач нашего агента. В процесс обучения будут включены некоторые аспекты мани- и риск-менеджмента, которые являются неотъемлемой частью любой торговой стратегии.
preview
Алгоритм поиска в окрестности — Across Neighbourhood Search (ANS)

Алгоритм поиска в окрестности — Across Neighbourhood Search (ANS)

Статья раскрывает потенциал алгоритма ANS, как важного шага в развитии гибких и интеллектуальных методов оптимизации, способных учитывать специфику задачи и динамику окружающей среды в пространстве поиска.
preview
Нейросети — это просто (Часть 72): Прогнозирование траекторий в условиях наличия шума

Нейросети — это просто (Часть 72): Прогнозирование траекторий в условиях наличия шума

Качество прогнозирование будущих состояний играет важную роль в метода Goal-Conditioned Predictive Coding, с которым мы познакомились в предыдущей статье. В данной статье я хочу познакомить Вас с алгоритмом, способным значительно повысить качество прогнозирования в стохастических средах, к которым можно отнести и финансовые рынки.
preview
Нейросети — это просто (Часть 44): Изучение навыков с учетом динамики

Нейросети — это просто (Часть 44): Изучение навыков с учетом динамики

В предыдущей статье мы познакомились с методом DIAYN, который предлагает алгоритм изучения разнообразных навыков. Использование полученных навыкает может быть использовано различных задач. Но подобные навыки могут быть довольно непредсказуемы, что может осложнить из использование. В данной статье мы рассмотрим алгоритм обучения предсказуемых навыков.
preview
DoEasy. Сервисные функции (Часть 2): Паттерн "Внутренний бар"

DoEasy. Сервисные функции (Часть 2): Паттерн "Внутренний бар"

В статье продолжим рассматривать ценовые паттерны в библиотеке DoEasy. Создадим класс паттерна "Внутренний бар" формаций Price Action.
preview
Популяционные алгоритмы оптимизации: Электромагнитный алгоритм (ElectroMagnetism-like algorithm, ЕМ)

Популяционные алгоритмы оптимизации: Электромагнитный алгоритм (ElectroMagnetism-like algorithm, ЕМ)

Статья описывает принципы, методы и возможности применения Электромагнитного алгоритма EM в различных задачах оптимизации. EM-алгоритм является эффективным инструментом оптимизации, способным работать с большими объемами данных и многомерными функциями.
preview
Разрабатываем мультивалютный советник (Часть 6): Автоматизируем подбор группы экземпляров

Разрабатываем мультивалютный советник (Часть 6): Автоматизируем подбор группы экземпляров

После оптимизации торговой стратегии мы получаем наборы параметров, на основе которых можно создать несколько экземпляров торговых стратегий, объединённых в одном советнике. Раньше мы делали это вручную, а теперь попробуем автоматизировать этот процесс
preview
Разработка стратегии Zone Recovery Martingale на MQL5

Разработка стратегии Zone Recovery Martingale на MQL5

В статье подробно рассматриваются шаги для создания советника на основе торгового алгоритма Zone Recovery. Это позволяет автоматизировать систему, экономя время алготрейдеров.
preview
Поиск произвольных паттернов валютных пар на Python с использованием MetaTrader 5

Поиск произвольных паттернов валютных пар на Python с использованием MetaTrader 5

Есть ли повторяющиеся паттерны и закономерности на валютном рынке? Я решил создать свою собственную систему анализа паттернов, используя Python и MetaTrader 5. Этакий симбиоз математики и программирования для покорения Форекса.
preview
Разработка системы репликации — моделирование рынка (Часть 01): Первые эксперименты (I)

Разработка системы репликации — моделирование рынка (Часть 01): Первые эксперименты (I)

Что вы думаете: создавать системы для изучения рынка, когда он закрыт, или создать систему, которая позволит моделировать рыночные ситуации? Здесь мы начнем новую серию статей, посвященных этому вопросу.
preview
Разрабатываем мультивалютный советник (Часть 13): Автоматизация второго этапа — отбор в группы

Разрабатываем мультивалютный советник (Часть 13): Автоматизация второго этапа — отбор в группы

Первый этап автоматизированного процесса оптимизации у нас уже реализован. Для разных символов и таймфреймов мы проводим оптимизацию по нескольким критериям и сохраняем информацию о результатах каждого прохода в базе данных. Теперь займёмся отбором лучших групп наборов параметров из найденных на первом этапе.
preview
DoEasy. Элементы управления (Часть 5): Базовый WinForms-объект, элемент управления "Панель", параметр AutoSize

DoEasy. Элементы управления (Часть 5): Базовый WinForms-объект, элемент управления "Панель", параметр AutoSize

В статье создадим базовый объект всех WinForms-объектов библиотеки и приступим к реализации свойства AutoSize WinForms-объекта "Панель" — автоизменение размера под его внутреннее содержимое.
preview
Разрабатываем мультивалютный советник (Часть 11): Начало автоматизации процесса оптимизации

Разрабатываем мультивалютный советник (Часть 11): Начало автоматизации процесса оптимизации

Для получения хорошего советника нам надо подобрать для него множество хороших наборов параметров экземпляров торговых стратегий. Это можно делать вручную, запуская оптимизацию на разных символах, и затем отбирая лучшие результаты. Но лучше поручить эту работу программе и заняться более продуктивной деятельностью.
preview
Нейросети — это просто (Часть 97): Обучение модели с использованием MSFformer

Нейросети — это просто (Часть 97): Обучение модели с использованием MSFformer

При изучении различных архитектур построения моделей мы мало уделяем внимания процессу обучения моделей. В этой статье я попытаюсь восполнить этот пробел.
preview
Применение теории игр в алгоритмах трейдинга

Применение теории игр в алгоритмах трейдинга

Создаем адаптивный самообучающийся торговый советник на основе машинного обучения DQN, с многомерным причинно-следственным выводом, который будет успешно торговать одновременно на 7 валютных парах, причем агенты разных пар будут обмениваться друг с другом информацией.
preview
Нейросети — это просто (Часть 46): Обучение с подкреплением, направленное на достижение целей (GCRL)

Нейросети — это просто (Часть 46): Обучение с подкреплением, направленное на достижение целей (GCRL)

Предлагаю Вам познакомиться с ещё одним направлением в области обучения с подкреплением. Оно называется обучением с подкреплением, направленное на достижение целей (Goal-conditioned reinforcement learning, GCRL). В этом подходе агент обучается достигать различных целей в определенных сценариях.
preview
Ложные регрессии в Python

Ложные регрессии в Python

Ложные регрессии возникают, когда два временных ряда демонстрируют высокую степень корреляции чисто случайно, что приводит к вводящим в заблуждение результатам регрессионного анализа. В таких случаях, даже если переменные кажутся связанными, корреляция является случайной и модель может быть ненадежной.
preview
Популяционные алгоритмы оптимизации: Изменяем форму и смещаем распределения вероятностей и тестируем на "Умном головастике" (Smart Cephalopod, SC)

Популяционные алгоритмы оптимизации: Изменяем форму и смещаем распределения вероятностей и тестируем на "Умном головастике" (Smart Cephalopod, SC)

В данной статье исследуется влияние изменения формы распределений вероятностей на производительность алгоритмов оптимизации. Мы проводим эксперименты на тестовом алгоритме 'Умный головастик' (SC), чтобы оценить эффективность различных распределений вероятностей в контексте оптимизационных задач.
preview
DoEasy. Элементы управления (Часть 27): Продолжаем работу над WinForms-объектом "ProgressBar"

DoEasy. Элементы управления (Часть 27): Продолжаем работу над WinForms-объектом "ProgressBar"

В статье продолжим разработку элемента управления ProgressBar. Создадим функционал для управления полосой прогресса и визуальными эффектами.
preview
Визуализации сделок на графике (Часть 1): Выбор периода для анализа

Визуализации сделок на графике (Часть 1): Выбор периода для анализа

Пишем с нуля скрипт, который сделает удобным выгрузку принт-скринов сделок для анализа торговых входов. На одном графике будет удобно отображаться вся необходимая информация по отдельной сделке с возможностью прорисовывания разных таймфреймов.
preview
Добавляем пользовательскую LLM в торгового робота (Часть 3): Обучение собственной LLM с помощью CPU

Добавляем пользовательскую LLM в торгового робота (Часть 3): Обучение собственной LLM с помощью CPU

Языковые модели (LLM) являются важной частью быстро развивающегося искусственного интеллекта, поэтому нам следует подумать о том, как интегрировать мощные LLM в нашу алгоритмическую торговлю. Большинству людей сложно настроить эти модели в соответствии со своими потребностями, развернуть их локально, а затем применить к алгоритмической торговле. В этой серии статей будет рассмотрен пошаговый подход к достижению этой цели.
preview
Популяционные алгоритмы оптимизации: Алгоритм боидов, или алгоритм стайного поведения (Boids Algorithm, Boids)

Популяционные алгоритмы оптимизации: Алгоритм боидов, или алгоритм стайного поведения (Boids Algorithm, Boids)

В данной статье мы проводим исследование алгоритма Boids, в основе которого лежат уникальные примеры стайного поведения животных. Алгоритм Boids, в свою очередь, послужил основой для создания целого класса алгоритмов, объединенных под названием "Роевый интеллект".
preview
Нейросети в трейдинге: "Легкие" модели прогнозирования временных рядов

Нейросети в трейдинге: "Легкие" модели прогнозирования временных рядов

Легковесные модели прогнозирования временных рядов обеспечивают высокую производительность, используя минимальное количество параметров. Что, в свою очередь, снижает расход вычислительных ресурсов и ускоряет принятие решений. При этом они достигают качества прогнозов, сопоставимого с более сложными моделями.