

Еще раз о картах Кохонена
Cтатья описывает приемы работы с картами Кохонена. Она будет интересна как исследователям рынка с начальными навыками программирования на MQL4 и 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. Для примера представлен код индикатора, отображающего уровни сопротивления и поддержки.


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


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


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


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


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


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


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


Оптимизировать оптимизацию: несколько простых идей
Процесс оптимизации может потребовать существенные ресурсы вашего компьютера или даже тестерных агентов MQL5 Cloud Network. В этой статье описываются некоторые несложные идеи, которые я использую на практике для облегчения работы или усовершенствования тестера стратегий платформы MetaTrader 5. Эти идеи я подчерпнул из прочитанной документации, форума и статей.


Почему виртуальный хостинг в платформах MetaTrader 4 и MetaTrader 5 лучше обычных VPS
Сеть Virtual Hosting Cloud разработана специально для MetaTrader 4 и MetaTrader 5 и обладает всеми преимуществами родного решения. Арендуйте виртуальный сервер прямо сейчас и протестируйте его работу - мы даем 24 бесплатных часа!


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


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


Рецепты MQL5 - обработка пользовательских событий графика
В данной статье рассматриваются аспекты проектирования и разработки системы пользовательских событий графика в среде MQL5. Предлагается пример подхода для классификации событий. Приводится программный код событийного класса и класса-обработчика пользовательских событий.


Подготовка торгового счета к миграции на виртуальный хостинг
Клиентский терминал MetaTrader идеально подходит для автоматизации торговых стратегий. Для разработчиков торговых роботов в нем есть всё ‒ мощный язык программирования MQL4/MQL5 на основе C++, удобная среда разработки MetaEditor, многопоточный тестер стратегий с поддержкой распределенных вычислений в MQL5 Cloud Network. В этой статье вы узнаете, как перенести свой клиентский терминал со всеми разработками в виртуальную среду.


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


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


Как правильно подать Продукт для продажи в Маркете?
Для того чтобы продавать свои программы трейдерам, недостаточно просто создать удобную и полезную программу и опубликовать ее на Маркете — необходимо свой Продукт снабдить отличным описанием и хорошими иллюстрациями. Качественный логотип и правильно сделанные скриншоты не менее важны, чем "true coding". Запомните: нет скачиваний == нет продаж.


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


Индикатор для построения графика "трехлинейного прорыва"
Статья посвящена графику "трёхлинейного прорыва" (Three Line Break), предложенного Стивом Нисоном в книге «За гранью японских свечей». Преимущество данного графика состоит в том, что с его помощью можно фильтровать незначительные колебания цен относительно предыдущего движения. Рассмотрен принцип построения графика, код индикатора, а также примеры торговых стратегий на его основе.


Почему нужно обновить MetaTrader 4 на последний билд до 1 августа?
C 1 августа 2014 года прекращается поддержка десктопных терминалов MetaTrader 4 ниже 600-го билда. А ведь многие трейдеры продолжают сидеть на привычных старых версиях и не знают о возможностях обновленной платформы. Мы вложили много сил в ее разработку и хотели бы вместе с трейдерами двигаться дальше и отказаться от старых билдов. В этой статье мы расскажем о преимуществах нового MetaTrader 4.


Рецепты MQL5 - Мультивалютный советник и работа с отложенными ордерами на MQL5
На этот раз рассмотрим создание мультивалютного советника, торговый алгоритм которого строится на работе с отложенными ордерами Buy Stop и Sell Stop. В статье будут рассмотрены следующие вопросы: торговля в указанном временном диапазоне, установка/модификация/удаление отложенных ордеров, проверка закрытия последней позиции по Тейк Профит или Стоп Лосс, контроль истории сделок на каждом символе.


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


Индикатор для построения графика "Ренко"
В статье рассказывается о графике "Ренко" и приведен один из вариантов его реализации на языке MQL5 в виде индикатора. Индикатор имеет множество модификаций, отличающих его от классического графика. Реализовано построение не только в окне индикатора, но и на главном графике. Кроме того, реализовано представление индикатора в виде линий "ZigZag". Приведено несколько примеров стратегий работы с графиком.


Обновление на новый MetaTrader 4 билд 600 и выше
В новой версии терминала MetaTrader 4 была изменена структура хранения пользовательских данных. Если раньше все программы, шаблоны, профили и т.д. хранились прямо в папке установки терминала, то теперь данные, необходимые для работы конкретного пользователя терминала, хранятся в отдельной специальной папке, называемой каталог данных. В этой статье собраны ответы на популярные вопросы.


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


Структура данных в MetaTrader 4 build 600 и выше
Начиная с 600 билда MetaTarder 4, изменилась структура, а также место хранения файлов клиентского терминала. Теперь MQL4-программы разнесены по отдельным каталогам в зависимости от типа программы (эксперты, индикаторы, скрипты). Данные терминала в большинстве случаев теперь хранятся в специальном каталоге данных отдельно от места установки терминала. В данной статье мы подробно опишем, каким образом осуществляется перенос данных, а также причины введения такой системы хранения.


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


Оффлайновые графики и новый MQL4
В новом MQL4 изменился формат хранения исторических данных и появилась соответствующая структура MqlRates для удобного хранения значений Time, Open, Low, High, Close и Volume. За многие годы трейдеры написали на MQL4 свои программы, которые собирают и записывают собственные данные в HST-файлы для создания оффлайновых графиков. Каждый трейдер может быть уверен - все ранее скомпилированные EX4-файлы будут работать в новом терминале MetaTrader 4 так же, как и раньше.