Андрей Болконский (abolk): "Любой программист знает - программного продукта без багов не бывает"
В сервисе "Работа" Андрей Болконский (abolk) участвует с момента его открытия. На текущий момент на его счету десятки индикаторов и экспертов для платформ MetaTrader 4 и MetaTrader 5. С Андреем мы поговорим о том, что представляет собой сервис с точки зрения программиста.
Графические интерфейсы XI: Поля ввода и комбо-боксы в ячейках таблицы (build 15)
В этом обновлении библиотеки элемент "Таблица" (класс CTable) пополнится новыми опциями. Расширим линейку элементов в ячейках таблицы и на этот раз добавим в неё поля ввода и комбо-боксы. В качестве дополнения в это обновление была добавлена возможность управлять размерами окна пользователем MQL-приложения во время её выполнения.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XIV): Объект "Символ"
В данной статье создадим класс объекта-символа, который будет базовым объектом для создания коллекции символов. С его помощью мы сможем получать данные по нужным символам для дальнейшего их анализа и сравнения.
Тестирование паттернов валютных пар: Использование и перспективы для реальной торговли. Часть IV
Эта статья завершает серию материалов о торговле корзинами валютных пар. В ней протестирован оставшийся паттерн и обсуждается использование всей методики в реальной торговле. Рассмотрены вход и выход с рынка, поиск и анализ паттернов, сложное использование объединенных индикаторов.
Стоп-лосс и тейк-профит, дружелюбные к трейдеру
Стоп-лосс и тейк-профит могут оказать значительное влияние на результаты трейдинга. В этой статье мы рассмотрим несколько способов поиска оптимальных значений стоп-приказов.
Улучшаем работу с Панелями: добавляем прозрачность, меняем цвет фона и наследуемся от CAppDialog/CWndClient
Продолжаем изучать работу с CAppDialog. Теперь мы научимся задавать цвета фона, рамки и заголовка для графической панели. По шагам рассмотрим, как добавить прозрачность окна приложения при перемещении его на графике. Далее мы рассмотрим создание потомков от CAppDialog или CWndClient и увидим новые тонкости в работе с контролами. Наконец, посмотрим с новой точки зрения на новые Проекты.
Графические интерфейсы XI: Рефакторинг кода библиотеки (build 14.1)
По мере разрастания библиотеки снова необходимо оптимизировать ее код, чтобы уменьшить его объем. Версия библиотеки, описанная в этой статье, стала ещё более объектно-ориентированной. Это сделало код понятнее для изучения. Подробное описание последних изменений позволит читателю самостоятельно развивать библиотеку, исходя из собственных потребностей.
Машинное обучение и Data Science (Часть 23): Почему LightGBM и XGBoost лучше многих ИИ-моделей?
LightGBM и XGBoost — продвинутые методы построения деревьев решений с использованием градиентного бустинга, они обеспечивают превосходную производительность и гибкость, что делает их идеальными для финансового моделирования и алгоритмической торговли. В этой статье мы поговорим о том, как использовать эти инструменты для оптимизации торговых стратегий, повышения точности прогнозов и получения выгоды на финансовых рынках.
Выставление ордеров в MQL5
При создании любой торговой системы есть задача, которую необходимо эффективно решить. Эта задача заключается в выставлении ордеров либо в их автоматической обработке торговой системой. В статье рассмотрено создание торговой системы с точки зрения эффективного выставления ордеров.
Пользуйтесь каналами и групповыми чатами MQL5.community
На сайте MQL5.com встречаются трейдеры со всего мира — публикуют статьи, бесплатные коды и продукты в Маркете, выполняют работы на фриланс бирже и копируют торговые сигналы. Вы можете общаться с ними на форуме, в трейдерские чатах и каналах MetaTrader.
Разработка торговой системы на основе индикатора RSI
В этой статье мы поговорим об еще одном популярном и часто используемом индикаторе — RSI. Узнаем, как разработать торговую систему на основе показателей от этого индикатора.
Фильтрация сигналов на основе статистических данных о корреляции цен
Есть ли связь между поведением цены в прошлом и будущими трендами? Почему сегодня цена повторяет характер движения вчерашнего дня? Возможно ли использовать статистические данные как метод прогнозирования динамики цен? Ответ есть, и он положительный. Если вы ещё сомневаетесь, эта статья для вас. Я расскажу о том, как создать рабочий фильтр для торговой системы на MQL5, обнаружив интересную закономерность в изменении цен.
Технический анализ: Что мы анализируем?
В статье предпринята попытка в общем виде проанализировать некоторые особенности представления котировок доступных для анализа в терминале MetaTrader. Техника программирования в статье не затрагивается, статья носит общий характер.
Эксперименты с нейросетями (Часть 5): Нормализация входных параметров для передачи в нейросеть
Нейросети наше все. Проверяем на практике, так ли это. MetaTrader 5 как самодостаточное средство для использования нейросетей в трейдинге. Простое объяснение.
Николай Иванов (Techno): "Для программы важна точность алгоритмов"
Программист из Красноярска Николай Иванов (Techno) - лидер среди разработчиков по количеству выполненных работ, на сегодняшний день их уже более 200. Мы решили поговорить с ним о сервисе "Работа", его особенностях и основных проблемах, с которыми сталкиваются программисты.
Язык визуального программиования ДРАКОН (Drakon) — средство общения для разработчика MQL и заказчика
ДРАКОН — язык визуального программирования, специально разработанный для упрощения взаимодействия между специалистами разных отраслей (биологами, физиками, инженерами...) с программистами в российских космических проектах (например, при создании создание комплекса "Буран"). В этой статье я расскажу о том, как ДРАКОН делает создание алгоритмов доступным и интуитивно понятным, даже если вы никогда не сталкивались с кодом, а также - как заказчику легче объяснить свои мысли при заказе торговых роботов, а программисту - совершать меньше ошибок в сложных функциях.
Стать хорошим программистом (Часть 4): повышаем скорость программирования
Я полагаю, каждый разработчик хочет писать код быстрее. При этом возможность быстро и эффективно писать код — это не какая-то особая врожденная способность, доступная только избранным. Это навык, которым может овладеть любой программист, независимо от предыдущего опыта и объема набранных на клавиатуре текстов.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXV): Обработка ошибок, возвращаемых торговым сервером
После того, как мы отправили торговый приказ на сервер, не стоит считать, что "дело сделано". Теперь нам необходимо проверить коды ошибок, ну или отсутствие ошибок. В статье рассмотрим обработку ошибок, возвращаемых торговым сервером, подготовим базу для создания отложенных торговых запросов.
Кроссплатфоменный торговый советник: Менеджер ордеров
В статье обсуждается создание менеджера ордеров для кроссплатформенного торгового советника. Менеджер ордеров отвечает за открытие и закрытие экспертом ордеров или позиций, а также за ведение независимой записи о них, и будет доступен для обеих версий терминала.
Применение контейнеров для компоновки графического интерфейса: класс CBox
В данной статье описан альтернативный метод создания графического интерфейса на основе схем компоновки и контейнеров при помощи менеджера компоновки, а именно класса CBox. Класс CBox представляет собой вспомогательное средство управления, которое действует как контейнер основных элементов управления графического интерфейса. Он упрощает составление графических панелей, а иногда и сокращает время написания кода.
Графические интерфейсы X: Новые возможности для нарисованной таблицы (build 9)
До сегодняшнего дня самым развитым типом таблиц из всех представленных в библиотеке был тип CTable. Эта таблица собирается из полей ввода типа OBJ_EDIT, и дальнейшее её развитие уже проблематично. Поэтому с точки зрения максимальных возможностей даже на текущем этапе развития библиотеки, лучше развивать нарисованную таблицу типа CCanvasTable. Текущая её версия совсем безжизненна, но начиная с этой статьи, мы будем пытаться это исправить.
Основы программирования на MQL5 - Глобальные переменные терминала
В данной статье демонстрируются объектно-ориентированные возможности языка MQL5 по созданию объектов, отвечающих за работу с глобальными переменными терминала. В качестве практического примера рассматривается ситуация, когда глобальные переменные могут использоваться как контрольные точки выполнения этапов программы.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXXII): Отложенные торговые запросы - установка ордеров по условиям
Продолжаем создавать функционал, позволяющий производить торговлю при помощи отложенных запросов. В этой статье мы реализуем возможность устанавливать отложенные ордеры по условию.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXXIV): Отложенные торговые запросы - удаление ордеров, модификация ордеров и позиций по условиям
В этой статье мы завершим описание концепции работы с отложенными торговыми запросами и создадим функционал для удаления отложенных ордеров и модификации ордеров и позиций по условиям. Таким образом у нас будет в наличии весь функционал, при помощи которого можно будет впоследствии создавать несложные пользовательские стратегии, а вернее — некоторую логику поведения советника при наступлении заданных пользователем условий.
Разработка торговых роботов при помощи визуального программирования
В статье демонстрируется возможности редактора botbrains.app — no-code платформы для разработки торговых роботов. Чтобы создать торгового робота не нужно программировать — просто перетащите нужные блоки на схему, задайте их параметры и установите связи между ними.
Работа с сетевыми функциями, или MySQL без DLL: Часть I - коннектор
Относительно недавно в MetaTrader 5 появились сетевые функции. Это открыло широкие возможности для программистов, которые разрабатывают продукты для Маркета, поскольку теперь можно реализовать то, чего раньше нельзя было сделать без динамических библиотек. В данной статье мы ознакомимся с ними на примере написания коннектора MySQL.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть IV): Торговые события
В предыдущих статьях мы начали создавать большую кроссплатформенную библиотеку, целью которой является облегчение написания программ для платформы MetaTrader 5 и MetaTrader 4. У нас уже есть коллекции исторических ордеров и сделок, рыночных ордеров и позиций, класс для удобного выбора и фильтрации ордеров. В данной части продолжим развитие базового объекта и научим библиотеку Engine отслеживать торговые события на счёте.
Интервью с Александром Артаповым (ATC 2012)
Эксперт Александра Артапова (artall) уже на второй неделе Чемпионата оказался на третьей позиции, торгуя на двух символах EURUSD и EURJPY. Затем он ненадолго покинул TOP-10 и после месяца борьбы за выживание вновь включился в схватку за $80 000. И как оказалось, в запасе у его эксперта есть еще тузы в рукаве.
Рецепты MQL5 – Экономический календарь
В статье освещаются программные возможности по работе с Экономическим календарём. Для этих целей создаётся класс для упрощенного доступа к свойствам календаря и получения значений событий. В качестве практического примера предлагается запрограммировать индикатор, использующий данные по чистому объёму спекулятивных позиций от CFTC.
Графические интерфейсы II: Настройка обработчиков событий библиотеки (Глава 3)
В предыдущих статьях были реализованы классы для создания всех составных частей главного меню. Теперь же настало время познакомиться с обработчиками событий в главных базовых классах и в классах созданных элементов управления. Отдельное внимание уделено управлению состоянием графика в зависимости от того, где находится курсор мыши.
Анализ графиков Баланса/Средств по символам и ORDER_MAGIC советников
С введением хеджинга в MetaTrader 5 появилась отличная возможность одновременной торговли несколькими советниками на одном торговом счёте. При этом возможна ситуация, когда одна стратегия прибыльна, вторая убыточна, а в итоге график прибыли болтается около нуля. В таком случае полезно построить графики Баланса и Средств для каждой торговой стратегии по отдельности.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXIV): Основной торговый класс - автоматическая коррекция ошибочных параметров
В статье разберём обработчик ошибочных параметров торгового приказа, доработаем базовый торговый класс, а также поправим работу класса торговых событий — теперь все торговые события как одиночные, так и произошедшие разом за один тик, будут правильно определяться в программах.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXXI): Отложенные торговые запросы - открытие позиций по условиям
Начиная с этой статьи, мы создадим функционал, позволяющий производить торговлю при помощи отложенных запросов по условию. Например, при наступлении или превышении некоего времени, либо при превышении заданного размера прибыли, либо при регистрации события закрытия позиции по стоплосс.
Графические интерфейсы III: Группы простых и многофункциональных кнопок (Глава 2)
Первая глава третьей части серии была посвящена простым и многофункциональным кнопкам. Во второй главе рассмотрим группы взаимосвязанных кнопок, позволяющих создавать в приложениях элементы, когда пользователь может выбирать какую-либо одну опцию из представленного набора (группы).
Машинное обучение и Data Science (Часть 02): Логистическая регрессия
Классификация данных — важнейшая вещь для алготрейдера и программиста. В этой статье мы рассмотрим в подробностях один из классификационных логистических алгоритмов, который может помочь нам определить «да» или «нет», рост или падение, покупки или продажи.
Рыночная математика: прибыль, убыток, издержки
В данной статье я покажу вам, как считать полную прибыль или убыток любого трейда, включая комиссию и своп. Составим точнейшую математическую модель, напишем по ней код и сравним ее с эталоном, а также попытаемся залезть под капот основной функции MQL5 для вычисления прибыли и докопаемся до сути всех необходимых величин из спецификации.
MQL5 Cloud Network: Вы все еще считаете?
Прошло уже около полутора лет с момента, когда была запущена сеть распределенных вычислений MQL5 Cloud Network. Это революционное по своей значимости событие ознаменовало начало новой эры в алгоритмической торговле - ведь теперь любой трейдер в пару кликов мышки может получить в свое распоряжение сотни и тысячи вычислительных ядер для оптимизации своей торговой стратегии.
Комбинаторика и теория вероятностей для трейдинга (Часть IV): Логика Бернулли
В данной статье я решил осветить всем известную схему Бернулли и показать как можно ее использовать в рамках описания массивов данных связанных с торговлей, для дальнейшего использования на пути создания самостоятельно адаптирующейся торговой системы. Также будем искать более общий алгоритм, частным случаем которой является формула Бернулли и найдем ему применение.
Интервью с Мариушем Жарновски (ATC 2012)
Чем ближе 28 декабря, тем яснее становится картина лидеров Automated Trading Championship 2012. За две недели до окончания Мариуш Жарновски (zrn) из Польши имеет все шансы занять призовое место. Его мультивалютный советник уже доказал, что способен утроить стартовый депозит всего за пару недель.
Графические интерфейсы IV: Многооконный режим и система приоритетов (Глава 2)
В этой статье мы расширим реализацию библиотеки до возможности создавать многооконные интерфейсы для своих MQL-приложений. Кроме этого, разработаем систему приоритетов на нажатие левой кнопкой мыши на графических объектах. Это нужно, чтобы не столкнуться с проблемами, когда элементы управления неожиданно не отвечают на действия пользователя.