Главная » Статьи » Форекс Советники |
Рождение форекс эксперта. Графики – это главное.Все эти индикаторы, советники и скрипты пишутся для того, чтобы их присоединять к графикам. Поэтому необходимо сразу получить правильное представление о графиках, то есть о том, что они из себя представляют на самом деле и что скрывается за ними. Возьмем график EURUSD с тайм-фреймом D1. То есть, мы имеем график по инструменту EURUSD, каждый бар которого отражает поведение этой валютной пары за день (D1). Получить название инструмент в MQL-4 можно функцией Symbol()), а значение тайм-фрейма с помощью Period(). Эти функции можно использовать в любом файле MQL-4. Получить сведения по ним можно из встроенной справки в MetaEditor. Функция Period() возвращает значение периода в минутах, которое может быть одним из заданных констант: 1 минута, 5 минут, 15 минут, 30 минут и так далее. Вот как это описано в справке: Перечисление периодов графика
На самом деле, даже если на графике нет ни одного индикатора, мы уже имеем перед собой как минимум один индикатор, так как даже представление цен в окне графика возможно в МТ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.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. | |||||||||||||||||||||||||||||||
Просмотров: 1218 | Рейтинг: 0.0/0 |
Всего комментариев: 0 | |