Евгений Ждан - MQL4-программирование: торговый робот за один вечер

MQL4-программирование: торговый робот за один вечер
Название: MQL4-программирование: торговый робот за один вечер
Автор:
Жанр: Книги о компьютерах
Серии: Нет данных
ISBN: Нет данных
Год: Не установлен
О чем книга "MQL4-программирование: торговый робот за один вечер"

Чтобы освободиться от рутины и сберечь нервы, каждый трейдер задумывается об автоматизации своей торговли. Эта книга поможет освоить mql4-программирование любому человеку с любым уровнем образования. Книга написана простым языком без сложной терминологии. На протяжении всей книги автор и читатель вместе разрабатывают торговый советник для платформы MetaTrader4.

Бесплатно читать онлайн MQL4-программирование: торговый робот за один вечер


© Евгений Ждан, 2017


ISBN 978-5-4485-7559-4

Создано в интеллектуальной издательской системе Ridero

Введение

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

Данные о том, что именно зарабатывающих трейдеров не более 5% встречаются повсеместно. Деньги остальных 95% делятся между первыми 5% и брокерами/диллинговыми центрами.

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

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

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

Торговый робот лишен эмоций и способен монотонно выполнять свой алгоритм с приходом каждого нового ценового значения. Конечно, иногда трейдеру придется запрещать ему работу, например, во время крайне-важных финансово-политических новостей, когда волатильность возрастает в разы. Например, такими событиями в недавнем прошлом являлись Britain Exit – «Брекзит» – кампания сторонников выхода Великобритании из ЕС, выборы президентов США и Франции, авария на АЭС Фукусима-1, спровоцировавшая обвал японской национальной валюты и т. п. Надеюсь, мысль вам понятна.

В этой книге мы научимся делать торговых роботов для для самого распространенного и самого удобного торгового терминала MetaTrader4 от компании MetaQuotes. Если быть точнее, в этой книге мы по шагам создадим советника (Expert Advisor), полностью готового «к употреблению». Естественно, прибыльность конечного продукта я не обещаю, нам важно другое – научиться их делать.

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

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

Немного теории

Типы данных

Торговый эксперт оперирует данными. Он работает с поступающими ценами, ценовыми значениями индикаторов, ведет подсчеты открытых ордеров, что-то печатает в Журнал торгового терминала.

В mql4 существуют следующие типы данных:

Теперь весь наш код выглядит так:

Основные типы данных:

– целые числа (char, short, int, long, uchar, ushort, uint, ulong)

– логические (bool)

– литералы (ushort)

– строки (string)

– числа с плавающей точкой (double, float)

– цвет (color)

– дата и время (datetime)

– перечисления (enum)

Сложные типы данных:

– структуры;

– классы.

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

– Тип int – целые числа, т. е. 1, 2, 5,100, 1425…

– Тип double – числа с дробной частью (с запятой): 1,0254, 0,0547…

– Тип bool – имеет только 2 значения – true (правда) и false (ложь).

– Тип string – строковые значения, т. е. слова: «слово», «предложение из четырех слов»…

Переменные

Переменные – это буквенные символы, содержащие в себе значения какого-либо типа. Переменные – это бочонки, в которых что-то лежит.

С типом bool все также, например переменная bool b = true, означает, что бочонок с именем b содержит в себе true.



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

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

Условные операторы if-else

Условные операторы if-else применяются всегда и везде. If – означает «если», else – «если нет, то».

Например:

if (x

{

Что-то делаем, например, открываем ордер. Или закрываем другой ордер, да все что угодно!


} else // А если x не меньше y, делаем то, что ниже, в фигурных скобках

{

Делаем что-то здесь.

}

использование оператора else не обязательно, все зависит от конкретной задачи.

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

Блоки комментариев делаются так:

/* это

блок

комментария */

Все, что между символами /* и */ также компилятором игнорируется.

Циклы

В mql4 существуют циклы for и while. Чаще используется for, но, нередко и while.

for (int i=0; i <100; i++)

{

что-то считаем 100 раз.

}

int i = 0 – объявляем переменную, которая будет работать в пределах данного цикла; i <100 – цикл прокрутится 100 раз, от 0 до 99; i++ (инкремент) означает, что при каждой прокрутке (итерации) цикла, переменная i будет увеличена на единицу.

bool x = false; //присваиваем переменной х типа bool значение false

while (x==false) //пока x равен false. Два символа равно “==” означают сравнение

{

/*

здесь будут выполняться какие-то условия.

Как только x станет true, цикл прекратится.

*/

//например

x = true;//после первого же прохода делаем x равным true

//и цикл прекращается

}

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

Техническое задание

Опишем, что и когда должен делать наш будущий советник:


Торговые сигналы будут формировать два стандартных индикатора Envelopes и ZigZag. Эти индикаторы встроены в MetaTrader4 и дополнительно скачивать их не нужно. Я выбрал два именно этих индикатора, т. к. их значения вызываются разными способами. Для Envelopes – с помощью стандартной функции iEnvelopes, а ZigZag вызывается функцией iCustom – ее вам необходимо изучить (хотя, это громко сказано), чтобы в дальнейшем вы умели вызывать данные почти


С этой книгой читают
С точки зрения инженера.Любое договорное знание.В Небытии.Настоящего.Является Софизмом.Истина непознаваема.В данной книге излагаются.Софизмы об Иннатизме и Tabula rasa.А также излагаются Софизм об Апперцепции по Канту, Софизм об Антиципации по Канту и Софизм Термодинамика..С точки зрения инженера.Настоящее.Странного Мига в Бытие.Непознаваемо.
С точки зрения инженера.Любое договорное знание.В Небытии.Настоящего.Является Софизмом.Истина, Творение, Сущее и Бытие.Непознаваемы.В данной книге излагаются.Творение Дуализма Небытия и Бытия.Трактат о Творении Дуализма.
…Поистине неисповедимы пути Господни. Мы не можем знать, куда он направит нас завтра, через месяц, через год. Как отзовется наше слово, наше действие – все это в руках и помыслах Всевышнего.Но мы точно знаем, что он нас бережет, он не дает нам испытаний, которых мы не могли бы вынести. Он ведет нас так, как надо.
В издании представлены материалы по новой перспективной технологии – мобильной электронной подписи (МЭП). В брошюре представлены теоретические основы технологии, рассмотрены перспективы и применение МЭП. И в качестве практической части – установка и применение мобильной электронной подписи.
Ты искал лампу с предгрозовым, преддождевым светом. Хотел включать ее, когда станет невыносимо жить, и наслаждаться ее теплыми, словно пропущенными сквозь янтарь лучами. Искал и вдруг вспомнил своего друга-фотографа, истинного художника, который бросил все и уехал далеко-далеко в поисках такого же прекрасного света. Уехал – и не вернулся. Трагически погиб в погоне за мечтой – в нищете и одиночестве. И тогда ты задумался: а не напрасной ли была же
Эта книга – самый полный путеводитель в мире светского этикета. Торжественный прием, поход в оперу, турнир по гольфу, свадебный банкет или прогулка на яхте больше не будут вызывать у вас замешательство. Не важно, гость вы или хозяин мероприятия, рекомендации по выбору подходящей одежды, правила этикета и специальная терминология помогут чувствовать себя комфортно в любой ситуации. Какую выбрать вилку и как есть артишоки, улиток, ракообразных и сп
Я – самая обычная девушка. Учусь, работаю, наматываю сопли на кулак, пытаясь забыть бывшего… И тут на моей кухне вдруг оказывается незнакомый мужик, потрясающий огненным мечом и настаивающий на том, что он принц Мятной Жвачки. Конечно же это сон… Или глюк… И он больше не повторится! Ну разве только он заявится ко мне ночью… И следующей тоже… И еще… И похитит, в итоге, гад, заявляя, что теперь я его невеста!Я – самый обычный принц. Хвала небесам,
Поддавшись на уговоры брата, Лида едет с ним в лес искать спрятанный дедом клад. Вот только не всё так просто: находит она совсем другое, и как бы теперь от этого другого спастись?..