Механическая торговая система "Треугольник Чувашова"
Вашему вниманию предлагается обзор и программный код стратегии механической торговой системы по методике Станислава Чувашова. Основой построения треугольника является пересечение двух трендовых линий, построенных по верхним и нижним фракталам.
Способ построения уровней сопротивления и поддержки средствами MQL5
В данной статье описывается способ нахождения четырех точек-экстремумов для дальнейшего построения по ним уровней сопротивления и поддержки. При нахождении экстремумов на графике валютной пары используется индикатор RSI. Для примера представлен код индикатора, отображающего уровни сопротивления и поддержки.
Графические интерфейсы I: Подготовка структуры библиотеки (Глава 1)
С этой статьи я начинаю еще одну серию, относящуюся к разработке графических интерфейсов. На текущий момент нет ни одной библиотеки кода, которая позволяла бы легко и быстро создавать качественные графические интерфейсы в MQL-приложениях. Я имею в виду графические интерфейсы, к которым мы все привыкли в известных операционных системах.
Простые методики прогнозирования направления японских свечей
Знаний о направлении движения цены достаточно для получения положительных результатов от торговых операций. Некоторые сведения о возможном направлении дают японские свечи. В данной статье рассматриваются несколько простых подходов к прогнозированию их направления.
Универсальный торговый эксперт: Торговые режимы стратегий (Часть 1)
Каждый экспертописатель, независимо от уровня своей подготовки, ежедневно сталкивается с одними и теми же торговыми задачами и алгоритмическими проблемами, которые так или иначе приходится решать для организации надежного торгового процесса. Данная статья описывает возможности торгового движка CStrategy, способного взять на себя решение этих задач и предоставить пользователю удобные механизмы для описания своей торговой идеи.
Отображение уровней поддержки и сопротивления
Эта статья посвящена поиску и отображению Уровней Поддержки и Сопротивления в программе MetaTrader 4. На основе простого алгоритма строится удобный и универсальный индикатор. Эта статья затрагивает так же такую полезную тему, как создание простого индикатора, способного отображать в одну рабочую область результаты с разных периодов времени.
Как в MetaTrader 5 быстро разработать и отладить торговую стратегию
Скальперские автоматические системы по праву считаются вершиной алгоритмического трейдинга, но при этом они же являются и самыми сложными для написания кода. В этой статье мы покажем, как с помощью встроенных средств отладки и визуального тестирования строить стратегии, основанные на анализе поступающих тиков. Для выработки правил входа и выхода зачастую требуются годы ручной торговли. Но с помощью MetaTrader 5 вы можете быстро проверить любую подобную стратегию на реальной истории.
Использование WinInet.dll для обмена данными между терминалами через Интернет
В статье рассматриваются принципы работы с Интернет посредством HTTP запросов и обмен данными между терминалами с использованием промежуточного сервера. Представлен библиотечный класс MqlNet для работы с ресурсами Интернет в среде MQL5. Мониторинг цен от разных брокеров, обмен сообщениями с другими трейдерами не выходя из терминала, поиск информации в Интернете - вот только некоторые примеры, рассматриваемые в этой статье.
Соединение MetaTrader 5 и Python: получение и отправка данных
Работа с данными в наше время требует обширного инструментария и зачастую не ограничивается "песочницей" какого-то отдельного приложения. Существуют специализированные общепризнанные языки программирования для обработки и анализа данных, статистики и машинного обучения. Лидером в этой области является язык Python. В статье описан пример связи MetaTrader 5 и Python при помощи сокетов, а также получение котировок через API терминала.
Универсальная регрессионная модель для прогнозирования рыночной цены
Рыночная цена складывается в результате устойчивого равновесия между спросом и предложением, а те, в свою очередь, зависят от множества экономических, политических и психологических факторов. Непосредственный учет всех составляющих осложнен как различием природы, так и причиной воздействия этих факторов. На основании разработанной регрессионной модели в статье сделана попытка прогнозирования рыночной цены.
Советник MetaTrader 4 обменивается информацией с внешним миром
Простое, универсальное и надежное решение обмена информацией между МetaТrader 4 Советником и внешним миром. Поставщики и потребители информации могут размещаться на разных компьютерах, связь осуществляется через глобальные IP-адреса.
Связь с MetaTrader 5 через именованные каналы без применения DLL
Перед многими разработчиками встает одинаковая проблема - как пробиться в песочницу торгового терминала без применения небезопасных DLL. Одним из простых и безопасных методов является использование стандартных именованных каналов (Named Pipes), которые работают как обычные файловые операции. Они позволяют организовать межпроцессорное клиент-серверное взаимодействие между программами. Посмотрите практические примеры на C++ и MQL5 в виде сервера, клиента, обмен данными между ними и замер производительности.
Универсальный Зигзаг
Зигзаг — один из самых популярных индикаторов среди пользователей MetaTrader 5. В статье были проанализированы возможности создания различных вариантов Зигзага. В результате мы получаем универсальный индикатор с широкими возможностями для расширения функциональности, который удобно использовать при разработке торговых советников и других индикаторов.
Нейросеть: Самооптимизирующийся советник
Возможно ли создать советник, который согласно командам кода автоматически оптимизировал бы критерии открытия и закрытия позиций с определенной периодичностью? Что произойдет, если реализовать в советнике нейросеть (многослойный персептрон), которая, будучи модулем, анализировала бы историю и оценивала стратегию? Можно дать коду команду на ежемесячную (еженедельную, ежедневную или ежечасную) оптимизацию нейросети с последующим продолжением работы. Таким образом возможно создать самооптимизирующийся советник.
Мастер MQL5: Как написать свой модуль торговых сигналов
Генератор торговых стратегий Мастера MQL5 значительно упрощает проверку торговых идей. В статье рассказывается о том, как написать и подключить в Мастер MQL5 свой собственный класс торговых сигналов с реализацией сигналов по пересечению ценой скользящей средней, рассматривается структура и формат описания созданного класса для Мастера MQL5.
Теория адаптивных индикаторов и ее реализация в MQL5
В этой статье будут описаны принципы написания адаптивных индикаторов и их реализация в MQL5. В качестве примеров рассмотрены индикаторы Adaptive Cyber Cycle, Adaptive Center of Gravity и Adaptive RVI. Все эти индикаторы были впервые представлены в книге Джона Элерса "Cybernetic Analysis for Stocks and Futures".
Механическая Торговая Система "Вилка Чувашова"
В данной статье вашему вниманию предлагается краткий обзор методики и программный код стратегии механической торговой системы по методике Станислава Чувашова. Рассматриваемый анализ состояния рынка перекликается с подходом Т. Демарка к построению линий тренда для последнего ближайшего отрезка времени, в качестве опорных точек для построения трендовых линий используются фракталы.
Создание цифровых фильтров, не запаздывающих по времени
В статье рассматривается один из подходов к определению полезного сигнала (тенденции) потоковых данных. Небольшие практические тесты фильтрации (сглаживания) биржевых котировок демонстрируют потенциальную возможность создания цифровых фильтров (индикаторов), которые не запаздывают по времени и не перерисовываются на последних барах.
Прибыльные алгоритмы на трейлинг стопах
Цель этой статьи - исследование на прибыльность алгоритмов с различными входами в трейд и выходами по трейлинг стопам. В качестве входов будут использоваться случайный и обратный входы. В качестве стопов будут использованы трейлинг стоп, трейлинг тэйк. В статье будут показаны прибыльные алгоритмы с доходностью порядка 30 процентов в год.
Автоматический поиск дивергенций и конвергенций
В статье рассматриваются всевозможные виды дивергенции: простая, скрытая, расширенная, тройная, четвертная дивергенции, конвергенция, дивергенции классов A, B и C. Создается универсальный индикатор для их поиска и отображения на графике.
Разработка эксперта средствами UML
В статье рассматривается создание торгового советника с помощью графического языка UML, который используется для визуального моделирования объектно-ориентированных программных систем. Основным преимуществом такого подхода является визуализация работы проектировщика. Приведен пример проектирования структуры и свойств советника при помощи программы Software Ideas Modeler.
Секреты клиентского терминала MetaTrader 4: Индикаторы
Хотите написать свой собственный индикатор? Возможно то, что Вам нужно, уже реализовано во встроенных в клиентский терминал индикаторах. Имеет ли смысл изобретать велосипед?
Сводная таблица характеристик встроенных индикаторов; особенности и способы присоединения индикаторов к графику; построение уровней; отображение индикаторов на разных таймфреймах.
Random Decision Forest в обучении с подкреплением
Random Forest (RF) с применением бэггинга — один из самых сильных методов машинного обучения, который немного уступает градиентному бустингу. В статье делается попытка разработки самообучающейся торговой системы, которая принимает решения на основании полученного опыта взаимодействия с рынком.
Нейросети — это просто (Часть 5): Многопоточные вычисления в OpenCL
Мы уже познакомились с некоторыми типами реализации нейронных сетей. Легко заметить, что для каждого нейрона сети повторяются те же самые операции. И тут возникает желание воспользоваться возможностями многопоточных вычислений современной техники для ускорения процесса обучения нейронной сети. Об одном из вариантов такой реализации пойдет речь в данной статье.
MQL5 для "чайников": Как проектировать и конструировать классы объектов
На примере создания программы визуального программирования показано, как проектировать и конструировать классы на MQL5. Статья предназначена для начинающих разработчиков приложений МТ5. Предлагается простая и понятная технология создания собственных классов без глубокого погружения в теорию объектно-ориентированного программирования.
Как открыть мир C# из MQL5 путем экспорта неуправляемого кода
В данной статье я представил различные методы взаимодействия между кодом, написанным на MQL5, и управляемым кодом на C#. Также я подготовил несколько примеров маршалинга структур MQL5 для C# и примеров вызова экспортированных функций DLL в скриптах на MQL5. Приведенные примеры могут служить основой для дальнейших исследований аспектов написания DLL в управляемом коде. Эта статья также открывает двери для использования в MetaTrader 5 множества библиотек, уже реализованных на C#.
Статистическая проверка системы управления капиталом Лябушера
В статье приводится проверка статистических свойств системы управления капиталом Лябушера, являющейся менее агрессивной разновидностью Мартингейла и предполагающей повышение ставок не в 2 раза, а на определенную величину.
Тестер в терминале MetaTrader 4: Это необходимо знать
Продуманный интерфейс терминала MetaTarder 4 является фасадом, но кроме того терминал имеет в своем составе также тщательно проработанный тестер стратегий. И если достоинства МТ4 как торгового терминала являются очевидными, то оценка возможностей тестера по качественному тестированию стратегий приходит только с опытом. Эта статья показывает достоинства и преимущества тестирования именно в MetaTrader 4.
Создание тиковых индикаторов
В этой статье описывается создание двух индикаторов: строящего тиковый график цены и рисующего "тиковые свечи" - свечи, содержащие заданное число тиков. Каждый из рассмотренных индикаторов записывает поступающие значения цен в файл для построения индикаторов при повторном запуске терминала (эти данные также могут использоваться другими приложениями).
100 лучших проходов оптимизации (Часть 1). Cоздание анализатора оптимизаций
В данной статье я расскажу, как создать приложение для отбора лучших проходов оптимизаций по нескольким возможным вариантам. Данное приложение умеет фильтровать и сортировать оптимизационные результаты по множеству коэффициентов. Проходы оптимизации записываются в базу данных, поэтому вы всегда можете отобрать новые параметры робота без необходимости переоптимизирования. Вдобавок ко всему это позволяет увидеть все проходов оптимизации на едином графике, рассчитывать параметрические VaR коэффициенты и строить график нормального распределения проходов и результатов торговли конкретного выделенного варианта сочетания коэффициентов. Также строятся графики некоторых из рассчитываемых коэффициентов в динамике, начиная с момента старта оптимизации (или с выбранной даты до другой выбранной даты).
Пользовательские графические элементы управления. Часть 1. Создание простого элемента управления
В статье рассматриваются общие принципы разработки графических элементов управления, выполняется подготовка средств для быстрой и удобной работы с графическими объектами, приводится пример создания простого элемента управления для ввода текстовых или числовых данных и пример его использования.
Практическое применение нейросетей в трейдинге. Переходим к практике
В статье даны описание и инструкция по практическому применению нейросетевых модулей на платформе Matlab. Также затронуты основные аспекты построения системы торговли с использованием НСМ. Для ознакомления с комплексом в рамках сжатого изложения для данной статьи мне пришлось его несколько модернизировать таким образом, чтобы в одной программе совместить несколько функций НСМ.
Защита MQL5-программ: пароли, ключи, ограничение по времени, удаленная проверка лицензий
Большинство разработчиков нуждаются в защите своих кодов. В этой статье представлены несколько различных способов защиты MQL5-программ - методы обеспечения лицензирования скриптов, советников и индикаторов. Рассмотрена парольная защита, генераторы ключей, привязка к торговым счетам, ограничение по времени и удаленная проверка лицензий при помощи MQL5-RPC.
Тестирование торговых стратегий на реальных тиках
В данной статье мы покажем результаты тестирования простой торговой стратегии в 3-х режимах: "OHLC на M1", "Все тики" и "Каждый тик на основе реальных тиков" с использованием записанных тиков из истории.
MQL5 Cloud Network ускоряет расчеты
Сколько ядер на вашем домашнем компьютере? И сколько компьютеров вы можете задействовать для оптимизации торговой стратегии? Мы покажем как с помощью MQL5 Cloud Network ускорить расчеты и получить для этого вычислительные мощности по всему миру одним щелчком мыши. Выражение "Время - деньги" становится актуальнее с каждым годом, и не всегда мы можем позволить себе ждать окончания важных расчетов в течение десятков часов или даже дней.
Как найти прибыльную торговую стратегию
В статье дан ответ на вопрос: "Можно ли, используя нейронные сети, на исторических данных сформулировать торговую стратегию с помощью компьютера?".
Пример разработки спредовой стратегии на фьючерсах Московской биржи
MetaTrader 5 позволяет разрабатывать и тестировать роботов, торгующих одновременно на нескольких инструментах. Встроенный в платформу тестер стратегий автоматически скачивает с торгового сервера брокера тиковую историю и учитывает спецификацию контрактов — разработчику ничего не нужно делать руками. Это позволяет легко и максимально достоверно воспроизводить все условия торгового окружения — вплоть до миллисекундных интервалов между поступлениями тиков на разных символах. В этой статье мы покажем, как провести разработку и тестирование спредовой стратегии на двух фьючерсах Московской биржи.
Сколько длится тренд?
В статье выбираются несколько способов идентификации тренда с целью определения его длительности по отношению к флэтовому состоянию рынка. В теории считается, что соотношение тренда к флэту составляет 30% на 70%. Это нам предстоит и проверить.
Нейросети — это просто (Часть 2): Обучение и тестирование сети
В данной статье мы продолжим изучение нейронных сетей, начатое в предыдущей статье и рассмотрим пример использования в советниках созданного нами класса CNet. Рассмотрены две модели нейронной сети, которые показали схожие результаты как по времени обучения, так и по точности предсказания.
Язык MQL4 для "чайников". Сложные вопросы простым языком
Это вторая статья из цикла "Язык MQL 4 для "чайников"". В ней мы будем разбираться в более сложных и продвинутых конструкциях языка, изучим новые возможности и посмотрим, как их можно применять в ежедневной практике. Сейчас вы узнаете про новый вид циклов while, новый вид условий switch, операторы break и continue. Кроме того вы научитесь писать собственные функции и работать с многомерными массивами. На десерт я подготовил для вас разъяснения о препроцессоре.