English 中文 Español Deutsch 日本語 Português
Синтетические бары – новое слово в отображении ценовой графической информации

Синтетические бары – новое слово в отображении ценовой графической информации

MetaTrader 4Торговые системы | 7 сентября 2011, 14:59
10 977 58
Rustem Bigeev
Rustem Bigeev


Введение

Подавляющее большинство активно торгующих трейдеров используют для целей технического анализа традиционные баровые или свечные графики. Как известно, они различаются между собой временным масштабом, по которому они собственно и строятся. Иными словами, один традиционный временной бар или свеча отражает диапазон колебаний цены в период определенного временного промежутка. Общими для них является четыре базовые цены: open, high, low, close.

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


Синтетические бары

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

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


Рис. 1. Пример пересечения скользящих средних на графике временных баров

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

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

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

Исходя из этого, была поставлена задача разработки такого вида отображения ценовой информации, который сочетал бы в себе достоинства графиков с фиксированной высотой бокса (ренко, каги или ХО) и традиционного барового графика. Он получил название синтетический бар (synthetic bar).

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

Другими словами, данный вид отображения не имеет никакой временной привязки, а значит, временная шкала на синтетическом графике не играет никакой роли. Ко всему прочему, полученные синтетические бары по внешнему виду совершенно не отличаются от традиционных временных баров, и их можно использовать совместно с любыми индикаторами программы MetaTrader 4.

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



Рис. 2. Пример пересечения скользящих средних на графике синтетических баров


Каким образом производится построение синтетических баров? Для начала задается основной и единственный параметр - это высота бара в пунктах. Далее специально разработанный индикатор начинает запоминать и анализировать все приходящие тики.


Алгоритм построения синтетических баров

Рассмотрим процесс построения синтетических баров. Например, начинаем с первого бара. Первый тик записываем как цена открытия OPEN. Следующий тик будет цена HIGH или LOW, в зависимости от того, больше или меньше пришедшая цена уровня OPEN.

Далее происходит обновление цен HIGH или LOW при условии, что они перебивают максимальные или минимальные значения предыдущих HIGH или LOW. При этом если очередная цена делает разность между HIGH и LOW больше заданного параметра высоты бара, то бар закрывается и начинает формироваться новый бар. Характерной особенностью такого бара будет то, что цена CLOSE у него всегда будет равна либо HIGH, либо LOW.

Данный индикатор разрабатывался на базе скрипта Period Converter, входящего в стандартную поставку терминала MetaTrader 4. Код индикатора приводится во вложенном файле.


Использование индикатора

Использование данного индикатора несколько сложнее, чем работа с обычными индикаторами. Для начала вам нужно поместить индикатор в папку, где вы размещаете свои пользовательские индикаторы. Затем нужно открыть минутный график выбранной вами валютной пары и прикрепить к нему наш индикатор "synbar.mq4".



Рис. 3. Подготовка данных

После того как индикатор обработает историю минутных баров, он сформирует новый график, который будет иметь временную размерность М9. Открыть его можно через меню "Файл – Открыть автономно" главного меню, затем выбрать "Символ инструмента", М9 – "Открыть".


Рис. 4. Открытие графика с синтетическими барами

Далее с этим графиком вы можете работать как с обычным, с одним условием, что параллельно на рабочем столе будут открыты оба графика М1 и М9.


Рис. 5. График EURUSD, построенный на синтетических барах

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

Это ограничение удалось обойти, написав скрипт с функциями эксперта. Скрипты, как ни странно, на таком графике отрабатываются исправно. К сожалению, в тематику данной статьи не входит тема написания скриптов для графика М9, поэтому я ее касаться пока не буду.

Чтобы обеспечить корректную работу индикатора, нужно установить разрешение на использование DLL.


Рис. 6. Настройки советника


Параметров в индикаторе всего два. Первый, самый важный и основной, это высота бара.

  • Параметр ExtBarHeight определяется в пунктах (в пунктах, которые приняты на торговом сервере). Например, если пункт "четырехзначный", то пишете в параметр обычное целое число пунктов, которое вы хотите поставить. Если пункт "пятизначный", то целое число пунктов умножаете на 10.
  • Параметр SplitOnLine является вспомогательным и влияет только на то, как отображать график. Если вы хотите получить статический график, то данный параметр должен быть равен FALSE. Если вы хотите иметь график с динамичным формированием баров, то ставите TRUE.

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


Рис. 7. График котировок EURUSD, дневные бары



Рис. 8. График котировок EURUSD, синтетические бары


Заключение

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

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

Из недостатков можно выделить следующий: если рынок "взрывается" гэпом, величина которого намного превышает параметр высоты синтетического бара, то возможна отрисовка графика постфактум. Это означает, что:

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

Прикрепленные файлы |
synbar.mq4 (5.76 KB)
Последние комментарии | Перейти к обсуждению на форуме трейдеров (58)
ussurdim
ussurdim | 11 янв. 2013 в 11:42
Alexandr2008:

Вечер добрый!

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

Приветствую! Я решил эту проблему просто. Загружаю терминал и после его соединения с сервером жду сек 5 и закрываю терминал. а потом сразу опять открываю терминал и вуаля вся история посчиталась и график без пропусков .
ussurdim
ussurdim | 19 февр. 2013 в 10:57
Людиииии!!!!! кто нибудь можете сделать чтоб на synbar.mq4 начали работать эксперты и советники. 
Vladimir Borisov
Vladimir Borisov | 10 сент. 2013 в 20:23
Использование синтетических баров в этом виде конечно же позволяет избежать жесткой привязки графика к времени, но что тоже довольно плохо, это вообще отсутствие этой привязки. Если уж использовать синтетику, то с привязкой к ТФ. То есть основная масса ценовых колебаний, баров, определенной величины должна отображаться по времени. Если меньше какого либо значения, "сжимаем время", несколько баров в один, если больше "растягиваем" в дополнительные бары. А так посмотрел, повертел, даже потестил - http://articles.mql4.com/ru/articles/1368, спасибо!
AlexD169
AlexD169 | 5 дек. 2015 в 01:51

Помогите пожалуйста!(

У меня не отображается график -

Пока индикатор работает, графика в списке А.Г. не видно, а когда отключаю индикатор - то график вдруг появляется. Если не закрывать его, и на обычный опять установить SynBar, то при обновлении м9 пишется "ОЖИДАНИЕ ОБНОВЛЕНИЯ". 

Также и с аналогичными системами для работы с автономными графиками, кроме стандартного PeriodConverter.  

Что мне делать?

[Удален] | 6 сент. 2019 в 19:53

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

45-тая строка

   ExtHandle=FileOpenHistory(c_symbol+i_period+".hst",FILE_BIN|FILE_READ|FILE_WRITE|FILE_SHARE_WRITE|FILE_SHARE_READ);

шару надо включить, это чудо записать в файл не может

Анализ статистических характеристик индикаторов Анализ статистических характеристик индикаторов
В техническом анализе широко используются индикаторы, которые преобразовывают исходные котировки в "более ясную" форму, по которой трейдер проводит анализ и дает прогноз движения цен на рынке. Очевидно, что без ответа на вопросы о допустимости преобразования исходных котировок, а также доверия к полученному результату, бессмысленно использовать индикаторы и, тем более, строить на их основе торговые системы. В данной статье показывается, что для такого вывода имеются серьезные основания.
Прогнозирование временных рядов при помощи экспоненциального сглаживания Прогнозирование временных рядов при помощи экспоненциального сглаживания
Статья знакомит читателя с моделями экспоненциального сглаживания, использующимися при краткосрочном прогнозировании временных рядов. Помимо этого затрагиваются вопросы, связанные с оптимизацией и оценкой результатов прогнозирования, приведены несколько примеров в виде скриптов и индикаторов. Статья будет полезной при первом знакомстве с принципами прогнозирования на базе моделей экспоненциального сглаживания.
Интервью с Матушем Германом (ATC 2011) Интервью с Матушем Германом (ATC 2011)
Уже на второй день Чемпионата советник Матуша Германа (gery18) увеличил свой капитал в два с половиной раза и занял лидирующую позицию, оставив позади всех конкурентов. Сам Матуш сомневается в итоговом успехе своего советника, а неожиданный взлет объясняет удачей и высокой степенью риска.
Николай Иванов  (Techno): "Для программы важна точность алгоритмов" Николай Иванов (Techno): "Для программы важна точность алгоритмов"
Программист из Красноярска Николай Иванов (Techno) - лидер среди разработчиков по количеству выполненных работ, на сегодняшний день их уже более 200. Мы решили поговорить с ним о сервисе "Работа", его особенностях и основных проблемах, с которыми сталкиваются программисты.