Пример написания игры "Змейка" на MQL5
В статье рассматривается пример написания игры "Змейка". Создание игр в 5-ой версии языка MQL стало возможным, в первую очередь, благодаря обработке событий. Поддержка объектно-ориентированного программирования значительно упрощает данный процесс. Также вы узнаете особенности обработки событий, примеры работы со стандартной библиотекой MQL5 и способы периодического вызова функций.
Рецепты MQL5 - Торговые сигналы пивотов
В статье представлен процесс разработки и реализации класса-сигнальщика на основе пивотов — разворотных уровней. На базе этого класса строится стратегия с использованием Стандартной библиотеки. Рассматриваются возможности развития стратегии пивотов посредством добавления фильтров.
Как создать эксперта за несколько минут при помощи EA Tree: Часть 1
Программа EA Tree является первым инструментом, позволяющим построить код советника на базе блок-схем методом "drag and drop". Создание советников в EA Tree осуществляется путем построения блоков, которые могут содержать функции языка MQL5, технические и пользовательские индикаторы, или численные значения. Выходы блоков могут быть соединены с входами других блоков, образуя "дерево блоков". На базе дерева блоков программа EA Tree генерирует исходный код советника, который затем может быть скомпилирован в торговой платформе MetaTrader 5.
Создаем кроссплатформенный советник-сеточник: тестируем мультивалютный советник
За месяц рынки упали более чем на 30%. Это ли не лучшее время для тестирования советников на основе сеток и мартингейл? Данная статья является продолжением серии статей "Создаем кроссплатформенный советник-сеточник", выход которого не планировался. Но раз сам рынок предоставляет возможность устроить советнику-сеточнику стресс-тестирование, почему бы этим не воспользоваться. Так давайте займемся этим.
Параллельные вычисления в MetaTrader 5 штатными средствами
Время является неизменной ценностью на протяжении всей истории человечества, и мы стремимся не расходовать его понапрасну. Из этой статьи вы узнаете, как можно ускорить работу вашего эксперта, если у вашего компьютера многоядерный процессор. Причем, реализация описываемого метода не требует знания каких-либо еще языков кроме MQL5.
Рецепты MQL5 - Изучение свойств позиции в тестере MetaTrader 5
Модифицированная версия эксперта из предыдущей статьи "Рецепты MQL5 - Свойства позиции на пользовательской информационной панели". Рассмотрим ряд вопросов: получение данных баров, отслеживание события "новый бар" на текущем символе, подключение торгового класса стандартной библиотеки, создание функции поиска торговых сигналов, создание функции для выполнения торговых операций, а также определение торгового события в функции OnTrade().
Графические интерфейсы X: Текстовое поле ввода, слайдер картинок и простые элементы управления (build 5)
В этой статье будут рассматриваться новые элементы управления: «Текстовое поле ввода», «Слайдер картинок», а также простые дополнительные элементы: «Текстовая метка» и «Картинка». Библиотека продолжает развиваться, и кроме добавления новых элементов управления, дорабатываются и ранее созданные.
Графические интерфейсы X: Расширенное управление списками и таблицами. Оптимизация кода (build 7)
Код библиотеки нуждается в оптимизации: он должен быть более упорядоченным, а значит — более читаемым и понятным для изучения. Кроме этого, продолжим развивать элементы управления, созданные ранее: списки, таблицы и полосы прокрутки.
Рецепты MQL5 - Свойства позиции на пользовательской информационной панели
На этот раз создадим простого эксперта, который во время ручной торговли будет показывать свойства позиции по текущему символу на пользовательской информационной панели, которая будет собрана из графических объектов. Данные будут обновляться на каждом тике, что уже намного удобнее, чем постоянно запускать вручную скрипт, который описывался в предыдущей статье "Рецепты MQL5 - Как получить свойства позиции?".
Использование индикаторов для RealTime оптимизации советников
Ни для кого не секрет, что успешность работы любого торгового робота зависит от правильного подбора его параметров (его оптимизации). Но оптимальные для одного временного интервала параметры не всегда оказываются наилучшими на другом участке истории. А зачастую советники, прибыльные на тестировании, оказываются убыточными в реальном времени. И здесь возникает вопрос о необходимости постоянной оптимизации. А там где появляется много рутинной работы человек ищет пути ее автоматизации. В данной статье я предлагаю свой нестандартный подход к решению данной задачи.
Рецепты MQL5 - Озвучиваем торговые события в MetaTrader 5
В этой статье мы рассмотрим такие вопросы, как включение в файл эксперта звуковых файлов и, соответственно, озвучивание торговых событий. Включение файлов означает, что звуковые файлы будут находиться внутри эксперта, и если передать скомпилированную версию эксперта (*.ex5) другому пользователю, то не нужно будет передавать ему звуковые файлы и объяснять при этом, в какую папку их положить.
Графические интерфейсы X: Элемент "Многострочное текстовое поле ввода" (build 8)
Рассматривается элемент "Многострочное поле ввода". В отличие от графического объекта типа OBJ_EDIT, в представленной версии не будет ограничений на количество вводимых символов. Кроме этого, становится доступен режим, когда поле ввода превращается в простой текстовый редактор, где курсор можно перемещать мышью или клавишами.
Как копировать сигналы с помощью советника по своим правилам?
При подписке на сигналы может возникнуть такая ситуация: у Вашего торгового счёта кредитное плечо 1:100, провайдер имеет кредитное плечо 1:500 и торгует минимальным лотом, а Ваши торговые балансы практически равны — при этом коэффициент копирования будет от 10% до 15%. Эта статья расскажет, как в таком случае увеличить коэффициент копирования.
Мастер MQL5: Расширение стандартной библиотеки для установки ордеров, стопов и целей по вычисляемым ценам
В статье описывается расширение стандартной библиотеки MQL5, позволяющее с помощью Мастера создавать советники, размещающие ордера, стоп-лоссы и тейк-профиты по ценам, получаемым от подключенных модулей. Данный подход не накладывает дополнительных ограничений на количество модулей и не вызывает конфликтов в их совместной работе.
Управление оптимизацией (Часть I): Создание графического интерфейса
В данной статье описывается процесс создания расширения для терминала MetaTrader. Предлагаемое решение помогает автоматизировать процесс оптимизации путем запуска оптимизаций в других терминалах. На базе данной статьи будет написано еще несколько статей, развивающих затронутую тему. Расширение написано с использованием языка C# и шаблонов программирования, что демонстрирует помимо основной задачи данной статьи возможность терминала к расширению изначально заложенных в него возможностей путем написания собственных модулей, а также то, как просто можно создавать пользовательскую графику в языке с наиболее удобным для этого функционалом.
Мастер MQL5: Как написать свой модуль управления капиталом и рисками
Генератор торговых стратегий Мастера MQL5 значительно упрощает проверку торговых идей. В статье рассказывается о том, как написать и подключить в Мастер MQL5 свой собственный модуль управления капиталом и рисками. В качестве примера рассматривается создание алгоритма управления капиталом, в котором размер торгового объема определяется в зависимости от результатов предыдущей сделки. Рассматривается структура и формат описания созданного класса для Мастера MQL5.
Рецепты MQL5 - Разработка мультивалютного эксперта с неограниченным количеством параметров
В этой статье мы создадим схему, в которой для оптимизации торговой системы будет использоваться единый набор параметров, а количество символов можно использовать сколько угодно. Список символов будем составлять в обычном текстовом файле (*.txt). Входные параметры для каждого символа также теперь будут храниться в файлах. Так мы сможем обойти ограничение терминала на количество входных параметров эксперта.
Графические интерфейсы XI: Нарисованные элементы управления (build 14.2)
В новой версии библиотеки все элементы библиотеки будут рисоваться на отдельных графических объектах типа OBJ_BITMAP_LABEL. Также продолжим описывать оптимизацию кода: рассмотрим изменения в классах, которые являются ядром библиотеки.
Мультисимвольный график баланса в MetaTrader 5
В статье продемонстрирован пример MQL-приложения с графическим интерфейсом, в котором отображаются графики мультисимвольного баланса и просадки депозита по результатам последнего теста.
Универсальный торговый эксперт: Интеграция со стандартными модулями сигналов MetaTrader (часть 7)
Эта часть статьи посвящена интеграции торгового движка CStrategy с модулями сигналов, входящих в стандартную библиотеку MetaTrader. Материал описывает способы работы с сигналами и создание пользовательских стратегий на их основе.
Работа с GSM-модемом из эксперта на MQL5
На текущий момент существует достаточно средств для комфортного удалённого мониторинга торгового счёта: мобильные терминалы, push-уведомления, работа с ICQ. Но всё это требует обязательного наличия интернета. Данная статья описывает создание эксперта, который позволит вам находиться на связи с торговым терминалом даже в той ситуации, когда мобильный интернет будет недоступен, а именно - при помощи звонков и SMS-сообщений.
Нейросети — это просто (Часть 14): Кластеризация данных
Должен признаться, что с момента публикации последней статьи прошло уже больше года. За столь длительное время можно многое переосмыслить, выработать новые подходы. И в новой статье я хотел бы немного отойти от используемого ранее метода обучения с учителем, и предложить немного окунуться в алгоритмы обучения без учителя. И, в частности, рассмотреть один из алгоритмов кластеризации — k-средних.
Графические интерфейсы II: Элемент "Пункт меню" (Глава 1)
В второй части серии будет показан процесс разработки таких элементов интерфейса, как главное меню и контекстное меню. Также затронем тему рисования элементов и для этого создадим специальный класс. Очень широко будет освещен такой вопрос, как управление событиями программы, в том числе и пользовательскими.
WebSocket для MetaTrader 5
До появления сетевых функций в обновленном MQL5 API, приложения MetaTrader были ограничены в возможности подключаться и взаимодействовать с сервисами на основе протокола WebSocket. Сейчас ситуация изменилась. В этой статье мы рассмотрим реализацию библиотеки WebSocket на чистом MQL5. Будут представлены краткое описание протокола WebSocket и пошаговое руководство по использованию полученной библиотеки.
Интеграция эксперта на MQL и базы данных (SQL Server, .NET и C#)
Статья описывает, как добавить в экспертов на MQL5 возможность работы с сервером баз данных Microsoft SQL Server. Используется импорт функций из DLL. Для создания DLL применяется платформа Microsoft .NET и язык C#. Используемые в статье методы с незначительными изменениями подходят и для экспертов, написанных на MQL4.
Нейросети — это просто (Часть 11): Вариации на тему GPT
Сегодня, наверное, одной из самых передовых языковых моделей нейросетей является GPT-3, которая в максимальном своем варианте содержит 175 млрд. параметров. Конечно, мы не будем создавать подобного монстра в домашних условиях. Но давайте посмотрим, какие архитектурные решения мы можем использовать в своей работе и какие это нам даст преимущества.
Графические интерфейсы XI: Интеграция графической стандартной библиотеки (build 16)
Недавно разработчики MQL5 представили новую версию графической библиотеки для создания научных графиков (класс CGraphic). В этом обновлении нашей библиотеки будет представлена версия с новым элементом для создания графиков. Теперь визуализировать данные различных типов будет ещё проще.
Как быстро написать советник для Automated Trading Championship 2010
Для того чтобы разработать эксперт для участия в чемпионате Automated Trading Championship 2010, воспользуемся шаблоном готового советника. Данная задача будет по силам даже новичку в программировании на MQL5, т.к. для ваших стратегий уже разработаны базовые классы, функции, шаблоны. Достаточно написать минимум кода, чтобы реализовать свою торговую идею.
Графические интерфейсы II: Элементы "Разделительная линия" и "Контекстное меню" (Глава 2)
В этой статье мы создадим элемент «Разделительная линия». Его тоже можно будет использовать не только как независимый элемент интерфейса, но и как часть многих других элементов. После этого у нас будет всё необходимое для разработки класса контекстного меню, которое тоже будет подробно рассмотрено в этой статье. Кроме этого, вносятся необходимые дополнения в класс, который является базой для хранения указателей на все элементы графического интерфейса приложения.
Изучение MQL5 от новичка до профи (Часть I): Начинаем программировать
Эта статья является вводной для целого цикла статей о программировании. Здесь предполагается, что читатель вообще не сталкивался с программированием раньше. Поэтому начинаю я с самых основ. Уровень знания программирования: абсолютный новичок.
Кроссплатформенный торговый советник: Временные фильтры
В статье обсуждается реализация различных методов временной фильтрации в кроссплатформенном торговом советнике. Классы временных фильтров отвечают за проверку того, попадает ли конкретное время в определенный период, заданный в настройках.
Графические интерфейсы X: Элемент "Время", элемент "Список из чекбоксов" и сортировка таблицы (build 6)
Продолжаем развивать библиотеку для создания графических интерфейсов. На этот раз будут представлены такие элементы, как «Время» и «Список из чекбоксов». Кроме этого, в класс таблицы типа CTable добавлена возможность сортировать данные по возрастанию и убыванию.
Кроссплатформенный торговый советник: Мани-менеджмент
В этой статье обсуждается реализация мани-менеджмента в кроссплатформенном торговом советнике. Классы мани-менеджмента отвечают за расчет размера лота, которым советник войдет в следующую сделку.
Система голосовых уведомлений торговых событий и сигналов
В настоящее время голосовые помощники уже давно заняли заметную роль в жизни человека, будь то навигатор, голосовой поисковик или же переводчик. Поэтому в данной статье я постараюсь разработать простую и понятную систему голосовых уведомлений для различных торговых событий, состояниях рынка или же сигналов торговых систем.
Графические интерфейсы VI: Элементы "Слайдер" и "Двухсторонний слайдер" (Глава 2)
В предыдущей статье разрабатываемая библиотека была пополнена сразу четырьмя довольно часто используемыми в графических интерфейсах элементами управления: «чекбокс», «поле ввода», «поле ввода с чекбоксом» и «комбобокс с чекбоксом». Вторая глава шестой части серии будет посвящена таким элементам управления, как слайдер и двухсторонний слайдер.
Еще раз о картах Кохонена
Cтатья описывает приемы работы с картами Кохонена. Она будет интересна как исследователям рынка с начальными навыками программирования на MQL4 и MQL5, так и опытным программистам, испытывающим сложности с подключением карт Кохонена к своим проектам.
Простая торговая стратегия возврата к среднему
Возврат к среднему - это метод контртрендовой торговли, при котором трейдер ожидает, что цена вернется к некоторой форме равновесия, которое обычно измеряется средним значением или другим статистическим показателем усредненной тенденции.
Оптимальный метод подсчета объема совокупной позиции по заданному магическому номеру
В статье рассматривается проблема необходимости подсчета совокупной позиции по заданному символу и магическому номеру. Предложенный метод подсчета объема позиции в процессе работы загружает только минимально необходимую часть истории сделок. В процессе же самой работы обработка происходит только по последним сделкам. Дополнительно рассматривается метод формирования уникальных имен глобальных переменных.
Повышаем эффективность линейных торговых систем
В сегодняшней статье речь пойдет о том, как MQL5-программисты со средним уровнем подготовки могут повысить прибыльность своих линейных торговых систем, используя так называемую технику возведения в степень (technique of exponentiation). Данная техника названа именно так, потому что при ее использовании кривая средств приобретает геометрическую, или экспоненциальную, форму, становясь похожей на параболу. В частности, мы реализуем на языке MQL5 фиксированно-фракционный (Fixed Fractional) метод Ральфа Винса.
Графические интерфейсы I: Тестируем библиотеку в программах разных типов и в терминале MetaTrader 4 (Глава 5)
В предыдущей главе первой части серии о графических интерфейсах в класс формы были добавлены методы, которые позволяют управлять формой посредством нажатия на ее элементах управления. В этой статье протестируем проделанную работу в разных типах MQL-программ, таких как индикаторы и скрипты. А поскольку библиотека задумывалась как кросс-платформенная (в рамках торговых платформ MetaTrader), то проведем тесты также и в MetaTrader 4.