

Графические интерфейсы I: Форма для элементов управления (Глава 2)
В этой статье создадим первый и самый главный элемент графических интерфейсов — форму для элементов управления. К этой форме можно будет присоединять множество различных элементов управления в любом расположении и в любых комбинациях.


Графические интерфейсы I: Подготовка структуры библиотеки (Глава 1)
С этой статьи я начинаю еще одну серию, относящуюся к разработке графических интерфейсов. На текущий момент нет ни одной библиотеки кода, которая позволяла бы легко и быстро создавать качественные графические интерфейсы в MQL-приложениях. Я имею в виду графические интерфейсы, к которым мы все привыкли в известных операционных системах.


Изучаем класс CCanvas. Сглаживание и тени
Алгоритм сглаживания класса CCanvas — основа всех построений, в которых используется сглаживание. В статье рассказано о том, как работает этот алгоритм, приведены примеры визуализации его работы. Кроме того, рассмотрено рисование теней графических объектов и разработан подробный алгоритм отрисовки тени на канвасе. Для расчетов применена библиотека численного анализа ALGLIB.


Модуль торговых сигналов по системе Билла Вильямса
В статье описываются правила торговой системы Билла Вильямса, порядок использования разработанного MQL5-модуля для поиска и разметки на графике паттернов данной системы, автоматической торговли по найденным паттернам, а также представлены результаты тестирования на различных торговых инструментах.


Индикатор "Канат" Эрика Наймана
В статье описывается построение индикатора «Канат» по книге Эрика Л. Наймана «Малая энциклопедия трейдера». Этот индикатор показывает направление тренда на основе расчетных величин быков и медведей за указанный период. В статье изложены принципы построения и расчета индикатора с примерами кода, на основе индикатора построен эксперт и произведена оптимизация внешних параметров.


Защита от ложных срабатываний торгового робота
Прибыльность торговых систем определяется не только логикой и точностью анализа динамики финансовых инструментов, но и качеством алгоритма исполнения этой логики. Характерным проявлением некачественного исполнения основной логики торгового робота являются ложные срабатывания. В статье рассмотрены варианты решения указанной проблемы.


Еще раз о картах Кохонена
Cтатья описывает приемы работы с картами Кохонена. Она будет интересна как исследователям рынка с начальными навыками программирования на MQL4 и MQL5, так и опытным программистам, испытывающим сложности с подключением карт Кохонена к своим проектам.


MQL5 для начинающих: Антивандальная защита графических объектов
Что должна делать ваша программа, если графические панели управления были удалены или изменены кем-то еще? В этой статье мы покажем, как после удаления приложения не иметь на графике "бесхозные" объекты, и как не потерять над ними контроль в случае переименования или удаления созданных программно объектов.


Обработка ошибок и логирование в MQL5
В статье рассматриваются общие вопросы обработки ошибок в программном обеспечении. Кроме того, затрагивается тема логирования и демонстрируется пример реализации логгера средствами MQL5.


Оценка и выбор переменных для моделей машинного обучения
В статье будут рассмотрены особенности выбора, предподготовки и оценки входных переменных (предикторов) для использования в моделях машинного обучения. Будут рассмотрены новые подходы и возможности по глубокому анализу предикторов, их влияние на возможное переобучение моделей. От результата этого этапа работы во многом зависит общий результат использования моделей. Будут рассмотрены два пакета, предлагающие новый и оригинальный подход к выбору предикторов.


Применение нечеткой логики в трейдинге средствами MQL4
В данной статье предлагаются примеры применения теории нечетких множеств в трейдинге средствами MQL4. Описывается разработка индикатора и советника с использованием библиотеки FuzzyNet для MQL4.


Работаем с ZIP-архивами средствами MQL5 без использования сторонних библиотек
Язык MQL5 развивается, и в него постоянно добавляются новые функции для работы с данными. С некоторых пор, благодаря нововведениям, стало возможно работать с ZIP-архивами штатными средствами MQL5 без привлечения сторонних библиотек DLL. Данная статья подробно описывает, как это делается, на примере описания класса CZip — универсального инструмента для чтения, создания и модификации ZIP-архивов.


Индикатор для построения графика "шпинделей" (веретён)
Статья рассматривает построение графика "шпинделей" (spindles) или, как их еще называют, "веретён", его использование в торговых стратегиях и советниках. Вначале обсудим появление графика, его построение и связь с графиком японских свечей. Далее проанализируем реализацию индикатора в программном коде на языке MQL5. Протестируем основанный на индикаторе эксперт и сформулируем торговую стратегию.


Использование утверждений (assertions) при разработке программ на MQL5
В данной статье рассматриваются утверждения (assertions) в рамках языка MQL5. Даются два примера реализации механизма утверждений, а также приводятся общие рекомендации по применению утверждений.


Введение в теорию нечеткой логики
Нечеткая логика расширяет привычные нам границы математической логики и теории множеств. В статье раскрыты основные принципы этой теории, а также описаны две системы нечеткого логического вывода типа Мамдани и Сугено. Приведены примеры реализации нечетких моделей на основе этих двух систем средствами библиотеки FuzzyNet для MQL5.


Теория рынка
До сих пор не существует логически завершенной теории рынка, охватывающей все типы и разновидности рынков товаров и услуг, микро- и макро-рынков, наподобие Форекс. Статья повествует о сущности новой теории рынка, основанной на анализе прибыли, вскрывает закономерности изменения текущей цены, а также выявляет принцип работы механизма, позволяющего цене находить наиболее оптимальное свое значение путем образования цепи виртуальных цен, способных вырабатывать управляющие воздействия на саму цену. Выявлены механизмы образования и смены трендов на рынке.


Price Action. Автоматизация торговли по паттерну "Поглощение"
В статье описывается создание советника для MetaTrader 4, торгующего по паттерну "Поглощение", включая принцип нахождения паттерна, правила установки отложенных и стоп-ордеров. Приведены результаты тестирования и оптимизации.


Применение контейнеров для компоновки графического интерфейса: класс CBox
В данной статье описан альтернативный метод создания графического интерфейса на основе схем компоновки и контейнеров при помощи менеджера компоновки, а именно класса CBox. Класс CBox представляет собой вспомогательное средство управления, которое действует как контейнер основных элементов управления графического интерфейса. Он упрощает составление графических панелей, а иногда и сокращает время написания кода.


Оценка эффективности торговых систем путем анализа их компонентов
В данной статье исследуется эффективность составных торговых систем путем анализа эффективности отдельных ее компонентов. Любой анализ, будь то графический, на основе индикаторов или какой-то другой, является одной из ключевых составляющих успешной торговли на финансовых рынках. Эта статья — своего рода исследование нескольких независимых простых торговых систем, анализ их эффективности и полезности совместного применения.


Управление терминалом MetaTrader с помощью DLL
В данной статье рассматривается управление элементами интерфейса MetaTrader с использованием вспомогательной DLL-библиотеки на примере изменения настроек рассылки Push-сообщений. К статье приложен исходный код библиотеки и пример скрипта.


Price Action. Автоматизация торговли по внутреннему бару
В статье описывается создание советника для MetaTrader 4, торгующего по внутреннему бару, включая принцип нахождения внутреннего бара, правила установки отложенных и стоп-ордеров. Приведены результаты тестирования и оптимизации.


Рецепты MQL5 - Пишем свой стакан цен
Эта статья научит читателей программно работать со стаканом цен, а также подробно опишет принципы работы класса CMarketBook, который органично расширит стандартную библиотеку классов MQL5 и предоставит удобные методы для работы со стаканом.


Способ построения уровней сопротивления и поддержки средствами MQL5
В данной статье описывается способ нахождения четырех точек-экстремумов для дальнейшего построения по ним уровней сопротивления и поддержки. При нахождении экстремумов на графике валютной пары используется индикатор RSI. Для примера представлен код индикатора, отображающего уровни сопротивления и поддержки.


Поиск условий входа в рынок с помощью поддержки, сопротивления и ценового действия
В статье рассказывается о том, как ценовое действие и мониторинг уровней поддержки и сопротивления могут быть использованы для своевременного входа в рынок. Также описана торговая система на основе приведенных положений. Представлен MQL4-код, который можно использовать при создании советников, работающих по указанным торговым принципам.


Рисование стрелочных индикаторов с использованием класса CCanvas
В автомобилях и самолетах, на производстве и в быту нас окружают стрелочные приборы с круглой шкалой. Они применяются везде, где требуется быстрая реакция оператора на контролируемую величину. В этой статье мы познакомимся с библиотекой стрелочных приборов для MetaTrader 5.


Как обезопасить себя и своего эксперта при торговле на Московской бирже
В статье подробно описываются методы работы, призванные обеспечить безопасность совершения торговых операций на биржевых и малоликвидных рынках, на примере срочной секции Московской биржи. Статья является логическим продолжением статьи "Основы биржевого ценообразования на примере срочной секции Московской биржи", в которой даны теоретические основы биржевой торговли, но носит более практический характер.


Как правильно выбрать торговый сигнал для подписки. Пошаговое руководство
В данном пошаговом руководстве рассматривается сервис Cигналы, изучение торговых сигналов, системный подход к поиску нужного сигнала, который удовлетворял бы критериям доходности, риска, активности торговли, работы на различных типах счетов и финансовых инструментах.


Статистическая проверка системы управления капиталом Лябушера
В статье приводится проверка статистических свойств системы управления капиталом Лябушера, являющейся менее агрессивной разновидностью Мартингейла и предполагающей повышение ставок не в 2 раза, а на определенную величину.


Как правильно выбрать продукт в Маркете для покупки. Пошаговое руководство
В данном пошаговом руководстве описываются рекомендации и советы, помогающие быстрее разобраться и найти нужный продукт для покупки. В этой статье мы попытаемся разобраться, как найти подходящий продукт, отсортировать ненужное, определить эффективность продукта и насколько он будет востребован вами.


Трендовые линии на основе фракталов посредством MQL4 и MQL5
В статье описано решение по автоматизации построения трендовых линий на основе индикатора Fractals с помощью MQL4 и MQL5. Структура статьи представлена в сравнительном виде в рамках решения поставленной задачи с позиции двух языков. Построение трендовых линий осуществляется по двум последним известным фракталам.


Создание интерактивного приложения для отображения RSS-каналов в MetaTrader 5
В данной статье рассматривается создание приложения, отображающего RSS-каналы. Мы также рассмотрим аспекты применения Стандартной библиотеки при создании интерактивных программ для MetaTrader 5.


Торговые идеи на основе направления и скорости движения цен
В данной статье описывается идея, основанная на анализе направления движения цен и их скорости. Производится ее формализация на языке MQL4 в виде тестового торгового советника с целью выяснения жизнеспособности рассматриваемой стратегии. Также с помощью проверки, исследования и оптимизации определяются наилучшие параметры на предоставленном в статье примере.


Рецепты MQL5 - Реализуем ассоциативный массив или словарь для быстрого доступа к данным
В данной статье описывается специальный алгоритм, позволяющий эффективно получать доступ к элементам по их уникальному ключу. В качестве ключа может быть использован любой базовый тип данных, например ключом могут быть строки или целочисленные переменные. Такой контейнер данных принято называть словарем или ассоциативным массивом. С его помощью решать многие задачи становиться гораздо проще и эффективней.


Изучаем класс CCanvas. Реализация прозрачности графических объектов
Надоела угловатая графика скользящих средних? Вы хотите рисовать в терминале что-то более красивое, чем простой прямоугольник с заливкой? Рисовать красиво в терминале можно. Для этого есть класс для создания пользовательской графики - CCanvas. С помощью этого класса можно реализовать прозрачность, смешивать цвета и получать иллюзию прозрачности при помощи наложения и смешивания цвета.


Рецепты MQL5 - ОСО-ордера
В торговле трейдер использует различные механизмы и взаимосвязи, в том числе и между ордерами. В данной статье предлагается решение по обработке ОСО-ордеров. При этом широко задействованы классы Стандартной библиотеки, а также создаются новые типы данных.


Разнонаправленная торговля и хеджирование позиций в MetaTrader 5 с помощью API HedgeTerminal, часть 2
Статья описывает новый подход в вопросах хеджирования позиций и ставит точку в спорах между пользователями платформ MetaTrader 4 и MetaTrader 5 в этом вопросе. Она является продолжением первой части: "Разнонаправленная торговля и хеджирование позиций в MetaTrader 5 с помощью панели API HedgeTerminal". Во второй части описывается интеграция пользовательских экспертов с HedgeTerminalAPI - специальной библиотекой виртуализации, позволяющей торговать разнонаправлено, находясь в комфортном программном окружении, позволяющем легко и просто управлять своими позициями.


Разнонаправленная торговля и хеджирование позиций в MetaTrader 5 с помощью панели HedgeTerminal, часть 1
Статья описывает новый подход в вопросах хеджирования позиций и ставит точку в спорах между пользователями платформ MetaTrader 4 и MetaTrader 5 в этом вопросе. На примере простых схем и диаграмм, общедоступным языком рассказывается об алгоритмах, которые делают такое хеджирование надежным. Статья посвящена описанию новой панели - HedgeTerminal, которая, по сути, является полноценным торговым терминалом внутри самого терминала MetaTrader 5. С ее помощью, благодаря предлагаемой виртуализации торговли, можно управлять своими торговыми позициями так, как это принято в MetaTrader 4.


Программируем режимы работы советника с помощью ООП
В статье рассматривается идея мультирежимного программирования торговых роботов на MQL5. Используется объектно-ориентированный подход для реализации каждого из режимов. Приводится пример иерархии режимных классов и пример классов для тестирования. Предполагается, что мультирежимное программирование торговых роботов полностью учитывает особенности каждого режима работы MQL5-советника. Для идентификации режимов создаются функции и перечисление.


Основы биржевого ценообразования на примере срочной секции Московской биржи
Статья описывает теорию биржевого ценообразования и специфику клиринговых расчетов срочной секции Московской биржи. Материал будет интересен как начинающим трейдерам, желающим получить свой первый биржевой опыт по торговле деривативами, так и опытным форекс-трейдерам, рассматривающих возможность переноса своей торговли на централизованную биржевую площадку.


Статистические рецепты для трейдера - Гипотезы
В данной статье рассматривается базовое понятие математической статистики "гипотеза". На примерах, с применением методов математической статистики, исследуются и проверяются различные гипотезы. Реальные данные обобщаются с помощью непараметрических методов. При обработке данных используются пакет Statistica и портированная библиотека численного анализа ALGLIB MQL5.