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

Автор: lexy Вторник, Сентябрь 9th, 2014 Нет комментариев

Рубрика: Разное

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

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

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

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

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

 

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

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

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

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

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

  • скачать тиковую историю по необходимому инструменту с одного из бесплатных источников (например, gaincapital.com или fin-rus.com);
  • привести ее в понятный для эксперта формат — «ГГГГ.ММ.ДД ЧЧ:ММ:СС;Бид» (вручную или специальной программой-конвертером (возможно, я ее напишу чуть позже));
  • сохранить файл(-ы) с тиками в необходимую директорию — «путь_к_терминалу\experts\files\[Ticks]\Имя сервера\»;
  • и переименовать их в соответствии с шаблоном — «Символ_Год. Месяц. csv».

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

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

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

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

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

  • Скачайте эксперта EqualVolumeBars в директорию «MetaTrader 4\experts», откройте и скомпилируйте (F5).
  • Откройте график того финансового инструмента, по которому хотите построить эквиобъемный график (и по которому есть тики). Период графика значения не имеет.
  • Запустите эксперта на открытом графике, указав необходимые значения внешним переменным:
  • TicksInBar - количество тиков в баре;
  • StartYear и StartMonth - год и месяц, с которых начинается ваша тиковая история (используется при поиске файлов);
  • Дождитесь появления сообщений в журнале (на закладке «Эксперты»):
2008.01.11 02:22:13 EqualVolumeBars EURUSD,M5: < — - — Обработано тиков: xxxxx, построено полных баров: xxxxx — - — >
2008.01.11 02:22:13 EqualVolumeBars EURUSD,M5: < — - — Для просмотра результатов откройте график «!EqvEURUSDn» — - — >
  • Наконец, откройте указанный в сообщении файл (вместо последней n будет значение TicksInBar) с помощью команды «Открыть автономно» меню «Файл».

Результат

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

Для демонстрации результата я скачал тиковую историю с 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.

 

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

Прикрепленные файлы:
 Ticks_GainCapital_EURUSD_2007.11.zip (705.3 Kb)
 Ticks_GainCapital_EURUSD_2007.12.zip (449.6 Kb)
Источник: mql4.com

Оставить комментарий

Чтобы оставлять комментарии Вы должны быть авторизованы.

Похожие посты