MQL4-программирование: торговый робот за один вечер. Евгений Ждан. Читать онлайн. Newlib. NEWLIB.NET

Автор: Евгений Ждан
Издательство: Автор
Серия:
Жанр произведения:
Год издания: 2023
isbn:
Скачать книгу
p>

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

      Дело в том, что, начиная торговать, трейдер выполняет условия своей торговой стратегии. После череды успешных сделок, последний расслабляется, начинает думать, что поймал удачу за бороду и жизнь обеспечена. Появляется чрезмерная уверенность в своих действиях и трейдер начинает отклоняться от торговой стратегии. Открываются сделки не по системе, а по «наитию». Пребывая в эйфории от череды успешно закрытых ордеров, трейдер увеличивает торговый лот. И уже скоро этот человек отправляется в число тех теряющих деньги 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 < y) // Если содержимое бочонка x меньше содержимого бочонка y

      {

      Что-то делаем, например,