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

Поместим файл класса IKSignal в каталог Include и включим его в основной файл индикатора:

Теперь функция OnCalculate примет следующий вид.

Здесь мы создаем экземпляр класса IKSignal с указанными в правильном порядке параметрами и применяем к нему функцию draw.

Как видно, код основного файла индикатора значительно упрощается.



При этом функциональность индикатора осталась той же самой.

Почему не работают индикаторы

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

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

Основные причины две.

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

И вторая причина — это то, что в реале сделка не открывается на открытии того же бара, на котором индикатор дает сигнал, а открывается или закрывается позже.



В качестве примера рассмотрим индикатор Parabolic SAR.

Покупка — разворот, на анализируемом баре индикатор ниже цены, а на предыдущем — выше.

Продажа — разворот, на анализируемом баре индикатор выше цены, а на предыдущем — ниже.

Возьмем шаг индикатора 0.02, спред 0.0002 на паре EURUSD.

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



Здесь для сделок на покупку и продажу на 15 минутных, 30 минутных, часовых и четырех часовых графиках мы получаем прибыльных сделок больше, чем убыточных.

Как видно, на любом интервале индикатор работает, количество сделок с положительным профитом превышает количество сделок с отрицательным профитом, и мы при любом раскладе должны зарабатывать деньги.

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



Здесь для сделок на покупку и продажу на 15 минутных, 30 минутных, часовых и четырех часовых графиках мы получаем убыточных сделок больше, чем прибыльных.

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

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

На каком-то периоде времени и такой индикатор может показать прибыль.

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

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

Общая структура советника

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



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

Для эксперта это такие функции как OnInit (), OnDeinit, OnTick (), OnTimer (), OnTrade (), OnTradeTransaction, OnTester (), OnTesterInit (), OnTesterPass (), OnTesterDeinit (), OnBookEvent (), OnChartEvent ().

Впрочем, для организации автоматической торговли достаточно двух функций OnInit () и OnTick ().



В отличие от индикаторов, для экспертов особо никакие свойства не объявляются, за исключением link, copyright, version и description, и, если эксперт попутно с торговлей не рисует индикатор.

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

Здесь правда есть один параметр, которого нет в индикаторе, но который присутствует для эксперта.



Это магическое число или идентификатор эксперта.

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

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



В функции OnInit эксперта производится инициализация хэндлов используемых технических индикаторов и переменных эксперта.

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

Глобальные переменные клиентского терминала отличаются от глобальных переменных MQL5-приложения.



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

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

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

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

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

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

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

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

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

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

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

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

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