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

ОПТИМИЗАЦИЯ И ТЕСТИРОВАНИЕ СОВЕТНИКА В КЛИЕНТСКОМ ТЕРМИНАЛЕ METATRADER 5

Кондратьева Т.Н. 1 Трипута И.Г. 1 Прудников С.Е. 1
1 ФГАОУ ВО «Донской государственный технический университет»
Предметом исследования выступают параметры автоматической торговой системы в клиентском терминале MetaTrader 5. Для тестирования были взяты котировки валютной пары USD/EUR в промежутке с 20.09.2018 по 20.10.2018 при таймфреймах в 1М, 5M, 15M, 30M, 1H. Для таймфреймов 1D и 1W советник тестировался на более длительном промежутке времени – с 07.04.2018 по 07.10.2018. Тестирование проходило несколько десятков раз на каждом временном интервале с целью нахождения наиболее оптимальных параметров на участке графика в период тестирования. Также представлен анализ зависимости количества сделок от дней недели, месяцев и времени суток. Прогнозирование по «вчерашнему» поведению участников рынка в сочетании с автоматической торговой системой позволяет трейдеру минимизировать риски при торговле на фондовом рынке. Цель статьи заключается в тестировании и оптимизации ключевых параметров индикаторов автоматической торговой системы на мультирыночной платформе Metatrader 5, написанной на специализированном языке объектно-ориентированного программирования высокого уровня MetaQuotes Language. Для достижения поставленной цели были рассмотрены особенности взаимодействия индикаторов Stochastic Oscillator и Bollinger Bands, были разработаны правила, при которых сигналы на открытие сделки от одного индикатора подтверждаются или, наоборот, опровергаются другим. Результаты, полученные в процессе тестирования торгового советника в режиме онлайн, позволяют сделать выводы о возможности применения автоматической торговой системы для торговли на финансовых рынках. В ходе исследования были найдены оптимальные параметры для различных временных интервалов, а также соответствующий им размер прибыли (в USD).
технический анализ
прогнозирование
программирование
график
тренд
индикатор
автоматическая торговая система
сделка
1. Ведихин А.В., Петров Г.А., Шилов Б.Н. Форекс от первого лица. Валютные рынки для начинающих и профессионалов. М.: Омега-Л, 2005. 428 с.
2. Окотов П.В. Анализ механизма функционирования мирового валютного рынка FOREX. М.: Лаборатория Книги, 2010. 117 с.
3. Соколов А.Н. Рынок Forex. Руководство пользователя. М.: SmartBook, 2016. 529 c.
4. Рекеть Е.А. Инвестиционная активность автоматических торговых систем на фондовом рынке // Ресурсам области – эффективное использование: сборник материалов XVIII Ежегодной научной конференции студентов Технологического университета, 2018. С. 482–489.
5. Комиссаров И.П., Гусева Е.Н. Разработка проекта по созданию и запуску автоматических торговых систем // Современные научные исследования и инновации. 2016. № 10 (66). С. 204–212.
6. Кондратьева Т.Н., Развеева И.Ф., Лесовая А.А. Прогнозирование динамики цен фондового рынка // Патент РФ № 201866578. Патентообладатель ФГБОУ ВО «Донской государственный технический университет» (ДГТУ) (RU). 2018. Бюл. № 9.
7. Кондратьева Т.Н., Развеева И.Ф. Автоматическая торговая система в клиентском терминале MetaTrader 5 // Современные наукоемкие технологии. 2018. № 10. С. 56–60.
8. Кондратьева Т.Н. Принцип работы трендовых индикаторов // Интернет-журнал Науковедение. 2013. № 3. URL: https://naukovedenie.ru/PDF/63trgsu313.pdf (дата обращения: 22.09.2018).
9. Миндияров Н.И., Рейзенбук К.Э. Торговая система для анализа котировок акций и автоматической торговли на фондовом рынке // Вестник Кузбасского государственного технического университета. 2014. № 1 (101). С. 139–144.

Проблема анализа фондового рынка является одной из наиболее приоритетных для большинства исследователей и его участников. При этом сегодня выделяются четыре основных метода (рис. 1).

kobd1.tif

Рис. 1. Методы анализа фондового рынка (разработано авторами)

kobd2.tif

Рис. 2. Основные подходы к созданию торгового советника (разработано авторами)

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

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

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

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

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

Например, создание «черного ящика» требует понимания работы нейронной сети и навыков работы со специализированным программным обеспечением. Программирование АТС произведено в специальном разделе торгового терминала MetaTrader5 – MetaEditor, с использованием преимуществ 1, 2 и 4 подходов [6, 7].

Торговый робот работает на основе двух индикаторов – Stochastic Oscillator и Bollinger Bands. Bollinger Bands (полосы Боллинджера) – это основной индикатор, представляющий из себя две линии, ограничивающие динамику цены сверху и снизу. Цена, достигая одной из этих линий, подаёт сигнал на открытие сделки. Если цена подходит к верхней линии, то подаётся сигнал на продажу, если к нижней, то на покупку (рис. 3).

kobd3.tif

Рис. 3. Полосы Боллинджера (разработано авторами)

kobd4.tif

Рис. 4. Подтверждения сигнала (разработано авторами)

Индикатор Bollinger Bands подаёт сигналы на открытие сделки, которые подтверждаются или, наоборот опровергаются индикатором Stochastic Oscillator [8, 9].

Осциллятор стохастик состоит из двух линий: SOH – быстрой, ( %К), и SOL – медленной ( %D). Осциллятор стохастик показывает положение каждой цены закрытия в предыдущем интервале максимальных и минимальных цен. Если при сигнале на покупку линия %K находилась ниже уровня 20, а затем поднялась выше, то такой сигнал можно считать подтверждённым, иначе – нет. При сигнале на продажу для подтверждения сигнала линия %K должна находиться выше уровня 80, затем опуститься ниже (рис. 4).

Советник тестировался в течение месяца на графике USD/EUR в промежутке с 20.09.2018 по 20.10.2018 при таймфреймах в 1М, 5M, 15M, 30M, 1H. Для таймфреймов 1D и 1W советник тестировался на более длительном промежутке времени – 6 месяцев, с 07.04.2018 по 07.10.2018. Тестирование проходило несколько десятков раз на каждом таймфрейме с целью нахождения наиболее оптимальных параметров на участке графика в период тестирования.

В качестве изменяемых параметров были взяты: InpLots (размер лота, количество акций/валюты купленных или проданных за одно действие/одну сделку); InpSL (коэффициент при вычислении StopLoss, определяет линию StopLoss); InpTakeProfit, InpDeviations.

Пересекая линию StopLoss, сделка закрывается с убытком, зависящим от разницы между текущей ценой (на момент открытия сделки) и линией StopLoss при продаже и разницы между линией StopLoss и цены открытия сделки при покупке. Чем меньше значение этого параметра, тем быстрее закроется сделка, при движении цен в убыток сделке соответственно чем больше значение, тем медленнее. Небольшой коэффициент StopLoss ведёт к быстрому завершению сделки в случае, если цена пошла против наших ожиданий, что, с одной стороны, может уменьшить убыток от неприбыльной сделки, что в результате увеличит нашу прибыль. Но с другой, линия StopLoss «недалеко» от текущей цены не даёт шанса рынку изменить тренд. Дойдя до линии StopLoss цена может пойти в обратную сторону – нужную нам (к линии TakeProfit) и потенциально принести прибыль.

На графике (рис. 5) видно, что если поднять линию TakeProfit сделки № 1 выше, цена не достала бы до этой линии и изменила бы направление, что привело бы к закрытию сделки по линии Stoploss, то есть с убытком. Сделка № 2 закрылась по линии StopLoss. Опустив эту линию ниже, убытки были бы больше, ведь цена не изменила своего направления. Цель тестирования – найти такой параметр InpSL, при котором неприбыльные сделки закрывались максимально быстро, но при этом не закрывались потенциально прибыльные сделки.

kobd5.tif

Рис. 5. График сделок (разработано авторами)

kobd6.tif

Рис. 6. Линия TakeProfit (разработано авторами)

kobd7a.tif kobd7b.tif

InpDeviations = 2.60 InpDeviations = 5.60

Рис. 7. График с параметром InpDeviations (разработано авторами)

kobd8.tif

Рис. 8. Расположение линий StopLoss, TakeProfit, полос Боллинджера

InpTakeProfit – коэффициент при вычислении TakeProfit, определяет линию TakeProfit. Пересекая линию TakeProfit, сделка закрывается с прибылью. Чем больше этот коэффициент, тем дальше от цены открытия будет находиться линия TakeProfit. Разница между ценой открытия сделки и линией TakeProfit при продаже и разница между линией TakeProfit и ценой открытия определяют нашу прибыль. Чем больше разница, тем прибыльней сделка. Установив слишком близко к цене открытия линию TakeProfit, мы увеличиваем число прибыльных сделок, но уменьшаем прибыль от каждой из них, соответственно, увеличивая расстояние от цены открытия до линии TakeProfit, мы уменьшаем количество сделок, но повышаем прибыль с каждой из них. При слишком высоком уровне TakeProfit цена может не дойти до него, изменив направление своего движения к уровню StopLoss.

На графике (рис. 6) наглядно видно, что из себя представляют линии TakeProfit. Первая линия с параметром InpTakeProfit = 71. Вторая линия с параметром InpTakeProfit = 105. Цель тестирования – найти такой параметр InpSL, при котором AV*C было максимальным, где AV – средняя прибыль сделок, C – количество сделок.

InpDeviations – параметр, регулирующий расстояние между полосами Боллинджера. Чем больше расстояние между ними, тем сложнее цене будет пробить эти полосы, соответственно, тем меньше сигналов на открытие сделки будет поступать. Но при этом сигналы на открытие будут более достоверными. Меньшее расстояние между ними увеличивает число сигналов на открытие позиции, но такие сигналы можно считать менее достоверными. Увеличивая расстояние между полосами Боллинджера, уменьшается число как прибыльных, так и убыточных сделок.

На рис. 7 представлены графики с параметром InpDeviations = 2.60 (небольшое расстояние между линиями Боллинджера) и с параметром InpDeviations = 5.60 (достаточно большое расстояние от линии цен до полос Боллинджера).

Цель исследования – найти наиболее оптимальный параметр InpDeviations, при котором отсеивалось бы большое количество убыточных сделок, сохранив при этом большое количество прибыльных сделок.

Расположение линий StopLoss, TakeProfit, Полос Боллинджера на графике отражено на рис. 8 (разработано авторами).

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

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

Оптимальные параметры работы системы

 

1M

5M

15M

30M

1H

1D

1W

InpLots

0,3

0,3

0,3

0,3

0,3

0,3

0,3

InpSL

39

17

17

16

9

22

22

InpTakeProfit

80

72

127

143

172

88

122

InpDeviations

5,10

4,60

6,30

13,65

4,65

2,65

2,22

Прибыль

130

14

–10

24

18

–80

–30

Исследования показали, что наиболее эффективная торговля происходит на таймфрейме = 1М, так как советник обрабатывает не цену открытия или закрытия бара, а каждый тик (движение графика с интервалом = 1 секунда).

Для анализа зависимости количества сделок от дней недели, месяцев и времени суток исследование проводилось на графике в течение 12 месяцев с 07.10.2017 по 07.10.2018 на графике EURUSD на таймфрейме 1М. На рис. 9 (разработано авторами) представлена диаграмма зависимости количества сделок от дней недели.

kobd9a.tif

Входы по дням недели

kobd9b.tif

Прибыли и убытки по дням недели

Рис. 9. Диаграмма зависимости количества сделок от дней недели

kobd10a.tif

Прибыли и убытки по месяцам

kobd10b.tif

Входы по месяцам

Рис. 10. Диаграмма по месяцам (разработано авторами)

kobd11a.tif

Входы по часам (Азия, Европа, США)

kobd11b.tif

Прибыли и убытки по часам

Рис. 11. Диаграмма частоты сделок в течение дня (разработано авторами)

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

На диаграмме месяцев, так же как и на диаграмме дней недели, чёткой зависимости нет (рис. 11). Самый прибыльный месяц – февраль, самый убыточный месяц – апрель.

На диаграмме частоты сделок в течение дня (рис. 11) дело обстоит совершенно иначе.

Явно выражены пики активности с 9–10 часов утра и 15–16, а также время спокойствия: 1–2 и 19–20.

Выводы

Было установлено, что учет свойств повторения ситуаций на рынке, возможность прогнозирования по «вчерашнему» поведению участников рынка в сочетании с автоматической торговой системой позволяет трейдеру минимизировать риски при торговле на фондовом рынке.

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

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


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

Кондратьева Т.Н., Трипута И.Г., Прудников С.Е. ОПТИМИЗАЦИЯ И ТЕСТИРОВАНИЕ СОВЕТНИКА В КЛИЕНТСКОМ ТЕРМИНАЛЕ METATRADER 5 // Современные наукоемкие технологии. – 2018. – № 12-1. – С. 77-83;
URL: https://top-technologies.ru/ru/article/view?id=37266 (дата обращения: 29.03.2024).

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

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