Применение функции TesterWithdrawal() для моделирования снятия прибыли
Применение функции TesterWithdrawal() для моделирования снятия прибыли
В статье рассмотрено применение функции TesterWithDrawal() для оценки рисков в торговых системах, выполняющих снятие определенной части средств в процессе работы. Наряду с этим показано, как применение данной функции влияет на алгоритм расчета просадки по средствам в тестере. Использование данной функции может быть полезным при оптимизации параметров вашего советника.
Рецепты MQL5 - Сохраняем результаты оптимизации торгового эксперта по указанным критериям
Рецепты MQL5 - Сохраняем результаты оптимизации торгового эксперта по указанным критериям
Продолжим серию статей по программированию на MQL5. На этот раз рассмотрим, как можно получать результаты по каждому проходу оптимизации непосредственно во время оптимизации параметров эксперта. При этом сделаем так, что если условия, которые будут настраиваться во внешних параметрах, исполняются, то показатели этого прохода будут записываться в файл. Кроме показателей тестов будем сохранять еще параметры, по которым был получен этот результат.
MQL5 Cloud Network: Вы все еще считаете?
MQL5 Cloud Network: Вы все еще считаете?
Прошло уже около полутора лет с момента, когда была запущена сеть распределенных вычислений MQL5 Cloud Network. Это революционное по своей значимости событие ознаменовало начало новой эры в алгоритмической торговле - ведь теперь любой трейдер в пару кликов мышки может получить в свое распоряжение сотни и тысячи вычислительных ядер для оптимизации своей торговой стратегии.
Рецепты MQL5 - Записываем историю сделок в файл и строим графики балансов для каждого символа в Excel
Рецепты MQL5 - Записываем историю сделок в файл и строим графики балансов для каждого символа в Excel
Общаясь на многих форумах, я довольно часто приводил в пример результаты тестов на скриншотах с графиков в Microsoft Excel. И многие просили меня объяснить, как же строить эти замечательные графики. Наконец у меня появилось немного времени, чтобы написать статью об этом.
Рецепты MQL5 - Мультивалютный эксперт: пример простой, точной и быстрой схемы
Рецепты MQL5 - Мультивалютный эксперт: пример простой, точной и быстрой схемы
В этой статье мы рассмотрим реализацию простой схемы для мультивалютного эксперта. В данном случае имеется в виду, что эксперт можно будет настроить на тестирование/торговлю по одинаковым условиям, но с разными параметрами для каждого символа. В качестве примера создадим схему для двух символов, но сделаем это так, чтобы при необходимости можно было добавлять дополнительные символы, внося небольшие изменения в код.
Рецепты MQL5 - Разработка схемы для торговой системы типа "Три экрана Элдера"
Рецепты MQL5 - Разработка схемы для торговой системы типа "Три экрана Элдера"
В этой статье мы разработаем схему для торговой системы типа "Три экрана Элдера" на MQL5. Писать эксперта будем не с нуля, а просто модифицируем уже практически готовую под эту схему программу из предыдущей статьи "Рецепты MQL5 - Использование индикаторов для формирования условий торговли в эксперте". То есть, целью статьи будет также показать, как можно легко модифицировать схемы уже готовых программ.
Рецепты MQL5 - Использование индикаторов для формирования условий торговли в эксперте
Рецепты MQL5 - Использование индикаторов для формирования условий торговли в эксперте
В этой статье мы продолжим модифицировать эксперта, над которым до этого работали на протяжении всех последних статей по программированию на MQL5. На этот раз подключим к эксперту индикаторы, по значениям которых будут проверяться условия на открытие позиции. Чтобы было интересней, сделаем во внешних параметрах выпадающий список, в котором можно будет выбрать один из трех индикаторов для торговли.
Рецепты MQL5 - История сделок и библиотека функций для получения свойств позиции
Рецепты MQL5 - История сделок и библиотека функций для получения свойств позиции
Пришло время подвести краткий итог по материалам предыдущих статей о свойствах позиции. В этой статье мы создадим несколько дополнительных функций для получения тех свойств, которые можно получить только после обращения к истории сделок. Мы также познакомимся со структурами данных, что сделает доступ к свойствам позиции и символа еще удобнее.
Рецепты MQL5 - Как не получить ошибку при установке/изменении торговых уровней?
Рецепты MQL5 - Как не получить ошибку при установке/изменении торговых уровней?
Продолжая работу над экспертом из предыдущей статьи "Рецепты MQL5 - Изучение свойств позиции в тестере MetaTrader 5", внедрим в него еще целый ряд полезных функций, а также усовершенствуем и оптимизируем уже имеющиеся. На этот раз эксперт будет снабжен внешними параметрами, которые можно будет оптимизировать в тестере MetaTrader 5. Это уже будет немного похоже на простую торговую систему.
Поиск ошибок и ведение лога
Поиск ошибок и ведение лога
В редакторе MetaEditor 5 есть возможность отладки, но часто при написании программ на MQL5 требуется просмотр не отдельных значений, а массовых выводов сообщений во время онлайн-работы или при тестировании. При больших объемах содержимого лог-файла встает вопрос механизации для удобного и быстрого поиска интересующего сообщения. Мы рассмотрим способы поиска ошибок в программах на MQL5 и способы ведения лога. А также упростим запись логов в файлы и познакомимся с простенькой программой LogMon для комфортного просмотра логов.
Разработка динамического советника на нескольких парах (Часть 2): Диверсификация и оптимизация портфеля
Разработка динамического советника на нескольких парах (Часть 2): Диверсификация и оптимизация портфеля
Диверсификация и оптимизация портфеля позволяют стратегически распределять инвестиции по нескольким активам, чтобы минимизировать риски, и при этом выбирать идеальную комбинацию активов для максимизации доходности на основе показателей эффективности с учетом риска.
Моделирование рынка (Часть 06): Перенос данных из MetaTrader 5 в Excel
Моделирование рынка (Часть 06): Перенос данных из MetaTrader 5 в Excel
Многим, особенно тем, кто не занимается программированием, очень сложно передавать информацию между MetaTrader 5 и другими программами. Одной из таких программ является Excel. Многие люди используют Excel для управления и контроля своих рисков, так как это очень хорошая программа, которую легко освоить даже тем, кто не является программистом на VBA. Далее мы рассмотрим, как установить связь между MetaTrader 5 и Excel (очень простой метод).
Оптимизация хаотичной игрой — Chaos Game Optimization (CGO)
Оптимизация хаотичной игрой — Chaos Game Optimization (CGO)
Представляем новый метаэвристический алгоритм Chaos Game Optimization (CGO), демонстрирующий уникальную способность сохранять высокую эффективность при работе с задачами большой размерности. В отличие от большинства оптимизационных алгоритмов, CGO не только не теряет, но иногда даже увеличивает производительность при масштабировании задачи, что является его ключевой особенностью.
Разрабатываем мультивалютный советник (Часть 25): Подключаем новую стратегию (II)
Разрабатываем мультивалютный советник (Часть 25): Подключаем новую стратегию (II)
В данной статье продолжим подключить новую стратегию к созданной системе автоматической оптимизации. Посмотрим, какие изменения потребуется внести в советник создания проекта оптимизации и советники второго и третьего этапов.
От новичка до эксперта: Развиваем географическую осознанность рынка с помощью визуализации на MQL5
От новичка до эксперта: Развиваем географическую осознанность рынка с помощью визуализации на MQL5
Торговать без осознания сессии — все равно что ориентироваться без компаса: вы движетесь, но без определенной цели. Сегодня мы совершаем революцию в восприятии трейдерами рыночного тайминга, превращая обычные графики в динамичные географические отображения. Используя мощные возможности визуализации MQL5, мы создадим живую карту мира, которая подсвечивает активные торговые сессии в режиме реального времени, превращая абстрактные рыночные часы в интуитивно понятную визуальную информацию. Это путешествие отточит вашу психологию трейдинга и познакомит вас с методами программирования профессионального уровня, позволяющими преодолеть разрыв между сложной структурой рынка и практической, действенной информацией.
Алгоритм поисковой оптимизации Эбола — Ebola Optimization Search Algorithm (EOSA)
Алгоритм поисковой оптимизации Эбола — Ebola Optimization Search Algorithm (EOSA)
В статье рассматривается алгоритм EOSA, вдохновлённый механизмами распространения вируса Эбола: короткодистанционной передачей через близкий контакт (эксплуатация) и длиннодистанционной передачей через путешествия (исследование). Анализ оригинальной публикации выявил критические проблемы в математических формулах и нереализуемую на практике эпидемиологическую модель, что потребовало существенной переработки алгоритма для получения работоспособной реализации.
Трейдинг с экономическим календарем MQL5 (Часть 7): Подготовка к тестированию стратегий с анализом новостей
Трейдинг с экономическим календарем MQL5 (Часть 7): Подготовка к тестированию стратегий с анализом новостей
В этой статье мы подготовим нашу торговую систему на MQL5 для тестирования стратегий, используя данные экономического календаря в качестве ресурса для анализа вне реального времени. Мы реализуем загрузку и фильтрацию событий по времени, валюте и значимости, а затем проверим все в тестере стратегий. Так мы сможем тестировать на истории стратегии, работающие по экономическим новостям.
Разрабатываем мультивалютный советник (Часть 30): От торговой стратегии — к запуску мультивалютного советника
Разрабатываем мультивалютный советник (Часть 30): От торговой стратегии — к запуску мультивалютного советника
Статья показывает полный цикл работы по созданию мультивалютного советника с использованием библиотеки Adwizard для MetaTrader 5: от подготовки окружения для создания проектов оптимизации до получения итоговых мультивалютных советников, объединяющих много экземпляров простой торговой стратегии. Разбираем настройку нужных входных параметров, соглашения об удобных именах файлов и запуск трёх экземпляров итоговых советников на разных торговых счетах с разными параметрами.
Моделирование рынка (Часть 07): Сокеты (I)
Моделирование рынка (Часть 07): Сокеты (I)
Сокеты. Знаете ли вы, для чего они нужны или как их использовать в MetaTrader 5? Если ответ отрицательный, давайте начнем с их изучения. В сегодняшней статье рассмотрим основы. Но поскольку существует несколько способов сделать то же самое, а нас всегда интересует результат, я хочу показать, что в самом деле существует простой способ передачи данных из MetaTrader 5 в другие программы, такие как, например, Excel. Однако основная идея заключается не в том, чтобы перенести данные из MetaTrader 5 в Excel, а в обратном, то есть в переносе данных из Excel или любой другой программы в MetaTrader 5.
Создание и форвардное тестирование автономного LLM агента для трейдинга с SEAL
Создание и форвардное тестирование автономного LLM агента для трейдинга с SEAL
Гибридная архитектура на базе Llama 3.2 и SEAL тестируется на восьми валютных парах (M15) с форвардной изоляцией данных и контролем утечки информации. Методология объединяет adversarial self-play, curriculum learning и балансировку классов для стабильного обучения. Эксперименты подтверждают разрыв между точностью прогноза и реальной доходностью, что дает читателю практические ориентиры по проверке стратегий и корректной оценке их обобщающей способности.
Разрабатываем мультивалютный советник (Часть 31): Секреты шага создания проекта оптимизации (I)
Разрабатываем мультивалютный советник (Часть 31): Секреты шага создания проекта оптимизации (I)
В статье разбираются два практических аспекта работы конвейера оптимизации на базе Adwizard: диагностика и восстановление после сбоев генерации базы итогового советника, а также предварительный подбор диапазонов параметров стратегии до создания проекта. Показано, как анализ таблиц stages/jobs/tasks в SQLite и перезапуск этапов по статусам помогают восстановить процесс, а пробная оптимизация сужает пространство поиска, исключает избыточные параметры и снижает риск застревания в локальных максимумах.
Моделирование рынка (Часть 15): Сокеты (IX)
Моделирование рынка (Часть 15): Сокеты (IX)
В этой статье мы расскажем об одном из возможных решений того, что мы пытались показать, то есть как позволить пользователю Excel выполнить действие в MetaTrader 5 без отправки ордеров, открытия или закрытия позиции. Идея заключается в том, что пользователь использует Excel для проведения фундаментального анализа какого-то символа. И что при использовании только Excel, можно указать советнику, работающему в MetaTrader 5, открыть или закрыть определенную позицию.
Разработка пользовательского индикатора матрицы эффективности торгового счёта
Разработка пользовательского индикатора матрицы эффективности торгового счёта
Этот индикатор выступает в роли средства контроля за соблюдением дисциплины, отслеживая в режиме реального времени состояние счета, прибыль/убыток и просадку и отображая панель показателей эффективности. Он может помочь трейдерам сохранять преемственность, избегать чрезмерной торговли и соблюдать правила отбора, установленные проп-трейдинговыми фирмами.
От новичка до эксперта: Разработка стратегии торговли по зонам ликвидности
От новичка до эксперта: Разработка стратегии торговли по зонам ликвидности
Торговля в зонах ликвидности обычно ведется путем ожидания возврата цены и повторного тестирования интересующей зоны, часто путем размещения отложенных ордеров в этих областях. В этой статье мы используем MQL5, чтобы воплотить эту концепцию в жизнь, демонстрируя, как такие зоны могут быть определены программно и как можно систематически применять управление рисками. Присоединяйтесь к обсуждению, поскольку мы исследуем как логику торговли на основе ликвидности, так и ее практическую реализацию.
Разрабатываем мультивалютный советник (Часть 32): Секреты шага создания проекта оптимизации (II)
Разрабатываем мультивалютный советник (Часть 32): Секреты шага создания проекта оптимизации (II)
В статье рассматриваются параметры второго этапа конвейера автоматической оптимизации мультивалютного советника. Мы анализируем критерии фильтрации проходов первого этапа и правила формирования групп торговых стратегий. Демонстрируется влияние настроек на результаты оптимизации, обсуждаются аспекты надёжности процесса и баланс между строгостью отбора и достаточностью кандидатов для алгоритма.
Визуализация стратегий в MQL5: раскладываем результаты оптимизации по графикам критериев
Визуализация стратегий в MQL5: раскладываем результаты оптимизации по графикам критериев
В этой статье мы напишем пример визуализации процесса оптимизации и сделаем отображение трёх лучших проходов для четырёх критериев оптимизации. А также обеспечим возможность выбора одного из трёх лучших проходов для вывода его данных в таблицы и на график.
Оптимизация Королевской Битвой — Battle Royale Optimizer (BRO)
Оптимизация Королевской Битвой — Battle Royale Optimizer (BRO)
Статья разбирает алгоритм Battle Royale Optimizer — метаэвристику, в которой решения конкурируют с ближайшими соседями, накапливают “повреждения”, заменяются при превышении порога и периодически сужают пространство поиска вокруг лучшего. Показаны псевдокод и реализация класса CAOBRO в MQL5, включая поиск соседей, движение к лучшему и адаптивный интервал delta. Результаты тестов на функциях Hilly, Forest и Megacity демонстрируют сильные и слабые стороны подхода. Читатель получает готовую основу для экспериментов и настройки popSize и maxDamage.
Оптимизация и форвард-анализ стратегий (Часть 1): Метод Пардо — базовая модель
Оптимизация и форвард-анализ стратегий (Часть 1): Метод Пардо — базовая модель
Статья показывает, как выстроить воспроизводимый процесс разработки и проверки торговых систем в MetaTrader 5: от формализации правил входа/выхода и риск‑менеджмента до пост‑оптимизационной валидации. В основу положен "Метод Пардо": разбиение истории на in‑sample/out‑of‑sample, форвард‑тестирование, мульти‑рынки/таймфреймы и выбор устойчивых "плато" параметров вместо единичных пиков. На примерах PardoSystem и советников PardoEA / Breakout_Bounce показан практический тест‑план для тестера стратегий MetaTrader 5.
Моделирование рынка (Часть 19): Первые шаги на SQL (II)
Моделирование рынка (Часть 19): Первые шаги на SQL (II)
Как мы объясняли в первой статье о SQL, нет смысла тратить время на программирование процедур для выполнения того, что уже включено в SQL. Однако, если не знать самых основ, вы не сможете ничего сделать с помощью SQL, чтобы воспользоваться всеми преимуществами, которые предлагает этот инструмент. Поэтому в данной статье мы рассмотрим, как выполнять основные задачи в базах данных.