Научный журнал
Современные наукоемкие технологии
ISSN 1812-7320
"Перечень" ВАК
ИФ РИНЦ = 0,940

АВТОМАТИЧЕСКАЯ ТОРГОВАЯ СИСТЕМА В КЛИЕНТСКОМ ТЕРМИНАЛЕ METATRADER 5

Кондратьева Т.Н. 1 Развеева И.Ф. 1
1 ФГАОУ ВО «Донской государственный технический университет»
Предметом исследования выступают котировки валютной пары EUR/USD в период с 01.01.2018 по 08.01.2018 г. Цель статьи заключается в рассмотрении особенностей технического анализа финансового рынка, а также построении автоматической торговой системы на мультирыночной платформе Metatrader 5 на специализированном языке объектно-ориентированного программирования высокого уровня MetaQuotes Language. Для достижения поставленной цели были применены теоретические особенности, инструменты и методы технического анализа, рассмотрены основные подходы к построению автоматической торговой системы: математический, алгоритмический анализы, прогнозирование с помощью нейронных сетей, программирование. В последнее время становятся все более популярны автоматические торговые советники или, как их еще называют, торговые роботы, особенно среди начинающих трейдеров, которые в силу небольшого опыта в области технического анализа предпочитают переложить принятие решений на торговый алгоритм. Торговые роботы позволяют принять решение по поводу финансовых операций, осуществляют сделки и отслеживают актуальность портфеля. Процесс полностью автоматизирован и может происходить без вмешательства человека. Результаты, полученные в процессе тестирования торгового советника в режиме онлайн, позволяют сделать выводы о возможности применения автоматической торговой системы для торговли на финансовых рынках.
технический анализ
нейронные сети
прогнозирование
программирование
график
тренд
индикатор
автоматическая торговая система
сделка
1. Jack D. Schwager, Technical Analysis. ID 5040489. 2012. Р. 104–129.
2. Комиссаров И.П., Гусева Е.Н. Разработка проекта по созданию и запуску автоматических торговых систем // Современные научные исследования и инновации. 2016. № 10 (66). С. 204–212.
3. Миндияров Н.И., Рейзенбук К.Э. Торговая система для анализа котировок акций и автоматической торговли на фондовом рынке // Вестник Кузбасского государственного технического университета. 2014. № 1 (101). С. 139–144.
4. Кондратьева Т.Н. Принцип работы трендовых индикаторов // Интернет-журнал Науковедение. 2013. № 3.; URL: https://naukovedenie.ru/PDF/63trgsu313.pdf (дата обращения: 22.09.2018).
5. Ведихин А.В., Петров Г.А., Шилов Б.Н. Форекс от первого лица. Валютные рынки для начинающих и профессионалов. М.: Омега-Л, 2005. 428 с.
6. Окотов П.В. Анализ механизма функционирования мирового валютного рынка FOREX // Лаборатория книги. 2010. 235 с.
7. Соколов А.Н. Рынок Forex. Руководство пользователя. М.: SmartBook, 2016. 529 c.
8. Рекеть Е.А. Инвестиционная активность автоматических торговых систем на фондовом рынке // Ресурсам области – эффективное использование: сборник материалов XVIII Ежегодной научной конференции студентов Технологического университета. 2018. С. 482–489.

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

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

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

Цель исследования: создание автоматической торговой системы (АТС) на платформе Metatrader 5, руководствуясь методами технического анализа.

Материалы и методы исследования

Выделим ряд основных подходов к созданию торгового советника.

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

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

Третий подход – создание «черного ящика». В качестве базы для такой системы выступает нейросеть, построенная с использованием готовых инструментов, широко представленных на рынке ПО и в математических пакетах. Реализация подобной сети не требует глубокой математической подготовки и навыков программирования. Готовые инструменты с помощью визуальных средств позволяют создать требуемую АТС. От трейдера в этом случае требуются базовое знание индикаторов технического анализа, умение подготовить необходимые ценовые данные и навыки работы с конкретным пакетом по работе с нейронными сетями.

Четвертый подход основан на программировании торгового робота (без потери времени на ручную торговлю).

В статье сочетаются преимущества 1, 2 и 4 подхода к созданию АТС.

В основе ТС лежат торговые правила или алгоритмы. На рис. 1 приведен алгоритм создания ТС.

kondr1.tif

Рис. 1. Алгоритм создания торговой системы

1. Первый этап:

1.1. ИА – исследование и анализ ценовых данных.

1.2. ТА – написание торговых алгоритмов.

1.3. Тест – тестирование торговых алгоритмов.

1.4. АР – анализ результатов (тестирования, торговли).

1.5. ОПТ – оптимизация торговых алгоритмов.

2. Второй этап

1.6. ТС! – торговая система (рабочая версия).

1.7. Торговля – реальная торговля с использованием торговой системы (ТС!).

Результатом первого этапа должно стать появление рабочей версии торговой системы (ТС!), в которую входят торговые алгоритмы.

На втором этапе происходит реальная торговля с использованием алгоритмов торговой системы (ТС!). Если результаты торговли не устраивают или появляются идеи по совершенствованию торговой системы, тогда снова проводят тестирование, оптимизацию и анализ результатов, и если результаты приемлемы, то вносят коррекции в алгоритмы торговой системы.

Для создания торгового робота была выбрана торговая платформа MetaTrader 5 (MT5), имеющая огромное количество преимуществ по сравнению с аналогичными торговыми платформами. Для разработки торговых роботов и технических индикаторов в MetaTrader 5 используется собственный специализированный редактор MetaEditor. Он является составной частью среды разработки MQL5 IDE и тесно связан с торговой платформой MetaTrader 5. MetaEditor предназначен для работы с исходным кодом MQL5-программ и их дальнейшей компиляцией в исполняемые файлы. Благодаря тесной интеграции редактора и торговой платформы, готовые программы автоматически появляются в MetaTrader 5 и могут быть немедленно запущены в торговлю.

MetaQuotes Language 5 (MQL5) – это специализированный язык объектно-ориентированного программирования высокого уровня, позволяющий создавать торговых роботов и технические индикаторы. Он основан на концепции широко распространенного языка С++. MQL5 располагает большим разнообразием функций, необходимых для анализа котировок. В библиотеки языка встроены основные технические индикаторы, а также средства управления и контроля за торговыми позициями. Благодаря таким широким возможностям на MQL5-приложения можно переложить всю торговлю и аналитику на финансовых рынках.

Советник строится на основе сигналов, полученных от двух индикаторов – Stochastic Oscillator и Bollinger Bands.

Осциллятор стохастик состоит из двух линий: SOH – быстрой, ( %К), и SOL – медленной ( %D). Полоса SOH вычисляется по формуле

kond01.wmf (1)

где kond02.wmf – цены за предыдущий период, максимальная и минимальная; Fi – цены закрытия [4].

Полоса SOL вычисляется по формуле

kond03.wmf, (2)

где MFi – скользящее среднее по ценам закрытия, k – число периодов.

Индикатор берёт информацию о ценах закрытия с графика и по этим данным строит 2 линии – kond04.wmf ( %K) и kond05.wmf ( %D). На рис. 2 отражено графическое представление Stochastic Oscillator, красным пунктиром показана – SOH ( %D), синяя сплошная – SOL ( %К).

kondr2.tif

Рис. 2. Stochastic Oscillator

kondr3.tif

Рис. 3. График котировок валютной пары EUR/USD от 02.01.2018 г.

Следующий рассматриваемый индикатор – Bollinger Bands.

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

kond06.wmf (3)

где MFi – скользящее среднее, а α – коэффициент сдвига, Fi – цена закрытия, k – число периодов.

kond07.wmf (4)

Параметр ? – коэффициент сдвига в формуле (3), будет принимать значение равное 2. Выбор такого значения обусловлен ранними тестированиями системы.

Получая сигналы от этих индикаторов, советник будет вести торговлю, следуя критериям поведения финансовых активов.

На рынке существуют три варианта поведения финансового актива: 1) рост; 2) падение; 3) сохранение. В первом случае выполняется условие kond08.wmf; во втором – подразумевает выполнение условия kond09.wmf; и в случае три – выполнение условия kond10.wmf Советник будет открывать позиции сам и закрывать их, если цены достигнут уровня Take Profit или Stop Loss [5–7].

Результаты исследования и их обсуждение

Исследование проводилось на основе данных котировок валютной пары EUR/USD в течение недели с 01.01.2018 по 08.01.2018, скачанных с сайта Международный финансовый холдинг FIBO Group.

2 января в 22:25 (рис. 3) цена опустилась ниже нижней линии Bollindger Bands, при этом главная полоса Stochastic была в зоне перепроданности и вышла за неё. Советник получил сигнал и совершил сделку на покупку размером 0,2 лота по самой выгодной цене на тот момент – 1,20542. Когда цена достигла значения Take Profit = 1,20582, советник закрывает сделку с прибылью.

Советник работал с разными таймфреймами (1m, 2m, 5m, 30m, 1h, 2h) и с разными параметрами «Take Profit» и «Stop Loss». Исследования показали, что наиболее эффективно советник работает на таймфрейме в 1 минуту (1m) и с параметрами Take Profit = 67 и Stop Loss = 10.

С этими параметрами за указанный период с изначальным депозитом D = 1000$ советник совершил 206 сделок, из которых: 49 прибыльных (24 % от всех); 157 убыточных (76 % от всех). Несмотря на большее количество убыточных трейдов, по окончании торгов депозит стал равен 1059$, то есть увеличился на 59$ (+ 5,89 %). Общая прибыль составила 1585$, общий убыток 1526$.

Средняя убыточная сделка была равна –9,6$, когда средний прибыльный трейд равен 32$, при этом самая прибыльная сделка составила 82$, а самая убыточная всего –13$. Это означает, что убыточные сделки быстро закрывались, незначительно влияя на депозит.

Советник реагирует на каждое движение графика, анализирует его, получает сигнал на вход в сделку и открывает позицию, затем в зависимости от ситуации закрывает её, если цена достигла отметки «Take Profit», то закрывает с прибылью, если отметки «Stop Loss», то закрывает с убытком.

Всего за указанный период советник обработал 3 736 433 движения (тика) графика.

Выводы

Было установлено, что цены акций или других инструментов фондового рынка движутся, как бы придерживаясь определенных тенденций. Умение определять эти тенденции является основой технического анализа. Исследование динамики рынка при техническом анализе происходит чаще всего посредством графиков с целью прогнозирования будущего направления движения цен. Данный анализ не может служить гарантией изменения цен в будущем именно в соответствии с выявленными закономерностями в прошлом или настоящем, но позволяет сделать вывод о направлении изменения цены и возможной его продолжительности [8]. Использование инструментов технического анализа в сочетании с АТС позволяет трейдеру минимизировать риск возникновения типичных ошибок, которые возникают при работе с валютными биржами.

Стоит отметить, что были получены достоверные значения от АТС, свидетельствующие об увеличении депозита на 59$ (+ 5,89 %) при тестировании советника в режиме онлайн, это свидетельствует о том, что при условии правильного подбора входных параметров можно вести прибыльную торговлю.

Исследование поддержано РФФИ, научный проект № 17-01-00888 а.


Библиографическая ссылка

Кондратьева Т.Н., Развеева И.Ф. АВТОМАТИЧЕСКАЯ ТОРГОВАЯ СИСТЕМА В КЛИЕНТСКОМ ТЕРМИНАЛЕ METATRADER 5 // Современные наукоемкие технологии. – 2018. – № 10. – С. 56-59;
URL: https://top-technologies.ru/ru/article/view?id=37194 (дата обращения: 28.03.2024).

Предлагаем вашему вниманию журналы, издающиеся в издательстве «Академия Естествознания»
(Высокий импакт-фактор РИНЦ, тематика журналов охватывает все научные направления)

«Фундаментальные исследования» список ВАК ИФ РИНЦ = 1,674