Новый взгляд на эквиобъемные графики

Andrey Khatimlianskii | 15 января, 2008

Введение

Идея учитывать объемы при построении графика цены, насколько мне известно, была высказана еще в 1971 году Ричардом Армсом младшим (Richard W., Jr. Arms) в книге "Profits in Volume, Equivolume Charting". Бары на графиках, построенных по его методу, имели различную ширину - чем больше объем, тем шире бар.

рис.1 Пример эквиобъемного графика

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

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

Цель данной статьи - добавить в арсенал терминала MetaTrader 4 еще один инструмент - эквиобъемные графики. Сразу оговорюсь, что реализованная эквиобъемность отличается от описанной Ричардом Армсом - у нас она будет заключаться в уравновешивании баров путем составления их из одинакового количества тиков. Таким образом, бар будет измеряться не временем (количеством минут), а количеством изменений цены.


Этап первый - сбор тиков

Для начала нам необходимо собрать тиковую историю - именно из нее мы будем строить наши графики. Было бы непрактичным и недальновидным делать "исключительно онлайновый" график - таким образом была бы потеряна возможность анализировать историю. Поэтому первым этапом реализации эквиобъемных графиков я вижу именно сбор тиков.

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

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

Итак, чтоб построить эквиобъемный график, не имея тиков, необходимо:

Можно поместить тики за несколько месяцев (лет) в один файл, например, "EURUSD_2008.01.csv". Пусть вас не смущает что дата, указанная в имени файла, не соответствует содержимому - имя необходимо только для того, чтоб "построитель графиков" нашел этот файл.

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



Этап второй - построение графика

Теперь, когда у нас есть "строительный материал", можем приступать к "строительству" графиков.

Это не намного сложнее, чем наладка сборки тиков:

2008.01.11 02:22:13 EqualVolumeBars EURUSD,M5: < - - - Обработано тиков: xxxxx, построено полных баров: xxxxx - - - >
2008.01.11 02:22:13 EqualVolumeBars EURUSD,M5: < - - - Для просмотра результатов откройте график "!EqvEURUSDn" - - - >


Результат

Результатом работы советника является постоянно обновляемый нестандартный файл истории. После открытия графика эксперт обновляет и его, то есть с ним можно работать как с обычным графиком (за некоторыми исключениями) - новые котировки отображаются автоматически.

Для демонстрации результата я скачал тиковую историю с gaincapital.com (собранной собственноручно у меня, к сожалению, нет). Форматирование и объединение в файлы заняло не больше 20 минут. Вы может скачать готовые для использования архивы тиков - ссылки в конце статьи. Останется только сохранить их в необходимые директории.

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

Результат вы можете наблюдать на графиках приведенных ниже либо, произведя некоторые манипуляции, в своем терминале.


рис.2 Эквиобъемный график. В одном баре - 5 тиков.



рис.3 Эквиобъемный график. В одном баре - 10 тиков.



рис.4 Эквиобъемный график. В одном баре - 25 тиков.



рис.5 Эквиобъемный график. В одном баре - 50 тиков.




рис.6 Эквиобъемный график. В одном баре - 100 тиков.



рис.7 Эквиобъемный график. В одном баре - 250 тиков.



рис.8 Эквиобъемный график. В одном баре - 500 тиков.



рис.9 Эквиобъемный график. В одном баре - 1000 тиков.


Как вы уже, наверное, догадались, установив переменной TicksInBar значение 1, можно получить тиковый график - в одном баре будет всего один тик:


рис.10 Эквиобъемный график. В одном баре - 1 тик.

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



Особенности эксперта EqualVolumeBars

Работая с файлами истории, я неоднократно натыкался на некоторые "особенности", не позволяющие получить желаемый результат прямым путем. К сожалению, формат файлов hst не достаточно документирован, а алгоритмы проверки файлов истории терминалом и вовсе не озвучены. Приходилось осваивать эту тему "методом тыка" - одним из самых популярных в нашей стране.

В процессе разработки и тестирования советника EqualVolumeBars был обнаружен один из критериев проверки файлов истории. Заключается он в том, что на графике не может быть двух баров с одинаковым временем. При работе с тиками (особенно при малых значениях переменной TicksInBar) нередко получалось несколько баров с одинаковым временем. Проблема была решена просто - время, записываемое в создаваемый файл (и, соответственно, отображаемое на графике) моделировалось. Поскольку правдивость отображаемого времени свелась к 0, я сделал его вообще условным - на всех сгенерированных графиках отсчет начинается с 00:00 01.01.1970, а каждый новый бар представляет следующую минуту. Выходные и праздники при этом не учитываются.

Таким образом, время на созданных экспертом эквиобъемных графиках не представляет ни какой ценности. Анализировать его бесполезно.


Еще одна особенность, которую необходимо озвучить - пропуск тиков.

Эксперт после чтения тиковой истории из файлов продолжает работать в обычном режиме - запускается при поступлении котировки и добавляет ее на эквиобъемный график. Терминал MetaTrader 4 устроен так, что если эксперт не успел завершить обработку предыдущего тика, новый тик он пропустит. Таким образом, на эквиобъемном графике (особенно с маленьким "периодом") может возникнуть искажение в виде пропущенной цены.

Я, например, наблюдая за двухтиковым (TicksInBar=2) графиком, увидел додж - бар, у которого все цены равны (O=H=L=C). На двухтиковом графике такого бара не может быть по определению, условие формирования бара - одно изменение цены. Я предполагаю, что эксперт просто пропустил тик между этими двумя одинаковыми ценами, и получился бар из одной цены, но с объемом = 2.

В принципе, такие ситуации достаточно редки, да и искажения будут заметны только на самых маленьких "периодах". Но проблема есть, и я хочу чтоб вы о ней знали.



И последнее, о чем я хотел сказать - достаточно очевидная вещь - при изменении точки отсчета меняется вся последующая эквиобъемная история.

Например, вы анализировали график, начинающийся с декабря 2007 года. Потом захотелось взглянуть глубже - вы скачали тиковую историю за ноябрь и пересчитали весь график. Количество тиков в ноябре абсолютно не обязательно будет кратно выбранному вами "периоду". Соответственно, изменится и отображение декабрьского графика.

В принципе, это тоже сложно назвать проблемой - скорее, особенность. Просто не забывайте о ней.



Заключение

В статье был рассмотрен процесс создания эквиобъемных графиков - графиков, у которых все бары состоят из одинакового количества тиков.

Были приведены примеры работы с готовой тиковой историей и описан процесс настройки обновляемых графиков.

В завершении статьи были озвучены особенности, которые необходимо учитывать при работе с экспертом EqualVolumeBars.


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