Текущие котировки


<a href="https://instaforex.com/ru/">ИнстаФорекс портал</a>

<a href="https://www.instaforex.com/ru/">Форекс Portal</a>

Наши преимущества

Форекс аналитика
ПАММ-Система
ForexCopy
Бонус 250%

Графики – это главное

Все эти индикаторы, советники и скрипты пишутся для того, чтобы их присоединять к графикам. Поэтому необходимо сразу получить правильное представление о графиках, то есть о том, что они из себя представляют на самом деле и что скрывается за ними. Возьмем график EURUSD с тайм-фреймом D1. То есть, мы имеем график по инструменту EURUSD, каждый бар которого отражает поведение этой валютной пары за день (D1). Получить название инструмент в MQL-4 можно функцией Symbol()), а значение тайм-фрейма с помощью Period().

Эти функции можно использовать в любом файле MQL-4. Получить сведения по ним можно из встроенной справки в MetaEditor. Функция Period() возвращает значение периода в минутах, которое может быть одним из заданных констант: 1 минута, 5 минут, 15 минут, 30 минут и так далее. Вот как это описано в справке:

Перечисление периодов графика

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

Константа Значение Описание
PERIOD_M1 1 1 минута
PERIOD_M5 5 5 минут
PERIOD_M15 15 15 минут
PERIOD_M30 30 30 минут
PERIOD_H1 60 1 час
PERIOD_H4 240 4 часа
PERIOD_D1 1440 Дни
PERIOD_W1 10080 Недели
PERIOD_MN1 43200 Месяцы

На самом деле, даже если на графике нет ни одного индикатора, мы уже имеем перед собой как минимум один индикатор, так как даже представление цен в окне графика возможно в МТ4 тремя способами — свечи, бары и линии.


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


Если мы в терминале МТ4 нажмем комбинацию Ctrl+S (пункт меню «Сохранить как»), то появится диалоговое окно сохранения истории EURUSD D1 в формате *.csv (формат с разделителями).

Сохраним файл с именем, предлагаемым по умолчанию — EURUSD1440.csv . Как можно догадаться, имя файла по умолчанию содержит в себе имя инструмента (которое можно получить функцией Symbol()) и период 1440 минут (значение функции Period() для дневного тайм-фрейма равно 1440). Далее откроем полученный файл в Excel.
Последние пять строчек выглядят так:

2005.12.19,00:00,1.2029,1.2037,1.1973,1.1999,5166
2005.12.20,00:00,1.2002,1.2011,1.1839,1.1861,6679
2005.12.21,00:00,1.1859,1.1910,1.1800,1.1832,6787
2005.12.22,00:00,1.1830,1.1895,1.1808,1.1871,5284
2005.12.23,00:00,1.1870,1.1883,1.1827,1.1864,4686

Рассмотрим последнюю строчку, все остальные строчки аналогичны. Сначала идет запись 2005.12.23 — это дата 23 декабря 2005 года, Далее через запятую 00:00 — это 00 часов 00 минут. Все вместе означает начало дня 23.12.2005 — время открытия дневной свечи(Time). Далее числа 1.1870 ( цена открытия — Open ), 1.1883 ( максимальная цена за период — High ), 1827 ( минимальная цена за период — Low), 1.1864 (цена закрытия — Close) и 4686( объем за период — Volume). Если мы подведем мышку к последней свече на графике, то всплывет подсказка. Таким образом, можно сделать вывод, что график любого инструмента на любом тайм-фрейме можно представить в виде шести массивов: Time[], Open[], Low[], High[], Close[] и Volume[]. Все индикаторы и советники используют в своей работе только эти данные и более ничего. Первый из них содержит данные типа datetime, следующие четыре массива содержат данные типа double и последний — тип int. Cправка по всем типам содержится в MetaEditor. Доступ к элементам массива производится по индексу, индексы всегда имеют целочисленный тип. Самый последний бар (свеча) по времени всегда имеет нулевой индекс. Выражение Open[0] означает цену открытия нулевого бара (последнего), Time[1] означает дату и время открытия предпоследнего бара, Low[3] — минимальная цена за период на три периода назад и так далее. Важно запомнить, при увеличении индекса мы перемещаемся вглубь истории вплоть до самого раннего бара. Чтобы узнать количество баров, отображаемых на графике по данному инструменту, необходимо обратиться к параметру Bars. Этот параметр всегда содержит количество баров, которые можно увидеть на графике и автоматически обновляется при работе терминала в режиме реального времени. Самый первый бар на графике (дальше всех отстоящий от нас по ремени) будет иметь индекс Bars-1, так как индексация начинается с нуля, об этом не стоит забывать.

И напоследок хочу предупредить, что предопределенная переменная Bars напрямую связана с настройкой «Макс. баров в окне» (то есть обычно не больше этого значения) и не означает «Макс. баров в истории» (на рисунке 250000). Чем больше значения параметра «Макс. баров в окне» (на рисунке 15000), тем больше памяти потребляет терминал. Изменение этого параметра вступает в силу только после перезапуска МТ4.