MetaTrader 5 и Python: Видеть все | VSAtrader.ru |

MetaTrader 5 и Python: Видеть все

Первый релиз MetaTrader 5 вышел 1 июня 2010 года. Но за 6 лет он так и не обогнал MetaTrader 4 по популярности.

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

Метатрейдер 4 и 5, позиции в MQL5 Market

Позиции MT 4 и 5 на MQL5 Market

Тестер стратегий в МТ5

А ведь в пятой версии есть несколько классных штук, которых нет в четверке. И одна из них — это мультивалютный тестер стратегий.

При желании мы можем протестировать стратегию сразу на всех доступных инструментах.

Тест простейшей стратегии

Для примера возьмем простейшую стратегию из вебинара:

  • Если предыдущий бар вниз, то покупаем.
  • Если предыдущий бар вверх, то продаем.
  • Ордер открывается на открытии бара и закрывается на закрытии бара.
  • TP и SL нет. В профит берем весь бар.

И прогоним ее по основным валютным парам: AUDUSD, EURUSD, GBPUSD, NZDUSD, USDCAD, USDCHF, USDJPY.

В данном случае в MetaTrader 5 есть отличия в том, как мы получаем цены открытия и закрытия баров, а в остальном все примерно так же:

Код в MQL5

Код стратегии для МТ5

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

Настройки советника в Метатрейдер 5

Как настроить тестер стратегий МТ5.

После завершения тестирования выводится отчет:

Вывод отчета о тестировании ТС

Отчет о тестировании торговой системы

Оценка результатов теста в Python

Еще одно из отличий пятого метатрейдера — возможность экспорта отчета в csv-файл. Из csv-файла данные загрузим в python и выведем на экран линии баланса по всем тестируемым парам:

Экспорт статистики в Python

Линии баланса по всем парам

В глаза сразу бросаются EURUSD и AUDUSD, которые примерно с сентября 2014 года приносили прибыль, и GBPUSD и NZDUSD, которые были стабильно убыточными.

Рассмотрим  прибыльные пары по отдельности. Сначала EURUSD.

Линии баланса в наложении на график

EURUSD, график цены и доходность.

Верхний график построен по ценам закрытия EURUSD, нижний — график эквити (зеленая линия — buy ордера, красная — sell ордера, синяя — общая).

Далее AUDUSD:

Кривая доходности в наложении на график AUDUSD

AUDUSD, график цены и доходность.

Верхний график построен по ценам закрытия AUDUSD, нижний — график эквити (зеленая линия — buy ордера, красная — sell ордера, синяя — общая).

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

На этом плюсы MetaTrader 5 не заканчиваются, в нем есть еще новшества. Да и в Python тоже много всего для анализа данных.

Новые статьи в вашем почтовом ящике



Ваше мнение о статье напишите в комментариях.

Также сообщите нам, о чем еще вы хотите узнать - и мы опубликуем это на сайте.
Автор: Чапайкин Роман

Программист (Python, MQL4). Создал советники, индикаторы для Metatrader 4: Индикатор CalcoPair - вычисление профита двух ордеров на разных инструментах. Индикатор FxMailNotice - оповещение о пересечении уровней. Индикатор R_Informer - расчет лота для открываемого ордера. Индикатор FxMailSender - торговые отчеты на почту. Советник Slicer - закрытие ордеров частями.