Как выбрать торгового советника: Двадцать явных признаков плохого робота
В этой статье мы попытаемся ответить на вопрос, как выбрать подходящего торгового советника. Какие из них лучше всего подходят для нашего портфеля и как мы можем отсеять большую часть торговых роботов, доступных на рынке? В статье представлены двадцать явных признаков некачественного советника. Статья поможет вам принимать более обоснованные решения и создать коллекцию прибыльных торговых советников.
Разработка экспериментальной DLL с поддержкой многопоточности в C++ для MetaTrader 5 на Linux
В статье рассмотрен процесс разработки для платформы MetaTrader 5 исключительно в системе Linux. При этом конечный продукт без проблем работает как в Windows, так и в Linux. Мы познакомимся с Wine и Mingw - важными инструментами кроссплатформенной разработки. В Mingw реализована потоковая передача (POSIX и Win32), что необходимо учитывать при выборе подходящего инструмента. Затем мы создадим DLL для проверки концепции и используем ее в коде MQL5, а также сравним производительность обеих реализаций потоков. Статья призвана стать отправной точкой для ваших собственных экспериментов. После прочтения статьи вы сможете создавать инструменты для MetaTrader в Linux.
Модифицированный советник Grid-Hedge в MQL5 (Часть I): Создание простого хеджирующего советника
Мы будем создавать простой хеджирующий советник в качестве основы для нашего более продвинутого советника Grid-Hedge, который будет представлять собой смесь классической сетки и классических стратегий хеджирования. К концу этой статьи вы узнаете, как создать простую стратегию хеджирования, а также что говорят люди о прибыльности этой стратегии.
Нейросети — это просто (Часть 73): АвтоБоты прогнозирования ценового движения
Мы продолжаем рассмотрение алгоритмов обучения моделей прогнозирования траекторий. И в данной статье я предлагаю вам познакомиться с методом под названием “AutoBots”.
Работа с ценами в библиотеке DoEasy (Часть 59): Объект для хранения данных одного тика
С данной статьи приступим к созданию функционала библиотеки для работы с ценовыми данными. Сегодня создадим класс объекта, который будет хранить в себе все данные цен, пришедшие с очередным тиком.
Работа MetaTrader 4 под защитой антивирусов и файрволов
Большинство пользователей используют для защиты своих компьютеров специализированные программы. К сожалению, эти программы не только защищают компьютеры от вторжений, вирусов и троянов, но и потребляют достаточное количество ресурсов. В первую очередь это касается сетевого трафика, который на 100% контролируется разнообразными интеллектуальными файрволами и антивирусами.
Поводом для написания этой статьи послужили обращения трейдеров, которые жаловались на замедление работы терминала МетаТрейдер при работе с Outpost Firewall. Мы решили провести собственные исследования на примере Антивируса Касперского 6.0 и файрвола Outpost Pro 4.0
Графика в библиотеке DoEasy (Часть 88): Коллекция графических объектов — двумерный динамический массив для хранения динамически изменяемых свойств объектов
В статье создадим класс динамического многомерного массива с возможностью изменения количества данных в любом измерении. На основе созданного класса создадим двумерный динамический массив для хранения динамически изменяемых некоторых свойств графических объектов.
Прогнозирование на основе глубокого обучения и открытие ордеров с помощью пакета MetaTrader 5 python и файла модели ONNX
Проект предполагает использование Python для прогнозирования на финансовых рынках на основе глубокого обучения. Мы изучим тонкости тестирования производительности модели с использованием таких ключевых показателей, как средняя абсолютная ошибка (MAE), средняя квадратичная ошибка (MSE) и R-квадрат (R2), а также научимся объединять это всё в исполняемом файле. Мы также создадим файл модели ONNX и советник.
Вспоминаем старую трендовую стратегию: два стохастических осциллятора, MA и Фибоначчи
Старые торговые стратегии. В этой статье представлена стратегия отслеживания тренда. Стратегия исключительно техническая и использует несколько индикаторов и инструментов для подачи сигналов и определения целевых уровней. Компоненты стратегии включают в себя: 14-периодный стохастический осциллятор, пятипериодный стохастический осциллятор, скользящую среднюю с периодом 200 и проекцию Фибоначчи (для установки целевых уровней).
Популяционные алгоритмы оптимизации: Алгоритмы эволюционных стратегий (Evolution Strategies, (μ,λ)-ES и (μ+λ)-ES)
В этой статье будет рассмотрена группа алгоритмов оптимизации, известных как "Эволюционные стратегии" (Evolution Strategies или ES). Они являются одними из самых первых популяционных алгоритмов, использующих принципы эволюции для поиска оптимальных решений. Будут представлены изменения, внесенные в классические варианты ES, а также пересмотрена тестовая функция и методика стенда для алгоритмов.
Групповые файловые операции
Иногда требуется проделать одинаковые операции для некоторой группы файлов. Если у вас есть список файлов, входящих в эту группу, то это не проблема. Но если этот список нужно получить самостоятельно, то возникает вопрос: "Каким образом?" В статье предлагается сделать это с помощью функций FindFirstFile() и FindNextFile(), входящих в библиотеку kernel32.dll.
Стать хорошим программистом (Часть 6): 9 привычек для эффективной разработки
Качество разработки — это не только про написание кода. На своем опыте я выявил определенные привычки, которые помогают повысить эффективность разработки. О некоторых из них мы поговорим в этой статье. Статья обязательна к прочтению для всех, кто хочет улучшить навыки написания сложных алгоритмов.
Тестируем информативность разных типов скользящих средних
Мы все знаем важность скользящей средней для многих трейдеров. Существуют разные типы скользящих средних, которые могут быть полезны в торговле. Мы рассмотрим их и проведем простое сравнение, чтобы увидеть, какой из них может показать лучшие результаты.
Объектно-ориентированное программирование (ООП) в MQL5
Как разработчикам, нам необходимо научиться создавать и разрабатывать программное обеспечение, которое можно использовать многократно и гибко, без дублирования кода, особенно если у нас есть разные объекты с разным поведением. Это можно легко сделать, используя методы и принципы объектно-ориентированного программирования. В этой статье представлены основы объектно-ориентированного программирования в MQL5.
Готовые шаблоны для подключения индикаторов в экспертах (Часть 2): Индикакторы объёма и Билла Вильямса
В статье рассмотрим стандартные индикаторы из категории Объемов и индикаторов Билла Вильямса. Создадим готовые к применению шаблоны использования индикаторов в советниках — объявление и установка параметров, инициализация, деинициализация индикаторов и получение данных и сигналов из индикаторных буферов в советниках.
Индикаторы с интерактивным управлением на графике
Новый взгляд на интерфейс индикаторов. Главное — удобство. Перепробовав за долгие годы десятки различных торговых стратегий, а также протестировав сотни различных индикаторов, я сделал для себя некоторые выводы, которыми хочу с вами поделиться в этой статье.
Модифицированный советник Grid-Hedge в MQL5 (Часть II): Создание простого сеточного советника
В статье рассматривается классическая сеточная стратегия, подробно описана ее автоматизация с помощью советника на MQL5 и проанализированы первоначальные результаты тестирования на истории. Также подчеркивается необходимость в долгом удержании позиций и рассматривается возможность оптимизации ключевых параметров (таких как расстояние, тейк-профит и размеры лотов) в будущих частях. Целью этой серии статей является повышение эффективности торговой стратегии и ее адаптируемости к различным рыночным условиям.
Работа с таймсериями в библиотеке DoEasy (Часть 57): Объект данных буфера индикатора
В статье разработаем объект, который будет содержать в себе все данные одного буфера одного индикатора. Такие объекты потребуются для хранения серийных данных буферов индикаторов, и с помощью которых возможно будет сортировать и сравнивать данные буферов любых индикаторов и других схожих данных между собой.
Может ли Heiken Ashi давать хорошие сигналы в сочетании со скользящими средними?
Комбинации стратегий могут повысить эффективность торговли. Мы можем комбинировать индикаторы и паттерны, чтобы получать дополнительные подтверждения. Скользящие средние помогают нам подтвердить тренд и следовать ему. Это самые известный технический индикатор, что объясняется его простотой и доказанной эффективностью анализа.
Разработка торговой системы на основе индекса силы медведей Bears Power
Представляю вашему вниманию новую статью из серии, в которой мы учимся строить торговые системы на основе самых популярных индикаторов. На этот раз мы поговорим об Индексе силы медведей Bears Power и создадим торговую систему по его показателям.
Графика в библиотеке DoEasy (Часть 91): События стандартных графических объектов в программе. История изменения имени объекта
В статье доработаем базовый функционал для предоставления контроля событий графических объектов из программы, работающей на основе библиотеки. Начнём создание функционала для хранения истории изменений свойств графических объектов на примере свойства "Имя объекта".
Парный трейдинг: Алготорговля с автооптимизацией на разнице Z-оценки
В этой статье разберем, что такое парный трейдинг и как происходит торговля на корреляциях. Также создадим советник для автоматизации парного трейдинга и добавим возможность автоматической оптимизации такого торгового алгоритма на исторических данных. Кроме того, в рамках проекта узнаем, как рассчитывать расхождения двух пар с помощью z-оценки.
Работа с матрицами, расширение функционала Стандартной библиотеки матриц и векторов
Матрица служит основой алгоритмов машинного обучения и компьютеров в целом из-за ее способности эффективно обрабатывать большие математические операции. В Стандартной библиотеке есть все, что нужно, но мы можем расширить ее, добавив несколько функций в файл utils.
Популяционные алгоритмы оптимизации: Бинарный генетический алгоритм (Binary Genetic Algorithm, BGA). Часть II
В этой статье мы рассмотрим бинарный генетический алгоритм (BGA), который моделирует естественные процессы, происходящие в генетическом материале у живых существ в природе.
Популяционные алгоритмы оптимизации: Алгоритм боидов, или алгоритм стайного поведения (Boids Algorithm, Boids)
В данной статье мы проводим исследование алгоритма Boids, в основе которого лежат уникальные примеры стайного поведения животных. Алгоритм Boids, в свою очередь, послужил основой для создания целого класса алгоритмов, объединенных под названием "Роевый интеллект".
Работа с ценами в библиотеке DoEasy (Часть 63): Стакан цен, класс абстрактной заявки стакана цен
В статье начнём разработку функционала для работы со стаканом цен. Создадим класс объекта абстрактной заявки стакана цен и его наследников.
Разработка и тестирование торговых систем Aroon
В этой статье мы узнаем, как построить торговую систему Aroon, изучив основы индикаторов и необходимые шаги для создания торговой системы на основе индикатора Aroon. После создания этой торговой системы мы проверим, может ли она быть прибыльной или требует дополнительной оптимизации.
Прочие классы в библиотеке DoEasy (Часть 70): Расширение функционала и автообновление коллекции объектов-чартов
В статье расширим функционал объектов-чартов, организуем навигацию по графикам, создание скриншотов, сохранение и применение шаблонов к графикам. Также сделаем автоматическое обновление коллекции объектов-чартов, их окон и индикаторов в них.
Работа с ONNX-моделями в форматах float16 и float8
Форматы данных, используемые для представления моделей машинного обучения, играют ключевую роль в их эффективности. В последние годы появилось несколько новых типов данных, разработанных специально для работы с моделями глубокого обучения. В данной статье мы обратим внимание на два новых формата данных, которые стали широко применяться в современных моделях.
Все, что вам нужно знать о структуре программы MQL5
Любая программа на любом языке программирования имеет определенную структуру. В этой статье вы изучите основные компоненты структуры программы на MQL5, что может быть очень полезно при создании торговой системы или торгового инструмента для MetaTrader 5.
Простые решения для удобной работы с индикаторами
В этой статье расскажу, как сделать простенькую панельку для изменения настроек индикатора прямо с графика, и какие изменения нужно внести в индикатор, чтобы подключить эту панель. Статья рассчитана исключительно на тех, кто только начал знакомиться с языком MQL5.
Запуск на Linux-desktop клиентского терминала MetaTrader 4 build 198
Описание пошаговой подготовки Linux-desktop с использованием неэмулятора wine для запуска на нем клиентского терминала MetaTrader 4 build 198.
Как построить советник, работающий автоматически (Часть 03): Новые функции
Сегодня вы научитесь создавать советник, который просто и безопасно работает в автоматическом режиме. В предыдущей статье мы начали разрабатывать систему ордеров, которой будем пользоваться в автоматическом советнике. Однако мы создали только одну из необходимых функций или процедур.
Нейросети — это просто (Часть 57): Стохастический маргинальный актор-критик (SMAC)
Предлагаем познакомиться с довольно новым алгоритмом Stochastic Marginal Actor-Critic (SMAC), который позволяет строить политики латентных переменных в рамках максимизации энтропии.
Брутфорс-подход к поиску закономерностей (Часть VI): Циклическая оптимизация
В этой статье я покажу первую часть доработок, которые позволили мне не только замкнуть всю цепочку автоматизации для торговли в MetaTrader 4 и 5, но и сделать что-то гораздо интереснее. Отныне данное решение позволяет мне полностью автоматизировать как процесс создания советников, так и процесс оптимизации, а также минимизировать трудозатраты на поиск эффективных торговых конфигураций.
Осваиваем рыночную динамику: Создание советника на основе стратегии поддержки и сопротивления
В статье представлено подробное руководство по разработке автоматизированного торгового алгоритма на основе стратегии поддержки и сопротивления. Дана подробная информация по всем аспектам создания советника на MQL5 и его тестирования в MetaTrader 5 — от анализа поведения ценового диапазона до управления рисками.
Разработка торгового советника с нуля (Часть 29): Говорящая платформа
В этой статье мы научимся, как заставить платформу MT5 говорить. А что если мы сделаем советника более веселым? Торговля на финансовых рынках часто является чрезвычайно скучным и монотонным занятием, но мы можем сделать эту работу менее утомительной. Этот проект может стать опасным, если у вас есть проблема, делающая вас зависимым, но на самом деле весь сценарий с модификациями может быть более увлекательным и менее скучным.
Как построить советник, работающий автоматически (Часть 06): Виды счетов (I)
Сегодня мы рассмотрим, как создать советник, который просто и безопасно работает в автоматическом режиме. Пока наш советник может работать в любой ситуации, но он ещё не готов к автоматизации, поэтому нам нужно проработать несколько моментов.
Понимание и эффективное использование тестера стратегий MQL5
MQL5-разработчикам крайне необходимо освоить важные и ценные инструменты. Одним из таких инструментов является тестер стратегий. Статья представляет собой практическое руководство по использованию тестера стратегий MQL5.
Использование алгоритмов оптимизации для настройки параметров советника "на лету"
В статье рассматриваются практические аспекты использования алгоритмов оптимизации для поиска наилучших параметров советников "на лету", виртуализация торговых операций и логики советника. Данная статья может быть использована как своеобразная инструкция для внедрения алгоритмов оптимизации в торгового советника.