Назад в библиотеку

Программное управление торговыми операциями

Автор: Коновалова Е.Е., Щербакова А.В.
Источник: Коновалова Е. Е. Программное управление торговыми операциями / Молодёжь и наука: Сборник материалов VI Всероссийской научно-технической конференции студентов, аспирантов и молодых учёных [Электронный ресурс]. – Красноярск: Сибирский федеральный ун-т, 2011.

MetaTrader – Информационно–торговая платформа, разработанная MetaQuotes Software Corp., предназначенная для организации брокерского обслуживания на рынках Forex, CFD и Futures.

MetaTrader – удобная и эффективная платформа, позволяющая применять по–рядка 1000 финансовых инструментов, более 100 валютных пар и работать на несколь–ких рынках (форекс (forex), CFD, металлы и Futures) одновременно. С помощью терми–нала трейдеры могут анализировать динамику финансовых инструментов, совершать торговые операции, создавать и использовать программы автоматического трейдинга (например, эксперты, Expert Advisors). Терминал MetaTrader является воплощением концепции "все–в–одном". Кроме того, это самый популярный торговый терминал в ми–ре.

Рабочее окно программы MetaTraider 4

Торговая платформа MetaTrader предоставляет клиентам Компании «Альпари» широкий спектр возможностей:

Использование встроенного языка программирования MQL4 выводит трейдеров на качественно новый уровень торговли – автотрейдинг. Теперь трейдер может реализовать свои идеи в виде прикладной программы – самостоятельно написать пользовательский индикатор, скрипт для выполнения разовых операций или создать советник – автоматическую торговую систему (торговый робот). Советник может работать круглосуточно без постороннего вмешательства – отслеживать все изменения цен финансовых инструментов, отправлять сообщения по электронной почте, SMS–сообщения на мобильный телефон, а также выполнять множество других полезных действий.

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

Составление прикладных программ для торгового терминала MetaTrader 4 требует знания языка MQL4.

Терминал MetaTrader 4 обладает внушительными аналитическими возможностями. Для каждого финансового инструмента доступны 9 теймфреймов (периодов), которые позволяют детально анализировать динамику котировок. Свыше 50 встроенных технических индикаторов и инструментов облегчают аналитическую работу.

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

Приступая к созданию программы на MQL4, программист должен, прежде всего, ответить на вопрос о том, к какому виду программ она будет относиться. От этого зависят её содержание и функциональные возможности. В языке MQL4 различают 3 вида прикладных программ: эксперты, скрипты и пользовательские индикаторы. Любая программа, созданная программистом, будет относиться к одному из этих видов. Все они имеют своё назначение и особенности. Рассмотрим эти характеристики.

Эксперт (Expert Advisor) – программа, составленная на языке MQL4 и вызываемая клиентским терминалом для исполнения на каждом тике. Тик — это событие, характеризующееся новой ценой по финансовому инструменту в некоторый момент времени. Основным назначением экспертов является программное управление торговыми операциями. Эксперты создаются пользователями. В клиентском терминале отсутствуют встроенные эксперты.

Скрипт – программа, составленная на языке MQL4 и исполняемая клиентским терминалом однократно. Назначением скриптов является выполнение любых разрешённых операций, которые требуется выполнить только один раз. Скрипты создаются пользователями, клиентский терминал встроенными скриптами не укомплектован.

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

Технический индикатор – составная часть информационно–торговой системы MetaTrader 4, встроенная функция, позволяющая графически отображать на экране определённую зависимость).

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

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

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

Далее рассмотрены несколько экспертов на основе простейших методов прогнозирования.

В первом методе предполагается, что направление следующей свечи совпадёт с направлением предыдущей. Во втором – что направление следующей свечи будет противоположным направлению предыдущей. Преимущество этих методов – в их простоте.

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

Разработанные эксперты можно апробировать на архивных данных. Результаты показали низкую эффективность рассмотренных методов.

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

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

Третий метод показал средние результаты по сравнению с первым и вторым методами, поэтому он нуждается в доработке.

В настоящее время на базе MetaTrader 4 разрабатывается экспертная система для технического анализа финансовых временных рядов с применением нейросетевых технологий. Позволяющая прогнозировать линии тренда и поведение индексов и показателей на заданном временном интервале.