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

Тут можно читать бесплатно Евгений Ждан - MQL4-программирование: торговый робот за один вечер. Жанр: Компьютеры и Интернет / Прочая околокомпьтерная литература, год неизвестен. Так же Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте «WorldBooks (МирКниг)» или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
Евгений Ждан - MQL4-программирование: торговый робот за один вечер

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

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

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

Евгений Ждан - MQL4-программирование: торговый робот за один вечер - читать книгу онлайн бесплатно, автор Евгений Ждан

На изображении в комментариях указано, какие блоки за что отвечают.

Чтобы узнать ценовые значения индикаторов нам нужно объявить глобальные переменные типа double для верхней и нижней линии индикатора Envelopes. Назовем их enveUP и enveDW. Эти названия можно придумывать самим. То же самое надо сделать и для получения ценового значения индикатора ZZ. Назовем эту переменную ZZ. Почему именно глобальные переменные? Для того, чтобы эти значения мы могли вызывать в любом месте программы (т. е. советника). Дело в том, что мы будем вызывать значения индикаторов не на каждом приходящем тике, а один раз на одной свече. Это существенно повысит производительность, т. к. терминалу не нужно будет выполнять одну и ту же операцию на каждом тике. Если мы обернем в фигурные скобки вызов наших индикаторов с записью их значений НЕ в глобальные переменные, то эти значения будут видны только в рамках этих же фигурных скобок. И за пределами их мы получим ошибку. Более подробно постараюсь описать на рисунке ниже.

Перепишите этот код в свой редактор:

//+ – — – — – — – — – — – — – — – — – — – — – — – — – — – — – — – — – +

//| MyFirstEA.mq4 |

//| Copyright 2017, |

//+ – — – — – — – — – — – — – — – — – — – — – — – — – — – — – — – — – +

#property copyright «Copyright 2017»

#property link»»

#property version «1.00»

#property strict

//+ – — – — – — – — – — – — – — – — – — – — – — – — – — – — – — – — – +

double enveUP, enveDW, ZZ;

datetime open;

//+ – — – — – — – — – — – — – — – — – — – — – — – — – — – — – — – — – +

int OnInit ()

{

return (INIT_SUCCEEDED);

}

void OnDeinit (const int reason)

{

}

void OnTick ()

{

if (Open [0]!= open)

{

enveUP = iEnvelopes (NULL,0,13,MODE_SMA,10,PRICE_CLOSE,0.2,MODE_UPPER,1);

enveDW = iEnvelopes (NULL,0,13,MODE_SMA,10,PRICE_CLOSE,0.2,MODE_LOWER,1);

ZZ = iCustom (Symbol (),0,«ZigZag», 0,1);

if (enveUP> 0 && enveDW> 0 && ZZ> 0) open = Open [0];

}

}

Разберем, что же означает каждая строчка.

В глобальных переменных, кроме переменных для значений индикаторов, мы объявили переменную типа datetime с названием open. Сейчас она содержит 0.

ВАЖНЫЙ МОМЕНТ: установите курсор на слово datetime и нажмите на клавиатуре F1 – появится СПРАВКА с описанием, что означает тип datetime. Так можно делать НА всех встроенных командах!

if (Open [0]!= open): Если Время Открытия Нулевой Свечи НЕ РАВНО open (т. е. нулю), то выполнится код в фигурных скобках. Команда Open [0] означает Время Открытия Нулевой (т. е. текущей, еще не закрытой свечи). Также, установите курсор на Open и нажмите F1 – почитайте, что это за команда.

EnveUP = iEnvelopes (NULL,0,13,MODE_SMA,10,PRICE_CLOSE,0.2,MODE_UPPER,1); – нажимаем на iEnvelopes и видим, в каком порядке и какие данные должны быть указаны:

double iEnvelopes (

– string symbol, // имя символа

– int timeframe, // таймфрейм

– int ma_period, // период

– int ma_method, // метод усреднения

– int ma_shift, // сдвиг средней

– int applied_price, // тип цены

– double deviation, // отклонение (в процентах)

– int mode, // индекс линии

– int shift // сдвиг

);

В нашем коде мы не предусмотрели возможность изменять данные индикатора Envelopes. Давайте это исправим. Нам нужно вывести во внешние параметры Период и Отклонение, выраженное в процентах.

Конец ознакомительного фрагмента.

Перейти на страницу:
Вы автор?
Жалоба
Все книги на сайте размещаются его пользователями. Приносим свои глубочайшие извинения, если Ваша книга была опубликована без Вашего на то согласия.
Напишите нам, и мы в срочном порядке примем меры.
Комментарии / Отзывы
    Ничего не найдено.