Читаем Язык программирования MQL5: Продвинутое использование торговой платформы MetaTrader 5. Издание 2-е, исправленное и дополненное полностью

И здесь мы объявляем метод Order открытия позиции.



В методе Order мы используем входные параметры метода как флаги на открытие или закрытие позиции на покупку или продажу.



И функции сигналов торговой системы мы выделим в класс Sidus.

Здесь мы объявляем переменные экземпляра класса — хэндлы используемых индикаторов и их буферы.

И в конструкторе класса мы их инициализируем.

И мы также объявляем и реализуем методы вычисления сигналов на открытие или закрытие позиции на покупку или продажу.



В результате выделения функций в отдельные классы код советника существенно сократится.

Здесь мы сначала включаем файлы созданных нами классов с помощью директивы include.

Затем мы объявляем входные параметры советника и создаем экземпляры классов, передавая в конструкторы классов соответствующие входные параметры.

В методе OnInit советника мы просто теперь вызываем метод OnCheckTradeInit класса CheckTrade.



В методе OnTick советика для проверок мы вызываем метод OnCheckTradeTick класса CheckTrade.



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

И отправляем запрос на ордер с помощью класса Trade.

Тестирование советников

Встроенный тестер терминала MetaTrader 5 позволяет протестировать и оптимизировать входные input параметры советника с использованием исторических данных финансовых инструментов.



Открыть тестер можно, нажав правой кнопкой мышки на советнике в окне Навигатор терминала и в контекстном меню выбрав Тестировать.

Также тестер можно открыть в меню Вид терминала с помощью команды Тестер стратегий.

Тестирование является многопоточным и проводится с помощью специальных сервисов-агентов, которые представлены тремя типами.



Это локальные агенты, устанавливаемые вместе с клиентским терминалом.

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

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

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

Локальные сетевые агенты также могут быть установлены на компьютере отдельно от торговой платформы с помощью файла metatester64.exe. Локальные сетевые агенты можно устанавливать только в 64-битных системах.

Еще один тип агентов это облачные агенты, использование которых платное и подключить которые также можно во вкладе Агенты тестера терминала.



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



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



Вкладка Бэктест окна тестера показывает результаты тестирования советника.



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



Быстро провести оптимизацию входных параметров можно в режиме «Форвард: 1/4», «Без задержки», «Только цены открытия».

«Только цены открытия» — расчет ведется только по ценам открытия баров.

Форвард-тестированием называется повторный прогон советника на другом временном периоде.

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

С включением этой опции история котировок валют и акций делится на две части.

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

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

Форвард 1/4 — используется четверть указанного периода для форвард-тестирования.

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

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

В процессе оптимизации происходит тестирование одного торгового робота с разными входными параметрами.

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

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

Перейти на страницу:

Похожие книги

Самоучитель UML
Самоучитель UML

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

Александр Васильевич Леоненков , Александр Леоненков

Зарубежная компьютерная, околокомпьютерная литература / Программирование / Прочая компьютерная литература / Книги по IT
Компьютер для тех, кому за…
Компьютер для тех, кому за…

В наш век высоких технологий без компьютера не обходится практически ни один человек. Но что делать, если вам уже за…, а компьютер вы так и не освоили? Не стоит отчаиваться! Эта книга была написана специально для тех, кто по каким-то причинам не смог освоить его раньше. Легким и доступным языком в книге изложены основные принципы работы на компьютере. Вы узнаете, как создать документ в текстовом редакторе, выстроить таблицы и диаграммы в экселе, освоите графический редактор, который позволит вам рисовать и редактировать фото и рисунки, научитесь самостоятельно подключать принтер и печать, общаться с родными и друзьями по скайпу и ICQ, узнаете, какие бывают игры, как выбрать игру для себя, и многое-многое другое.Никогда не поздно осваивать что-то новое! А уж тем более — компьютер. Он откроет вам целый мир безграничных возможностей. Не упустите свой шанс узнать что-то новое и интересное — дайте компьютеру прочно войти в вашу жизнь. Ведь пользоваться им так же просто, как и обычным телефоном, только в тысячу раз интереснее!

Оксана Грибова

Зарубежная компьютерная, околокомпьютерная литература / Интернет / Программное обеспечение / Прочая компьютерная литература / Книги по IT
Omert@. Руководство по компьютерной безопасности и защите информации для Больших Боссов
Omert@. Руководство по компьютерной безопасности и защите информации для Больших Боссов

Увы, друг мой, защита твоей информации - или хотя бы четкое понимание того, что это такое и как подобная защита должна строиться - это Твое Личное Дело! Не Cosa Nostra (хотя твои проблемы могут стать и Нашим Делом тоже), а Cosa Roba - Твое Дело!  Я знаю, что ты солидный человек, который привык платить, чтобы за него решали проблемы. Однако есть проблемы, которые за тебя никто не решит, - даже за очень большие деньги. Например, заниматься любовью со своей женой должен ты сам. Но кто тебе сказал, что защита твоей информации - это менее интимное дело, и его можно поручить постороннему?  Первая книга по безопасности для Менеджеров, а не для ботаников-компьютерщиков, информации от широко неизвестного благодаря своей репутации эксперта международного класса. Только благодаря ей Большой Босс сможет понять, каким образом он сможет чувствовать себя хотя бы в относительной безопасности!  Ты должен сам знать, что такое безопасность информации! Ни один нанятый специалист не решит это за тебя!  Если ты нанимаешь студента-компьютерщика за двести баксов в месяц и совершенно серьезно считаешь его специалистом по информационной безопасности, - не понятно, как ты вообще смог стать менеджером подобного уровня.

Алекс Экслер , Карл Шкафиц

Зарубежная компьютерная, околокомпьютерная литература / Прочая компьютерная литература / Книги по IT