Популяционные алгоритмы оптимизации: Алгоритм обезьян (Monkey algorithm, MA)
В этой статье рассмотрим алгоритм оптимизации "Алгоритм обезьян" (MA). Способность этих подвижных животных преодолевать сложные препятствия и добираться до самых труднодоступных вершин деревьев легли в основу идеи алгоритма MA.
Работа с таймсериями в библиотеке DoEasy (Часть 45): Мультипериодные индикаторные буферы
В статье начнём доработку объектов-индикаторных буферов и класса коллекции буферов для работы в мультипериодном и мультисимвольном режимах. В данной статье рассмотрим работу объектов-буферов для получения и вывода данных с любого таймфрейма на текущий график текущего символа.
Популяционные алгоритмы оптимизации: Светлячковый алгоритм (Firefly Algorithm - FA)
Рассмотрим метод оптимизации "Поиск с помощью светлячкового алгоритма" (FA). Из аутсайдера путем модификации алгоритм превратился в настоящего лидера рейтинговой таблицы.
Как сделать график более интересным: добавление фона
Многие рабочие терминалы содержат некое репрезентативное изображение, которое показывает что-то о пользователе, эти изображения делают рабочий стол более красивым и разнообразным. Давайте посмотрим, как сделать графики более интересными, добавив фон.
Лень - двигатель прогресса, или Как интерактивно работать с графикой
Индикатор для интерактивной работы с трендовыми линиями, Фибо-уровнями, значками, нанесенными на график вручную. Позволяет отрисовывать цветовые зоны фибо-уровней, показывает моменты пересечения ценой трендовой линии, управляет графическим объектом "Ценовая метка".
Разработка торгового робота на Python (Часть 3): Реализация торгового алгоритма на основе модели
Продолжаем цикл статей по созданию торгового робота на Python и MQL5. Сегодня решим задачу создания торгового алгоритма на Python.
Готовим мультисимвольные мультипериодные индикаторы
В статье рассмотрим принципы создания мультисимвольных мультипериодных индикаторов и получение от них данных в советниках и индикаторах. Рассмотрим основные нюансы использования мульти-индикаторов в советниках и индикаторах, и их отрисовку через буферы пользовательского индикатора.
Графика в библиотеке DoEasy (Часть 74): Базовый графический элемент на основе класса CCanvas
Переработаем концепцию построения графических объектов из прошлой статьи и подготовим базовый класс-основу всех графических объектов библиотеки, создаваемых на базе класса CCanvas Стандартной библиотеки.
Стать хорошим программистом (Часть 7): как стать успешным исполнителем во Фрилансе
Хотите стать успешным исполнителем во Фрилансе MQL5.Community? Тогда рекомендую почитать советы из этой статьи.
Машинное обучение и Data Science (Часть 03): Матричная регрессия
В этот раз мы будем создавать модели с помощью матриц — они дают большую гибкость и позволяют создавать мощные модели, которые могут обрабатывать не только пять независимых переменных, но и множество других, насколько позволяют пределы вычислительных возможностей компьютера. Статья будет очень интересной, это точно.
Введение в MQL5 (Часть 1): Руководство по алготрейдингу для начинающих
Данная статья представляет собой руководство по программированию на MQL5 для начинающих. Она открывает дверь в увлекательный мир алготрейдинга. Здесь вы познакомитесь с основами MQL5, языка программирования торговых стратегий в MetaTrader 5, который и станет проводником в мир автоматической торговли. Эта статья — от понимания основ до первых шагов в программировании — призвана раскрыть потенциал алготрейдинга для всех читателей, даже для тех, у кого совершенно нет опыта программирования. Надеюсь, вам понравится это путешествие в мир трейдинга с MQL5.
Использование крешлогов для отладки собственных dll
25-30% всех крешлогов, поступающих от пользователей, возникают в результате ошибок выполнения функций, импортируемых из пользовательских dll.
Опрос: мобильный терминал глазами трейдеров
Четкой картины относительно мобильного трейдинга и его будущего до сих пор не существует. Вокруг мобильного трейдинга ходит немало слухов. Чтобы развеять их и узнать, нравятся ли трейдерам наши мобильные терминалы, мы решили провести опрос. Нам удалось узнать, что думают наши клиенты, и получить целостную картину их пожеланий.
Стать хорошим программистом (Часть 2): избавляемся еще от пяти привычек на пути к лучшему программированию на MQL5
Статья обязательна к прочтению для всех, кто хочет улучшить свою карьеру программиста. Цель этой серии статей — помочь любому читателю, даже опытному, улучшить навыки программирования. Описанные в статье идеи работают как для начинающих MQL5-программистов, так и для профессионалов.
Владимир Цирульник: "Суть моей программы - импровизация!" (ATC 2010)
На счету у Владимира Цирульника один из самых ярких взлетов текущего Чемпионата. К концу третьей торговой недели эксперт Владимира пришел шестым и, похоже, не собирается сдавать позиций. Алгоритм IMEX, который лежит в основе советника, был создан самим разработчиком. Чтобы узнать об этом алгоритме побольше, мы связались с Владимиром.
Стать хорошим программистом (Часть 5): повышаем скорость программирования
Я полагаю, каждый разработчик хочет писать код быстрее. При этом возможность быстро и эффективно писать код — это не какая-то особая врожденная способность, доступная только избранным. Это навык, которым может овладеть любой программист, чем мы и займемся в этой статье.
Десять "ошибок" начинающего трейдера?
В статье обосновывается подход к построению торговой системы как последовательности открытия и закрытия взаимосвязанных ордеров в зависимости от складывающейся обстановки - цены и текущего значения прибыли/убытка каждого ордера, а не только и не столько от традиционных "сигналов". Приведен пример конкретной реализации такой простейшей торговой системы.
Работа с матрицами и векторами в MQL5
Для решения математических задач в MQL5 были добавлены матрицы и векторы. Новые типы имеют встроенные методы для написания краткого и понятного кода, который близок к математической записи. Массивы — это хорошо, но матрицы во многих случаях лучше.
Язык MQL как средство разметки графического интерфейса MQL-программ. Часть 2
В статье продолжается проверка новой концепции описания оконного интерфейса MQL-программ с помощью конструкций языка MQL. Автоматическое создание GUI на основе MQL-разметки предоставляет дополнительный функционал для кэширования и динамического порождения элементов, управления стилями, новых схем обработки событий. Прилагается усовершенствованная версия стандартной библиотеки элементов управления.
Работа с таймсериями в библиотеке DoEasy (Часть 51): Составные мультипериодные мультисимвольные стандартные индикаторы
В статье завершим разработку объектов мультисимвольных мультипериодных стандартных индикаторов. На примере стандартного индикатора Ichimoku Kinko Hyo разберём создание сложносоставных пользовательских индикаторов, имеющих вспомогательные рисуемые буферы для отображения данных на графике.
Разработка социального технологического стартапа, часть II: Программируем клиент MQL5 REST
Сегодня мы окончательно оформим идею публикации торговых сигналов эксперта в Твиттере на основе PHP. Об этом мы начали говорить в первой части статьи. Мы соберем вместе отдельные части SDSS. Что касается клиентской стороны архитектуры системы, мы будем использовать новую функцию MQL5 WebRequest() для отправки торговых сигналов через HTTP.
Использование AutoIt с MQL5
В статье рассматривается создание скриптов для терминала MetraTrader 5 путем интеграции MQL5 с AutoIt. Я покажу, как автоматизировать различные задачи с помощью пользовательского интерфейса терминала, а также представлю класс, использующий библиотеку AutoItX.
Набор инструментов для ручной разметки графиков и торговли (Часть III). Оптимизация и новые инструменты
Развитие темы рисования графических объектов на графиках с помощью сочетаниях клавиш. В библиотеку добавлены новые инструменты, в частности, прямая, которая идёт по произвольным вершинам, и набор прямоугольников, позволяющих оценить как уровень, так и время разворота. Также показана возможность оптимизации кода для улучшения быстродействия. Пример реализации переписан в виде индикатора, что даёт возможность устанавливать Shortcuts рядом с другими программами для торговли. Уровень владения кодом — чуть выше начинающего.
Использование криптографии совместно с внешними приложениями
Рассмотрены вопросы шифровки / дешифровки объектов в MetaTrader-e и сторонних программах с целью выяснения условий, при которых одинаковые результаты будут получаться при одинаковых исходных данных.
DoEasy. Элементы управления (Часть 1): Первые шаги
С этой статьи начинаем обширную тему по созданию на MQL5 элементов управления в стиле Windows Forms. И начнём тему с создания класса панели. Без наличия элементов управления уже становится сложно обходиться. Поэтому мы создадим все возможные элементы управления в стиле Windows Forms.
Работа с таймсериями в библиотеке DoEasy (Часть 41): Пример мультисимвольного мультипериодного индикатора
В статье рассмотрим пример создания мультисимвольного мультипериодного индикатора с использованием классов таймсерий библиотеки DoEasy, отображающего в подокне график выбранной валютной пары с выбранного таймфрейма в виде японских свечей. Немного доработаем классы библиотеки и создадим отдельный файл для хранения перечислений для входных параметров программ и выбора языка компиляции.
Нелинейные регрессионные модели на бирже
Нелинейные регрессионные модели на бирже: реально ли прогнозировать финансовые рынки? Попробуем создать моделеь для прогноза цен на евро-доллар, и сделать на ее основе двух роботов - на Python и MQL5.
Трейлинг-стоп в трейдинге
В этой статье мы рассмотрим использование трейлинг-стопа в торговле — насколько он полезен и эффективен, и как его можно использовать. Эффективность трейлинг-стопа во многом зависит от волатильности цены и подбора уровня стоп-лосса. Для установки стоп-лосса могут использоваться самые разные подходы.
Terminal Service Client. Как подружить Pocket PC с большим братом.
Подключение к удаленному компьютеру с терминалом МТ4 через КПК.
Статистический арбитраж с прогнозами
Мы рассмотрим статистический арбитраж, выполним поиск символов корреляции и коинтеграции с помощью Python, создадим индикатор для коэффициента Пирсона, а также советник для торговли статистическим арбитражем с прогнозами, сделанными с помощью Python и моделей ONNX.
Популяционные алгоритмы оптимизации: Алгоритм оптимизации с кукушкой (Cuckoo Optimization Algorithm — COA)
Следующий алгоритм, который рассмотрим — оптимизация поиском кукушки с использованием полётов Леви. Это один из новейших алгоритмов оптимизации и новый лидер в рейтинговой таблице.
Книга 'Энциклопедия торговых стратегий', Джеффри Оуэн Кац, Донна Л. МакКормик
«Энциклопедия торговых стратегий» ориентирована на трейдеров и финансовых аналитиков, которые стремятся повысить эффективность и надежность работы на финансовых и товарных рынках. Джеффри Кац и Донна Маккормик, имея немалый опыт торговли на фьючерсных рынках, тщательно исследуют методы и стратегии, которые, по мнению широкой публики, должны показывать выдающиеся результаты. Строгий анализ, основанный на тестах с использованием исторических данных по большому спектру рынков, развенчивает многие мифы и является основой научного подхода к построению разнообразных торговых систем.
В книге содержатся рекомендации по улучшенным методам контроля риска, показаны рискованные и потенциально убыточные методики, способные привести к разорению. Книгу можно использовать и как справочник по существующим на сегодняшний день торговым стратегиям и методам, и как руководство по построению оригинальных торговых систем.
Перенос кода индикатора в код эксперта. Заключение
Это заключительная статья, посвященная переносу кода индикатора в код эксперта. В ней автор на конкретном примере преобразует код эксперта так, чтобы этот эксперт был представлен всего одним файлом без обращений к пользовательским индикаторам.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XVII): Интерактивность объектов библиотеки
Сегодня доведём до логического завершения функционал базового объекта всех объектов библиотеки, который позволит любому объекту библиотеки, созданному на его основе, интерактивно взаимодействовать с пользователем. Например, можно установить максимально приемлемый размер спреда для открытия позиции и значение уровня цены, при пересечении которого нам будет послано событие от объекта-символа в программу о сигнале по размеру спреда и пересечению ценой контролируемого уровня.
Использование утверждений (assertions) при разработке программ на MQL5
В данной статье рассматриваются утверждения (assertions) в рамках языка MQL5. Даются два примера реализации механизма утверждений, а также приводятся общие рекомендации по применению утверждений.
Разработка торгового советника с нуля (Часть 31): Навстречу будущему (IV)
Мы продолжаем удалять разные вещи внутри советника. Это будет последняя статья в этой серии. Последнее, что будет удалено в данной серии статей - это звуковая система. Это может сбить читателя с толку, если он не следил за этими статьями.
Шаблон проектирования MVC и возможность его использования
В статье рассматривается распространенный шаблон MVC, возможность, плюсы и минусы его применения в программах на MQL. Его суть в том, чтобы "разделить" имеющийся код на три отдельных компонента: Модель (Model), Представление (View) и Контроллер (Controller).
Нейросети — это просто (Часть 31): Эволюционные алгоритмы
В предыдущей статье мы начали изучение безградиентных методов оптимизации. И познакомились с генетическим алгоритмом. Сегодня мы продолжаем начатую тему. И рассмотрим ещё один класс эволюционных алгоритмов.
Как сделать любой тип Trailing Stop и подключить к советнику
В статье рассмотрим классы для удобного создания различных трейлингов. Научимся подключать трейлинг-стоп к любому советнику.
Нейросети — это просто (Часть 28): Policy gradient алгоритм
Продолжаем изучение методов обучение с подкреплением. В предыдущей статье мы познакомились с методом глубокого Q-обучения. В котором мы обучаем модель прогнозирования предстоящей награды в зависимости от совершаемого действия в конкретной ситуации. И далее совершаем действие в соответствии с нашей политикой и ожидаемой наградой. Но не всегда возможно аппроксимировать Q-функцию. Или её аппроксимация не даёт желаемого результата. В таких случаях используют методы аппроксимации не функции полезности, а на прямую политику (стратегию) действий. Именно к таким методам относится policy gradient.