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

icon

Самые разнообразные статьи с примерами по созданию индикаторов и торговых роботов для платформы MetaTrader на языке MQL5 ждут вас. К каждой статье приложены исходные коды, которые вы можете открыть в редакторе MetaEditor и запустить самостоятельно.

Эти статьи будут полезны как новичкам в автоматическом трейдинге, так и подготовленным трейдерам с опытом программирования и торговли. Здесь вы найдете не только примеры, но и новые идеи.

Новая статья
последние | лучшие
preview
Разработка системы репликации (Часть 58): Возвращаемся к работе над сервисом

Разработка системы репликации (Часть 58): Возвращаемся к работе над сервисом

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

Преодоление ограничений машинного обучения (Часть 6): Эффективная кросс-валидация исторической памяти рынка

В этом обсуждении мы противопоставим классический подход к кросс-валидации временных рядов современным альтернативам, бросающим вызов его основным допущениям. Мы выявляем ключевые «слепые зоны» традиционной кросс-валидации, особенно её неспособность учитывать меняющиеся рыночные условия. Для устранения этих пробелов мы внедряем эффективную кросс-валидацию исторической памяти рынка (Effective Memory Cross-Validation, EMCV) - подход, ориентированный на предметную область, ставящий под сомнение устоявшееся мнение о том, что увеличение объема исторических данных всегда повышает показатели результатов.
preview
Создание торговой панели администратора на MQL5 (Часть XII): Интеграция форекс-калькулятора

Создание торговой панели администратора на MQL5 (Часть XII): Интеграция форекс-калькулятора

Точный расчет ключевых торговых показателей — неотъемлемая часть рабочего процесса каждого трейдера. В этой статье мы рассмотрим интеграцию мощного инструмента — форекс-калькулятора — в панель управления торговлей, что еще больше расширит функциональность нашей многопанельной системы администратора трейдера. Эффективное определение риска, размера позиции и потенциальной прибыли имеет важное значение при совершении сделок, и эта новая функция призвана сделать этот процесс более быстрым и интуитивно понятным прямо в панели. Присоединяйтесь к нам, чтобы изучить практическое применение MQL5 при создании продвинутых торговых панелей.
preview
Разработка инструментария для анализа Price Action (Часть 28): Инструмент для торговли пробоя диапазона открытия

Разработка инструментария для анализа Price Action (Часть 28): Инструмент для торговли пробоя диапазона открытия

В начале каждой торговой сессии направление рынка часто становится понятным только после того, как цена выходит за пределы диапазона открытия. В этой статье мы разберем, как создать советник на MQL5, который автоматически обнаруживает и анализирует пробои диапазона открытия, предоставляя своевременные сигналы на основе данных для более уверенных внутридневных входов.
preview
Создание торговой панели администратора на MQL5 (Часть IX): Организация кода (II): Модуляризация

Создание торговой панели администратора на MQL5 (Часть IX): Организация кода (II): Модуляризация

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

Разработка системы репликации (Часть 63): Нажатие кнопки воспроизведения в сервисе (IV)

В этой статье мы наконец решим проблемы моделирования тиков на одноминутном баре, чтобы те могли сосуществовать с реальными тиками. Таким образом, мы избежим возникновения проблем в будущем. Представленный здесь контент предназначен только для образовательных целей. Ни в коем случае его не следует рассматривать как приложение, предназначенное для чего-то иного, кроме изучения и освоения представленных концепций.
preview
Разработка инструментария для анализа Price Action (Часть 33): Инструмент на основе теории свечного диапазона

Разработка инструментария для анализа Price Action (Часть 33): Инструмент на основе теории свечного диапазона

Улучшите свое понимание рынка с помощью набора инструментов Candle-Range Theory для MetaTrader 5 – полностью нативного решения на MQL5 на основе теории свечного диапазона, которое превращает необработанные ценовые бары в информацию о волатильности в реальном времени. Легковесная библиотека CRangePattern сопоставляет истинный диапазон каждой свечи с адаптивным ATR и классифицирует ее в момент закрытия; затем CRT Indicator отображает эти классификации на графике в виде четких цветовых прямоугольников и стрелок, которые сразу показывают зоны сжатия, резкие пробои и полное поглощение диапазона.
preview
Клиент в Connexus (Часть 7): Добавление клиентского уровня

Клиент в Connexus (Часть 7): Добавление клиентского уровня

В настоящей статье мы продолжаем разработку библиотеки Connexus. В настоящей главе мы создаем класс CHttpClient, отвечающий за отправку запроса и получение ордера. Мы также рассматриваем концепцию моков (mocks), отделяя библиотеку от функции WebRequest, что обеспечивает большую гибкость для пользователей.
preview
Создание самооптимизирующихся советников на MQL5 (Часть 8): Анализ нескольких стратегий

Создание самооптимизирующихся советников на MQL5 (Часть 8): Анализ нескольких стратегий

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

Преодоление ограничений машинного обучения (Часть 4): Как уменьшить неустранимую ошибку с помощью нескольких горизонтов прогноза

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

Преодоление ограничений машинного обучения (Часть 9): Обучение признаков на основе корреляции в задачах самообучения на финансовых данных

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

Преодоление ограничений машинного обучения (Часть 3): Новый взгляд на неустранимую ошибку

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

Преодоление ограничений машинного обучения (Часть 2): Отсутствие воспроизводимости

В статье рассматривается, почему результаты торговли могут значительно различаться у разных брокеров, даже при использовании одной и той же стратегии и финансового символа, из-за децентрализованного ценообразования и расхождений в данных. Эта статья помогает разработчикам MQL5 понять, почему их продукты могут получать неоднозначные отзывы на MQL5 Marketplace, и призывает разработчиков адаптировать свои подходы к конкретным брокерам для обеспечения прозрачных и воспроизводимых результатов. В случае широкого распространения это может стать важной, узкоспециализированной передовой практикой, которая принесет пользу нашему сообществу.
preview
Торговые инструменты на MQL5 (Часть 18): Скруглённые текстовые выноски с настройкой ориентации

Торговые инструменты на MQL5 (Часть 18): Скруглённые текстовые выноски с настройкой ориентации

В этой статье показано, как создавать скругленные текстовые выноски в MQL5, комбинируя скругленный прямоугольник с треугольником-указателем и управляя ориентацией (вверх, вниз, влево, вправо). В ней подробно описаны предварительные вычисления геометрии, суперсэмплированное заполнение, закругленные дуги вершин и сегментированные рамки с коэффициентом расширения для бесшовных соединений. Читатели получат настраиваемый код для установки размера, радиуса, цвета, прозрачности и толщины, готовый для использования в качестве оповещений или всплывающих подсказок в торговых интерфейсах.
preview
Автоматизация греков Блэка-Шоулза: Расширенный скальпинг и микроструктурная торговля

Автоматизация греков Блэка-Шоулза: Расширенный скальпинг и микроструктурная торговля

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

Самооптимизирующиеся советники на MQL5 (Часть 12): Построение линейных классификаторов с использованием факторизации матриц

В данной статье рассматривается важная роль факторизации матриц в алгоритмической торговле, в частности в приложениях MQL5. От регрессионных моделей до многоклассовых классификаторов — мы рассмотрим практические примеры, демонстрирующие, насколько легко эти методы можно интегрировать с помощью встроенных функций MQL5. Независимо от того, занимаетесь ли вы прогнозированием направления движения цен или моделированием поведения индикаторов, данное руководство заложит прочную основу для создания интеллектуальных торговых систем с использованием матричных методов.
preview
Сила MetaTrader 5: от пошаговой отладки до защиты EX5 в одной среде

Сила MetaTrader 5: от пошаговой отладки до защиты EX5 в одной среде

В статье рассматривается комплексный подход к разработке торговых алгоритмов: от настройки проекта и отладки логики до защиты готового продукта. Разбираются встроенные инструменты MetaEditor, включая пошаговый дебаггинг на реальных тиках, профилирование производительности и прямую интеграцию с C++ DLL для ускорения вычислений. Описывается методика защиты интеллектуальной собственности с помощью MQL5 Cloud Protector. Применение описанных техник позволяет превратить разработку эксперта из хаотичного поиска решений в системный процесс, существенно сокращая время разработки стратегии.
preview
От начального до среднего уровня: Объекты (I)

От начального до среднего уровня: Объекты (I)

В данной статье мы начнём рассматривать, как можно работать с объектами непосредственно на графике. Это делается с помощью кода, специально разработанного для демонстрации. Работа с объектами очень интересна и доставляет немало удовольствия. Поскольку это будет наш первый контакт, начнём с чего-нибудь очень простого.
preview
От начального до среднего уровня: Индикатор (V)

От начального до среднего уровня: Индикатор (V)

В данной статье мы рассмотрим, как обрабатывать запросы пользователей на изменение режима построения графика. Это необходимо для того, чтобы индикатор, разработанный для использования текущего режима построения графиков, не выглядел странно или не отличался от того, что ожидает пользователь MetaTrader 5.
preview
От начального до среднего уровня: Наследование

От начального до среднего уровня: Наследование

Без сомнения, данная статья потребует от вас значительного времени, чтобы понять, как и почему работают описанные здесь материалы. Это объясняется тем, что всё, что здесь будет показано, изначально ориентировано на объектно-ориентированное программирование, но на самом деле оно основано на принципах структурного программирования.
preview
Интеграция MQL5 с пакетами обработки данных (Часть 5): Адаптивное обучение и гибкость

Интеграция MQL5 с пакетами обработки данных (Часть 5): Адаптивное обучение и гибкость

В этой части основное внимание уделяется созданию гибкой, адаптивной торговой модели, обученной на исторических данных XAUUSD. Мы подготовим ее к экспорту в ONNX и потенциальной интеграции в системы реальной торговли.
preview
Разработка инструментария для анализа Price Action (Часть 29): Советник "Boom and Crash Interceptor"

Разработка инструментария для анализа Price Action (Часть 29): Советник "Boom and Crash Interceptor"

Узнайте, как советник Boom & Crash Interceptor превращает ваши графики в проактивную систему оповещений, выявляющую взрывные движения с помощью быстрого анализа скорости, проверки всплесков волатильности, подтверждения тренда и фильтров пивот-зон. Четкие зеленые стрелки "Boom" и красные "Crash" помогают быстрее принимать решения: этот инструмент отсекает рыночный шум и позволяет эффективнее использовать ценовые всплески. Давайте разберем, как это работает и почему этот инструмент может стать вашим следующим важным преимуществом в торговле.
preview
Разработка инструментария для анализа Price Action (Часть 40): ДНК-профиль рынка

Разработка инструментария для анализа Price Action (Часть 40): ДНК-профиль рынка

В этой статье рассматривается уникальный профиль каждой валютной пары через призму исторической динамики ее цены. Вдохновляясь концепцией генетической ДНК, которая задает уникальный генетический код каждого живого существа, мы применяем аналогичный подход к рынкам, рассматривая динамику цены как "ДНК" каждой валютной пары. Анализируя такие структурные характеристики, как волатильность, свинги, откаты, всплески и особенности сессий, инструмент выявляет базовый профиль, который отличает одну пару от другой. Этот подход дает более глубокое понимание поведения рынка и помогает трейдерам системно соотносить стратегии с естественными склонностями каждого инструмента.
preview
Упрощение работы с базами данных в MQL5 (Часть 1): Введение в базы данных и SQL

Упрощение работы с базами данных в MQL5 (Часть 1): Введение в базы данных и SQL

Мы рассмотрим, как работать с базами данных в MQL5, используя встроенные функции языка. Мы рассмотрим все аспекты, от создания, вставки, обновления и удаления таблиц до импорта и экспорта данных, и все это с примерами кода. Данный материал служит прочной основой для понимания внутренних механизмов доступа к данным, подготавливая почву для обсуждения ORM (Object-Relational Mapping, объектно-реляционное отображение), где мы создадим его на языке MQL5.
preview
От начального до среднего уровня: Указатель на функцию

От начального до среднего уровня: Указатель на функцию

Вы, вероятно, уже слышали о указателях, когда речь заходит о программировании. А вы знали, что мы можем использовать данные такого типа здесь, в MQL5? Это, конечно, должно быть сделано так, чтобы мы не теряли контроль и не вызывали странного поведения программы во время её выполнения. Тем не менее, поскольку это ресурс очень специфического назначения и ориентированный на определенные виды деятельности, редко можно услышать, чтобы кто-то обсуждал, что такое указатель и как его использовать в MQL5.
preview
Сила MetaTrader 5: от пошаговой отладки до защиты EX5 в одной среде

Сила MetaTrader 5: от пошаговой отладки до защиты EX5 в одной среде

В статье рассматривается комплексный подход к разработке торговых алгоритмов: от настройки проекта и отладки логики до защиты готового продукта. Разбираются встроенные инструменты MetaEditor, включая пошаговый дебаггинг на реальных тиках, профилирование производительности и прямую интеграцию с C++ DLL для ускорения вычислений. Описывается методика защиты интеллектуальной собственности с помощью MQL5 Cloud Protector. Применение описанных техник позволяет превратить разработку эксперта из хаотичного поиска решений в системный процесс, существенно сокращая время разработки стратегии.
preview
Архитектура машинного обучения для MetaTrader 5 (Часть 7): От разрозненных экспериментов к воспроизводимым результатам

Архитектура машинного обучения для MetaTrader 5 (Часть 7): От разрозненных экспериментов к воспроизводимым результатам

В последней части этой серии мы выходим за рамки отдельных методов машинного обучения и переходим к проблеме “исследовательского хаоса”, с которым сталкиваются многие количественные трейдеры. Эта статья посвящена переходу от разрозненных экспериментов в Jupyter Notebook к продуманному пайплайну промышленного уровня, обеспечивающему воспроизводимость, отслеживаемость и эффективность.
preview
От начального до среднего уровня: Объекты (II)

От начального до среднего уровня: Объекты (II)

В сегодняшней статье мы рассмотрим, как простым способом управлять некоторыми свойствами объектов с помощью кода. Мы также рассмотрим, как с помощью специального приложения можно разместить более одного объекта на одном графике. Кроме того, мы начнём разбираться в важности присвоения краткого названия любому индикатору, который мы собираемся внедрить.
preview
Разработка инструментария для анализа Price Action (Часть 43): Вероятностный анализ свечных паттернов и пробоев

Разработка инструментария для анализа Price Action (Часть 43): Вероятностный анализ свечных паттернов и пробоев

Улучшите рыночный анализ с помощью советника Candlestick Probability на MQL5 – компактного инструмента, который преобразует исходные ценовые бары в вероятностную аналитику в реальном времени по конкретному инструменту. Он классифицирует пин-бары, паттерны поглощения и доджи на закрытии бара, использует фильтрацию с учетом волатильности по ATR и при необходимости подтверждение пробоя. Советник рассчитывает простые и взвешенные по объему проценты отработки, помогая понять, каков типичный исход каждого паттерна на конкретных символах и таймфреймах. Маркеры на графике, компактная информационная панель и интерактивные переключатели позволяют быстро проверять результаты и сосредоточиться на нужном. Экспортируйте подробные CSV-логи для последующего анализа вне терминала. Используйте советник, чтобы строить вероятностные профили, оптимизировать стратегии и превращать распознавание паттернов в измеримое преимущество.
preview
От начального до среднего уровня: Struct (VII)

От начального до среднего уровня: Struct (VII)

В сегодняшней статье мы покажем, как можно подходить к решению проблем по структурированию разных элементов и созданию более простых и привлекательных решений. Хотя содержание ориентировано на обучение и, следовательно, не является настоящим кодом, необходимо очень хорошо усвоить концепции и знания, которые здесь будут рассмотрены. Таким образом, в будущем мы сможем следовать кодам, которые мы покажем.
preview
Искусство работы с логами (Часть 10): Подавление повторяющихся логов (suppression)

Искусство работы с логами (Часть 10): Подавление повторяющихся логов (suppression)

Мы создали систему подавления логов в библиотеке Logify. В статье подробно рассматривается, как класс CLogifySuppression уменьшает «шум» в консоли, применяя настраиваемые правила для исключения повторяющихся или незначимых сообщений. Также мы освещаем структуру внешних конфигурационных файлов, механизмы валидации и всестороннее тестирование, обеспечивающие надежность и гибкость сбора логов при разработке ботов и индикаторов.
preview
Упрощение работы с базами данных в MQL5 (Часть 2): Создание сущностей с помощью метапрограммирования

Упрощение работы с базами данных в MQL5 (Часть 2): Создание сущностей с помощью метапрограммирования

Мы изучили расширенное использование #define для метапрограммирования в MQL5, создания сущностей, представляющих таблицы и метаданные столбцов (тип, первичный ключ, автоинкремент, возможность обнуления и т.д.). Мы централизовали эти определения в TickORM.mqh, автоматизировав генерацию классов метаданных и проложив путь для эффективной работы с данными в ORM без необходимости писать SQL вручную.
preview
Искусство работы с логами (Часть 9): Применяем паттерн Builder-класса и настраиваем конфигурации по умолчанию

Искусство работы с логами (Часть 9): Применяем паттерн Builder-класса и настраиваем конфигурации по умолчанию

В этой статье демонстрируется, как кардинально упростить использование библиотеки Logify с помощью паттерна "Builder" и автоматических конфигураций по умолчанию. Рассматриваются структура специализированных Builder-классов, приемы работы с ними при помощи интеллектуальной подсказки (автодополнения), а также способы обеспечения функционального логирования даже без ручной настройки. Кроме того, статья описывает доработки для сборки MetaTrader 5 5100.
preview
Сила MetaTrader 5: от пошаговой отладки до защиты EX5 в одной среде

Сила MetaTrader 5: от пошаговой отладки до защиты EX5 в одной среде

В статье рассматривается комплексный подход к разработке торговых алгоритмов: от настройки проекта и отладки логики до защиты готового продукта. Разбираются встроенные инструменты MetaEditor, включая пошаговый дебаггинг на реальных тиках, профилирование производительности и прямую интеграцию с C++ DLL для ускорения вычислений. Описывается методика защиты интеллектуальной собственности с помощью MQL5 Cloud Protector. Применение описанных техник позволяет превратить разработку эксперта из хаотичного поиска решений в системный процесс, существенно сокращая время разработки стратегии.
preview
Искусство ведения логов (Часть 7): Как отображать логи на графике

Искусство ведения логов (Часть 7): Как отображать логи на графике

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

Создание самооптимизирующихся советников на MQL5 (Часть 14): Преобразования данных как параметры настройки регулятора с обратной связью

Предварительная обработка — это мощный, но часто упускаемый из виду параметр настройки. Он находится в тени своих более крупных собратьев: оптимизаторов и блестящих архитектур моделей. Даже незначительное улучшение показателей в данном случае может иметь непропорционально значительный и кумулятивный эффект на прибыльность и риски. Слишком часто эта в значительной степени неизученная наука сводится к простой рутине, рассматриваемой лишь как средство для достижения цели, тогда как на самом деле именно здесь сигнал может быть непосредственно усилен или с такой же легкостью уничтожен.
preview
Разработка инструментария для анализа Price Action (Часть 39): Автоматизация обнаружения BOS и ChOCh на MQL5

Разработка инструментария для анализа Price Action (Часть 39): Автоматизация обнаружения BOS и ChOCh на MQL5

В этой статье представлена Fractal Reaction System – компактная система на MQL5, которая преобразует фрактальные опорные точки в сигналы рыночной структуры, пригодные для практического применения. Используя логику закрытых баров, чтобы избежать перерисовки, советник предупреждает о смене характера (ChOCh) и подтверждает пробои структуры (BOS), рисует сохраняемые графические объекты, а также ведет журнал и выдает алерты по каждому подтвержденному событию (на десктопных и мобильных устройствах, в том числе со звуком). Ниже разберем проектирование алгоритма, примечания по реализации, результаты тестирования и полный код советника, чтобы вы могли самостоятельно скомпилировать, протестировать и запустить данный инструмент.
preview
Искусство работы с логами (Часть 8): Самопереводящиеся записи об ошибках

Искусство работы с логами (Часть 8): Самопереводящиеся записи об ошибках

В этой восьмой части серии «Искусство работы с логами» мы исследуем реализацию многоязычных сообщений об ошибках в Logify — мощной библиотеке логирования для MQL5. Вы узнаете, как структурировать ошибки с контекстом, переводить сообщения на несколько языков и динамически форматировать логи по уровням логирования. И всё это — с чистым, расширяемым и готовым к продакшену дизайном.
preview
Разработка инструментария для анализа Price Action (Часть 42): Интерактивное тестирование на графике с кнопочной логикой и статистическими уровнями

Разработка инструментария для анализа Price Action (Часть 42): Интерактивное тестирование на графике с кнопочной логикой и статистическими уровнями

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

Двумерные копулы в MQL5 (Часть 2): Реализация архимедовых копул в MQL5

Во второй части серии мы рассматриваем свойства двумерных архимедовых копул и их реализацию в MQL5. Мы также изучаем применение копул для разработки простой стратегии парного трейдинга.