Основные возможности:
- показ распределений с шагом, равным стандартным периодам
- показ распределений за любой выделенный период, различные методы установки границ расчета
- настройка отображаемой информации (гистограмма, моды, максимум...)
- возможность установить несколько индикаторов на один график
В периодическом режиме (Periodic Mode) индикатор делит график на равные по времени диапазоны и для каждого показывает распределение. Диапазоны могут быть равными только стандартным значениям таймфреймов не ниже текущего. Например, для H1 диапазон может быть указан как H1, H2, H4 и т.д.
В режиме диапазона (Range Mode) индикатор работает только с одним диапазоном, границы которого можно указать одним из нескольких способов:
- произвольно с помощью вертикальных линий
- использовать количество последних минут графика
- установить правую границу и количество минут или баров до нее
Бары старших таймфреймов могут содержать меньшее количество баров младшего, чем можно было бы ожидать по расчетам. Это происходит из-за естественных дыр в истории котировок, образованных из-за низкой ликвидности, а также из-за перерывов в работе. Поэтому, если указать индикатору показывать неделю до какого-либо бара, то время левой границы может не совпасть со временем правой. У разных брокеров данные могут немного отличаться, но, несмотря на это, за счёт использования в расчётах большого количества данных результат получается схожим.
Метод расчёта
Метод расчёта представляет из себя сложение количества сделок, проведённых по определённой цене. Либо сложение объёмов на этой цене, если тип объёма в параметрах указан как реальный.
Если не указан тиковый источник данных, то сделки интерполируются на основе наиболее точных доступных в терминале данных - баров таймфрейма М1. Каждый бар разбивается на несколько сделок, исходя из вероятного движения цены внутри бара.
Максимумы распределений (моды) обычно используются как уровни поддержки и сопротивления. При определении хорошего уровня поиск максимальной моды особого смысла не имеет, так как имеется "проблема затенения", когда следующее скопление цен сильно влияет на предыдущее, иногда полностью скрывая его, и наоборот. Необходимо внимательно изучать график и уточнять уровни, построив распределения на интересных участках с помощью VP в режиме диапазона. Распределения по большему временному диапазону, возможно, имеют больший вес.
Настройка MT
Откройте настройки MT (меню Сервис/Настройки). На странице Графики укажите максимум баров в окне в зависимости от того, как будете использовать индикатор. Каждый день - это 1440 минут (не более 1440 минутных баров). Например, если указать "Макс. баров в окне" равным 250000, то это даст возможность индикатору получить данные за 250000/1440=173 рабочих дня, если для них будут доступны данные таймфрейма M1. Стандартные после установки 65000 дают 45 рабочих дней, это около двух месяцев. Если в качестве источника данных указаны тики (только в MT5), то эта настройка может не понадобиться.После изменения параметров необходимо перезапустить терминал. При большом значении максимума баров в окне терминал может заметно тормозить и требовать большого объема памяти даже без индикаторов. Учтите, что брокер может не предоставлять глубокой истории по графикам и тикам.
Проект
Исходный код скрипта и описание параметров находятся в хранилище: https://gitlab.com/fxcoder-mql/vp-mt5.Часто задаваемые вопросы
Как скачать с GitLab
См. здесь: https://fxcoder.blogspot.com/p/gitlab-download.html.Индикатор ничего не рисует, либо рисует только часть. Видна красная пунктирная вертикальная линия на границе отображения.
Для работы индикатора нужны данные с таймфрейма, указанного в Data Source, по умолчанию это M1. Для отображения одного дня необходимо 1440 баров минутного таймфрейма. Если необходимо видеть много гистограмм, либо одну за большой период, необходимо:- Настроить терминал так, чтобы показывалось как минимум необходимое число баров для расчётов.
- Загрузить необходимое число баров (например, открыть график М1 и давить клавишу Home).
Зоны стоимости (Value Zone, Value Area)
Хотя смысл в подобных выделениях наверняка есть (за счёт использования их многими последователями торговли по горизонтальным уровням объёмов), стандартная методика их расчёта сомнительна. Если есть какие-то более точные и обоснованные методы расчёта, готов рассмотреть и реализовать. Но я сомневаюсь, что такие существуют просто из-за природы исходных данных.Нечто похожее в некоторых случаях (например, для гистограмм, близких к нормальному распределению) даст применение параметра Quantiles со значениями Quartiles или 70%. Но отображаться будут только линии границ и центра (медианы).
Аналоги для других платформ
Тема достаточно популярная, чтобы подобные индикаторы были почти везде. Ищите поисковиком по фразам типа "Market Profile", "Volume Profile", "Time Price Opportunity", добавив название вашей платформы. Встречается также понятие "горизонтальные объёмы", "horizontal volume indicator".Личный опыт
В ручной работе какая-нибудь SMA с красивым периодом (100, 200,..) бывает куда интереснее, а если их встречается две и более, то использование VP вообще теряет смысл :-)
Кроме того, после даже небольшого опыта необходимость в визуализации отпадает, скопления и их примерный вид в распределении видны и без этого индикатора. Эта тема для меня лично была хороша как обучающая. На её основе стали понятны некоторые тонкости движения цены, были отброшены неверные идеи.
Как с этим работать, где входить и выходить
Здесь только инструмент, методы работы лучше поискать где-то ещё. Ищите по фразам типа "профиль объёма", "горизонтальные объёмы", "market profile", "volume profile" и т.п. Уверен, информации сейчас уже очень много, что-нибудь обязательно найдёте.См. также
- Скрипт FindVL (Find Volume Levels)
- Большое обновление индикатора TPO до версии 4.0 с переименованием его в VP (Volume Profile)
- Использование индикатора VP в своём коде
- VP 6.0. Тики в MT5
- Багтрегер / обсуждения по этому индикатору на GitLab (туда же отправляются сообщения об ошибках и предложения из комментариев)