тел.: 8 800 200 86 47|+7 (812) 336 61 11Заказать звонок
Admiral Markets UK Admiral Markets UK Choose your country

MQLabs: Область оживленных торгов

Индикатор ValueArea

 

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

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

Указанным критериям правил построения канала как нельзя более точно соответствует методика, получившая распространение под названием Value Area High/Low (область значений максимумов/минимумов). К сожалению, индикаторов для терминала МТ4, основанных на упомянутой методике, автору статьи найти не удалось. С другой стороны, весь математический аппарат, необходимый для создания индикатора, был обнаружен в свободном доступе, что дает возможность реализации метода в виде индикатора для МТ4.

 

Как рассчитывается Value Area?

Нужная нам область оживленных торгов основывается на определенном ценовом уровне, относительно которого вверх и вниз по графику откладываются границы канала. Ценовой уровень рассчитывается для строго определенной временной единицы рынка. На бирже такой временной единицей является торговая сессия - время от открытия до закрытия рынка. Но в случае с Форексом торговой сессией является целая рабочая неделя. Очевидно, что это слишком большой временной отрезок для анализа, т. к. на нем мы получим чересчур усредненные данные. Поэтому можно использовать несколько модифицированные временные отрезки. Одним из таких отрезков могут быть стандартные земные сутки. Для более динамичного анализа можно использовать то, что называют торговыми сессиями Форекса. Это временные отрезки, которые привязаны к времени работы трех наибольших бирж мира: Токийской, Лондонской и Нью-Йоркской. Правда реальной остановки торгов между торговыми сессиями на рынке Форекс не наблюдается. К тому же, учет времени сессий разными трейдерами ведется по-разному, т. к. далеко не всегда используется точное время работы указанных бирж, а некое условное деление суток на азиатскую, европейскую и американскую сессии.

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

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

   (1),

где Closei - цены закрытия свечей, составляющих торговую сессию или сутки,

      Volumei - тиковый объем каждой из свечей,

      Volume - средний тиковый объем всех свечей сессии или суток (имеется в виду простое среднее - сумма Volumei, деленная на n),

      n - количество свечей, составляющих сессию или сутки.

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

Рис. 1. Основной уровень области оживленных торгов.

Для дня 02 января 2014 года (если брать данные от начала дня до 13:45) основной уровень оказался на цене 1.3740. В расчетах участвовало 712 минутных свечей.

Стандартное отклонение цены от найденного уровня рассчитывается по формуле (2):

   (2).

Полученная величина добавляется к найденному по формуле (1) значению, образуя верхнюю границу канала области оживленных торгов. Вычитание значения StdDev из цены Level позволяет получить нижнюю границу канала (см. рис. 2).

Рис. 2. Канал области оживленных торгов.

Красной горизонтальной линией показана нижняя граница области, а синей - верхняя.

Найденный канал является полной областью оживленных торгов. При продвижении от середины канала к его периферии оживленность угасает. По этой причине наиболее часто канал сжимают так, чтобы получить область "еще более оживленных торгов". Сжатие организуется за счет уменьшения величины стандартного отклонения, для чего ее умножают на одно из двух значений: 0.68 (68%) или 0.95 (95%). По умолчанию будем использовать значение 68% (см. рис. 3).

Рис. 3. Итоговая область оживленных торгов.

Рис. 3 является наглядным доказательством того, что субъективный подход человека к измерениям, чаще всего, является самообманом. Границы построенного канала никак не согласуются с обычным подходом к делу нахождения границ флэта. А ведь именно в найденной области происходили наиболее оживленные торги на исследуемый момент дня. Причем область флэта была покинута - нас ждет переход к новой области флэта.

 

Торговые сессии индикатора Value Area

Автоматическое нахождение областей оживленных торгов производится при помощи индикатора Value Area. Он позволяет обнаруживать эти области для различных по продолжительности интервалов (торговые сессии или сутки), отображать текущие или предыдущие области, а также использовать всевозможные величины частей от полной высоты канала.

Перечисленные возможности сосредоточены в первых девяти настроечных параметрах индикатора. Так, управление продолжительностью областей оживленных торгов осуществляется при помощи шести параметров, указывающих время начала и окончания трех основных сессий: i_asianStartHour, i_asianEndHour, i_europeanStartHour, i_europeanEndHour, i_americanStartHour и i_americanEndHour. Все параметры указывают время в часах и могут принимать значения в интервале от 0 до 24 включительно. Последовательность сессий является жестко зафиксированной: азиатская - европейская - американская. Поэтому любое несоответствие во времени между ними будет воспринято индикатором как ошибочная настройка.

Наличие трех сессий позволяет настроить индикатор для отображения трех вариантов временных интервалов. Максимальный по продолжительности из них - сутки. Средняя продолжительность - деление суток на две части (не обязательно пополам). И минимальная продолжительность - деление суток на три части (тоже могут быть неравными частями).

Сутки как одна сессия. Для этого режима необходимо присвоить нулевые значения параметрам i_europeanStartHour, i_europeanEndHour, i_americanStartHour и i_americanEndHour. Указание начала и окончания суток производится в параметрах i_asianStartHour и i_asianEndHour. Их значения должны быть равны между собой. Причем время вовсе не обязательно должно указывать на реальное начало и окончание суток. Это может быть любой другой час внутри суток. Например, для суток от 15:00 одного дня до 15:00 следующего дня канал будет выглядеть следующим образом (см. рис. 4).

Рис. 4. Суточная область оживленных торгов.

Сутки как две сессии. Основные данные в этом режиме указываются первыми четырьмя параметрами: i_asianStartHour, i_asianEndHour, i_europeanStartHour, i_europeanEndHour. Между начальным часом азиатской сессии и часом окончания европейской сессии необходимо расположить не более чем 24 часа, т. к. индикатор адекватно воспринимает нахождение начального и конечного времен в разных сутках. В противном случае параметры будут признаны ошибочными, а индикатор так и не приступит к работе.

К примеру, время начала азиатской сессии можно указать равным 16 часам, а окончание - 2 часам. Тогда время начала европейской сессии должно быть равно 2 и более часа, а время окончания - не более 16 часов. При делении суток на две сессии время начала и окончания американской сессии должно быть равным времени окончания европейской сессии. На рис. 5 показан пример внешнего вида индикатора ValueArea при следующих часах работы сессий: i_asianStartHour = 16, i_asianEndHour = 2, i_europeanStartHour = 2, i_europeanEndHour = 16, i_americanStartHour = 16 и i_americanEndHour = 16.

Рис. 5. Деление суток на две сессии.

Одним из частных случаев работы этого режима является указание значений времени начала и окончания азиатской сессии, которые не равны друг другу, а в четырех последующих параметрах - одинаковых значений, которые равны времени окончания работы азиатской сессии. Это приведет к отображению канала лишь для одной сессии в сутки, после окончания которой будет следовать перерыв. К примеру, набор параметров может быть следующим: i_asianStartHour = 7, i_asianEndHour = 22, i_europeanStartHour = 22, i_europeanEndHour = 22, i_americanStartHour = 22 и i_americanEndHour = 22. Результат показан на рис. 6.

Рис. 6. Деление суток на одну сессию с перерывом.

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

Сутки как три сессии. Наиболее доступный пониманию трейдера режим. В этом режиме значения всех шести параметров могут отличаться друг от друга. Требования к ним простые: между временем начала и окончания всех сессий не должно проходить более 24-х часов и сессии должны быть указаны в правильной последовательности. Также допускается наличие перерывов между сессиями. К примеру, возьмем такие значения параметров: i_asianStartHour = 23, i_asianEndHour = 7, i_europeanStartHour = 8, i_europeanEndHour = 15, i_americanStartHour = 16 и i_americanEndHour = 22. Результат показан на рис. 7.

Рис. 7. Деление суток на три сессии.

 

Другие параметры индикатора ValueArea

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

Рис. 8. Смещение отображения канала на одну сессию вправо.

Приведение индикатора к такому виду производится при помощи параметра i_showPreviousChannel, которому присваивается значение true. Значение параметра, равное false, приводит к отображению канала на месте его формирования, и, как следствие, к постоянному изменению его границ до момента окончания текущей торговой сессии.

Кардинально изменяет внешний вид индикатора параметр i_priceRangeBased. Его значение, равное true, приводит к исключению из расчета данных по объему. В итоге базовый уровень индикатора рассчитывается как средняя цена между максимумом и минимумом торговой сессии, а величина стандартного отклонения - это половина расстояния между максимумом и минимумом. Вид индикатора при этом приведен на следующем рисунке (см. рис. 9).

Рис. 9. Расчет данных только на основании цены.

Для изменения высоты канала трейдер может использовать параметр i_standartDeviations. Значение параметра указывается в процентах от полной высоты области оживленной торговли. Несмотря на то, что рекомендуемыми значениями являются 68% и 95%, принципиального запрета на использование других величин не существует. Поэтому можно указывать значения не только из интервала от 0 до 100%, но и большие числа (см. рис. 10).

Рис. 10. Канал при значении стандартного отклонения 50%.

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

Рис. 11. Прерывистое отображение канала.

Это связано с тем, что терминал МТ4 хранит историю котировок для каждого таймфрейма отдельно, в связи с чем данные не всегда являются синхронизированными. Так, на минутном таймфрейме может быть "дыра" в истории, в то время как для часового периода графика этот интервал будет заполнен. В итоге барам часового таймфрейма индикатор не сможет найти соответствующую детализацию.

Чтобы избежать подобных казусов при отображении индикатора пользователю придется позаботиться о синхронизации истории самостоятельно. Это делается путем создания истории всех старших таймфреймов, начиная с пятиминутного, на основании истории минутного периода графика. О том, как это делается, подробно описано в статье "Тестирование стратегий в Meta Trader 4".

Игорь Герасько

Январь 2014

Специально для компании Admiral Markets

2.833335
 
 
X
Loading