Strategy Tester: режимы моделирования при тестировании торговых стратегий
Многие программы технического анализа позволяют проводить тестирование торговых стратегий на исторических данных...
Создание графических интерфейсов на базе .Net Framework и C# (Часть 2): Дополнительные графические элементы
Статья является логическим продолжением предыдущей публикации "Создание графических интерфейсов для экспертов и индикаторов на базе .Net Framework и C#" и знакомит читателей с новыми графическими элементами для создания графических интерфейсов.
Свопы (Часть I) : Локирование и синтетические позиции
В данной статье я постараюсь расширить классическую концепцию своповых методов торговли, а также расскажу, почему я пришел к выводу, что данная концепция, на мой взгляд, заслуживает особого внимания и абсолютно рекомендована к ознакомлению и изучению.
Поиск ошибок и ведение лога
В редакторе MetaEditor 5 есть возможность отладки, но часто при написании программ на MQL5 требуется просмотр не отдельных значений, а массовых выводов сообщений во время онлайн-работы или при тестировании. При больших объемах содержимого лог-файла встает вопрос механизации для удобного и быстрого поиска интересующего сообщения. Мы рассмотрим способы поиска ошибок в программах на MQL5 и способы ведения лога. А также упростим запись логов в файлы и познакомимся с простенькой программой LogMon для комфортного просмотра логов.
Кроссплатформенный торговый советник: Стоп-уровни
В этой статье рассматривается реализация стоп-уровней в торговом советнике, совместимая с платформами MetaTrader 4 и MetaTrader 5.
Принципы экономного пересчета индикаторов
Вызовы пользовательских и технических индикаторов занимают совсем немного места в программном коде механических торговых систем. Зачастую какие-нибудь несколько строчек кода и всего-то. Но подчас именно эти несколько строчек кода съедают львиную долю всех затрат времени, которое будет истрачено на тестирование эксперта. Так что ко всему, что связано с расчетом данных внутри индикаторов, следует относиться гораздо более обстоятельно, чем оно могло бы показаться на первый взгляд. Именно об этом и пойдёт речь в данной статье.
950 сайтов транслируют экономический календарь от MetaQuotes
Добавление виджета обеспечивает сайты подробным расписанием выхода 500 показателей и индикаторов крупнейших мировых экономик. Таким образом трейдеры, помимо основного контента площадки, оперативно получают актуальную информацию по всем важным событиям с пояснениями и графиками.
Графические интерфейсы III: Простые и многофункциональные кнопки (Глава 1)
Приступим к рассмотрению такого элемента управления, как кнопка. Будут показаны примеры нескольких классов для создания простой кнопки, кнопок с расширенным функционалом («кнопка с картинкой» и «сдвоенная кнопка»), а также кнопок, которые взаимосвязаны между собой (группы кнопок и «радио-кнопки»). Кроме этого, внесём некоторые дополнения в уже существующие классы элементов управления, чтобы расширить их возможности.
Набор инструментов для ручной разметки графиков и торговли (Часть II). Рисование разметки
Статья продолжает цикл, в котором я показываю, как создавал удобную для меня библиотеку для ручной разметки графиков с помощью сочетаний клавиш. Разметка происходит прямыми линиями и их комбинациями. В этой части рассказано непосредственно о самом рисовании с помощью функций, описанных в первой части. Библиотеку можно подключить к любому эксперту или индикатору, существенно облегчив себе задачи разметки. Данное решение НЕ ИСПОЛЬЗУЕТ внешних dll, все команды реализованы с помощью встроенных средств языка MQL.
Рецепты MQL5 - Программируем скользящие каналы
В данной статье представлен способ программирования системы равноудалённых каналов. Рассматриваются некоторые нюансы построения таких каналов. Приводится типизация каналов, предлагается способ универсального типа скользящих каналов. При реализации кода используется инструментарий ООП.
Собери свой торговый советник в Мастере MQL5
Знание языков программирования теперь не является обязательным условием для создания торговых роботов. Если раньше это действительно служило непроходимым препятствием для реализации своих торговых стратегий, то появление Мастера MQL5 в корне изменило ситуацию. Начинающие трейдеры могут перестать тревожиться из-за отсутствия опыта программирования - с новым визардом, позволяющим быстро генерировать код советника, он не понадобится.
Автоматическая оптимизация советника в MetaTrader 5
В данной статье описана реализация механизма самооптимизации работающего эксперта в MetaTrader 5.
Рецепты MQL5 - Как не получить ошибку при установке/изменении торговых уровней?
Продолжая работу над экспертом из предыдущей статьи "Рецепты MQL5 - Изучение свойств позиции в тестере MetaTrader 5", внедрим в него еще целый ряд полезных функций, а также усовершенствуем и оптимизируем уже имеющиеся. На этот раз эксперт будет снабжен внешними параметрами, которые можно будет оптимизировать в тестере MetaTrader 5. Это уже будет немного похоже на простую торговую систему.
Мастер MQL5: Как написать свой модуль сопровождения открытых позиций
Генератор торговых стратегий Мастера MQL5 значительно упрощает проверку торговых идей. В статье рассказывается о том, как написать и подключить в Мастер MQL5 свой собственный модуль управления открытыми позициями, устанавливающий уровень Stop Loss в безубыток при движении цены в благоприятном направлении, что позволяет защитить прибыль и уменьшить потери. Рассматривается структура и формат описания созданного класса для Мастера MQL5.
TradeObjects: Автоматизация торговли на основе графических объектов в MetaTrader
В статье рассматривается простой подход к созданию системы автоматической торговли по линейной разметке графика. Предложен готовый эксперт, использующий стандартные свойства объектов MetaTrader 4 и 5 и поддерживающий основные торговые операции.
Быстрая оценка сигнала: торговая активность, графики просадки/загрузки и распределения MFE/MAE
При поиске Сигнала подписчики в первую очередь ориентируются на общий прирост на торговом счете Поставщика, и это, в общем-то, логично. Но при этом также важно принимать во внимание потенциальные риски, которые несет конкретная торговая стратегия. В этой статье мы покажем, как просто и наглядно можно оценить заинтересовавший Сигнал с помощью нескольких показателей.
Разнонаправленная торговля и хеджирование позиций в MetaTrader 5 с помощью API HedgeTerminal, часть 2
Статья описывает новый подход в вопросах хеджирования позиций и ставит точку в спорах между пользователями платформ MetaTrader 4 и MetaTrader 5 в этом вопросе. Она является продолжением первой части: "Разнонаправленная торговля и хеджирование позиций в MetaTrader 5 с помощью панели API HedgeTerminal". Во второй части описывается интеграция пользовательских экспертов с HedgeTerminalAPI - специальной библиотекой виртуализации, позволяющей торговать разнонаправлено, находясь в комфортном программном окружении, позволяющем легко и просто управлять своими позициями.
Глубокие нейросети (Часть VII). Ансамбль нейросетей: stacking
Мы продолжаем строить ансамбли. Теперь к bagging-ансамблю, созданному ранее, добавим обучаемый объединитель — глубокую нейросеть. Одна нейросеть объединяет 7 лучших выходов ансамбля после обрезки. Вторая принимает на вход все 500 выходов ансамбля, обрезает и объединяет их. Нейросети будем строить с помощью пакета keras/TensorFlow из Python. Кратко рассмотрим возможности пакета. Проведем тестирование и сравним качество классификации bagging и stacking ансамблей.
Уменьшаем расход памяти на вспомогательные индикаторы
Если индикатор для своих расчетов задействует значения множества других индикаторов, то такая система расходует много памяти. В статье рассмотрены несколько способов снижения расхода памяти при использовании вспомогательных индикаторов. Сэкономленная память позволит вам увеличить число одновременно используемых в терминале валютных пар, индикаторов и стратегий, что повысит надежность вашего торгового портфеля. Вот так простая забота о технических ресурсах вашего компьютера способна превратиться в материальные ресурсы на вашем депозите.
Создание пользовательской новостной ленты в MetaTrader 5
В статье рассматривается возможность создания гибкой новостной ленты, предоставляющей множество опций по выбору типа новостей и их источника. Статья показывает, как можно интегрировать веб-API с терминалом MetaTrader 5.
Хранение и отображение информации
Статья посвящена удобным и практичным методам хранения и отображения информации. Здесь рассматриваются альтернативы стандартному логфайлу терминала и функции Comment().
Когда нужно использовать указатели в MQL5
Все объекты в MQL5 по умолчанию передаются по ссылке, но есть возможность использовать и указатели объектов. При этом есть опасность получить в качестве параметра функции указатель неинициализированного объекта. В этом случае работа программы будет завершена критически с последующей выгрузкой. Автоматически создаваемые объекты как правило такой ошибки не вызывают, и в этом отношении они достаточно безопасны. В этой статье мы попробуем разобраться в чем разница между ссылкой и указателей, когда оправдано использование указателей и как написать безопасный код с использованием указателей.
Готовые советники из Мастера MQL5 работают в MetaTrader 4
В статье предлагается простой эмулятор торгового окружения MetaTrader 5 для MetaTrader 4. С его помощью выполняются перенос и адаптация торговых классов стандартной библиотеки. В результате советники, генерируемые в Мастере MetaTrader 5, могут компилироваться и запускаться без изменений в MetaTrader 4.
Что такое мартингал?
Краткое описание различного рода иллюзий, возникающих при игре на мартингале, применении стратегии мартингала или при злоупотреблении спайкингом и родственными приемами.
Секреты клиентского терминала MetaTrader 4: Система оповещений
Как быть в курсе происходящего в терминале и на Вашем счете без постоянного созерцания монитора.
Системные события; пользовательские события; звуковые и исполняемые файлы; электронные письма; настройка доступа к SMTP-серверу; публикации; настройка доступа к FTP-серверу.
Разработка Pivot Mean Oscillator: новый осциллятор на кумулятивном скользящем среднем
В статье описывается осциллятор Pivot Mean Oscillator (PMO), который представляет собой реализацию торговых сигналов на основе индикатора кумулятивного скользящего среднего для платформ MetaTrader. В частности, сначала будет рассмотрено понятие Pivot Mean (PM) — индекс нормализации временных рядов, который вычисляет соотношение между любой точкой данных и скользящей CMA. Затем построим осциллятор PMO как разницу между скользящими средними, построенными по двум сигналам PM. Также в статье будут показаны эксперименты на символе EURUSD, которые проводились для проверки эффективности индикатора.
Использование дискриминантного анализа для построения торговых систем
При построении торговой системы, как правило, встает задача выбора лучшей комбинации из индикаторов и их сигналов. Одним из способов построения таких комбинаций является дискриминантный анализ. В статье предлагается пример создания советника для сбора данных с рынка, рассмотрен пример использования дискриминантного анализа в программе Statistica для построения прогностических моделей для рынка FOREX.
Запускаем MetaTrader VPS впервые — пошаговая инструкция
Всем, кто использует торговые советники или подписки на сигналы, рано или поздно понадобится надежный круглосуточный хостинг для торговой платформы. Мы рекомендуем использовать MetaTrader VPS по целому ряду причин. Платить и управлять сервисом можно через аккаунт MQL5.community. Если у вас еще нет аккаунта на MQL5.com — зарегистрируйтесь и укажите его в настройках платформы.
Глубокие нейросети (Часть II). Разработка и выбор предикторов
Во второй статье из серии о глубоких нейросетях рассматриваются трансформация и выбор предикторов в процессе подготовки данных для обучения модели.
Создание многомодульных советников
Язык программирования MQL позволяет реализовать концепцию модульного проектирования торговых стратегий. В статье показан пример создания многомодульного советника, состоящего из отдельно скомпилированных файловых модулей.
Универсальный торговый эксперт: Работа с пользовательскими трейлинг-стопами (часть 6)
Шестая часть статьи об универсальном торговом эксперте описывает работу с трейлинг-стопами. Прочитав ее, Вы узнаете, как с помощью унифицированных правил создать свой собственный модуль трейлинг-стопа и подключить его в торговый движок таким образом, чтобы управление позицией с его помощью происходило в автоматическом режиме.
Прогнозирование временных рядов (Часть 1): метод эмпирической модовой декомпозиции (EMD)
В статье рассмотрена теория и практическое применение алгоритма прогнозирования временных рядов на основе эмпирической модовой декомпозиции, предложена его реализации на MQL, предоставлены тестовые индикаторы и эксперты.
Магия фильтрации
Большинство разработчиков механических торговых систем (МТС), так или иначе, использует фильтрацию торговых сигналов. В статье рассмотрены создание и применение полосовых и дискретных фильтров в советниках для улучшения характеристик МТС.
Файловые операции через WinAPI
Исполнительная среда MQL4 основана на концепции безопасной "песочницы": чтение и запись средствами языка разрешены только в определенных папках. Это защищает пользователя MetaTrader 4 от потенциальной опасности испортить важные данные на жестком диске компьютера. Но иногда все же бывает необходимость покинуть безопасную зону. Как это сделать легко и правильно - об этом статья.
Графические интерфейсы I: Функции для кнопок формы и удаление элементов интерфейса (Глава 4)
В этой главе продолжим развивать класс CWindow, дополняя его методами, которые позволят управлять формой посредством нажатия на ее элементах. Сделаем так, чтобы программу можно было закрыть через кнопку на форме, а также реализуем возможность сворачивания и разворачивания формы при необходимости.
Сказки торговых роботов: лучше меньше - да лучше?
Два года назад в статье "Последний крестовый поход" мы с вами, уважаемый читатель, рассмотрели довольно интересный и мало используемый в настоящее время способ отображения рыночной информации - графики крестиков-ноликов. Сейчас я предлагаю вам попробовать написать торгового робота, основанного на паттернах, которые можно увидеть на графиках крестиков-ноликов.
Изучаем класс CCanvas. Реализация прозрачности графических объектов
Надоела угловатая графика скользящих средних? Вы хотите рисовать в терминале что-то более красивое, чем простой прямоугольник с заливкой? Рисовать красиво в терминале можно. Для этого есть класс для создания пользовательской графики - CCanvas. С помощью этого класса можно реализовать прозрачность, смешивать цвета и получать иллюзию прозрачности при помощи наложения и смешивания цвета.
Рецепты MQL5 - Разработка мультивалютного индикатора волатильности на MQL5
В этой статье рассмотрим разработку мультивалютного индикатора волатильности. Начинающие разработчики на MQL5 могут столкнуться с некоторыми сложностями при разработке мультивалютных индикаторов, но после прочтения этой статьи все станет намного проще. Основные вопросы при разработке мультивалютного индикатора относятся к синхронизации данных других символов по отношению к текущему символу, решению проблемы отсутствия части данных индикатора, определению начала "истинных" баров таймфрейма. Все это будет подробно рассматриваться в статье.
Ошибка 146 ("Торговый поток занят") и как с ней бороться
Статья посвящена бесконфликтной торговле нескольких экспертов на одном терминале МТ 4 и рассчитана на пользователя, обладающего базовыми навыками работы с терминалом и программирования на MQL 4.
Генетические алгоритмы в MetaTrader 4. Сравнение с прямым перебором оптимизатора
В статье проводится сравнение скорости и результатов оптимизации советников с использованием генетических алгоритмов и прямым перебором.