Индикатор VP (Volume Profile)

SilkFx

Местный
Сообщения
190
Реакции
82
Распределение сделок по ценовым уровням на заданном временном участке. Показывается в виде гистограммы. Ширина гистограммы на данном уровне означает, условно, количество сделок, проведенных на ней. Если брокер предоставляет данные по реальному объёму, индикатор может показывать распределение и по нему (только в MT5).

mpvl_daily_rm2.png

Основные возможности:
  • показ распределений с шагом, равным стандартным периодам
  • показ распределений за любой выделенный период, различные методы установки границ расчета
  • настройка отображаемой информации (гистограмма, моды, максимум...)
  • возможность установить несколько индикаторов на один график
В режиме Period Mode индикатор делит график на равные по времени диапазоны и для каждого показывает распределение. Диапазоны могут быть равными только стандартным значениям таймфреймов не ниже текущего. Например, для H1 диапазон может быть указан как H1, H4, D1, W1, MN1. В MT5 доступно больше таймфреймов, чем в MT4.

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

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

Метод расчета​

Метод расчёта представляет из себя сложение количества сделок, проведённых по определённой цене. Либо сложение объёмов на этой цене, если тип объёма в параметрах указан как реальный.

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

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

Максимумы распределений (моды) обычно используются как уровни поддержки и сопротивления. При определении хорошего уровня поиск максимальной моды особого смысла не имеет, так как имеется "проблема затенения", когда следующее скопление цен сильно влияет на предыдущее, иногда полностью скрывая его, и наоборот. Необходимо внимательно изучать график и уточнять уровни, построив распределения на интересных участках с помощью VP в режиме Range Mode. Распределения по большему временному диапазону, возможно, имеют больший вес.

В VP v6.0 появилась возможность указать тайм фрейм источника данных. В MetaTrader 5 также стало возможным использовать тики, предоставляемые брокером. См. параметр Data Source.

Установка​

Откройте настройки терминала (меню Сервис/Настройки). На странице Графики укажите максимум баров в окне в зависимости от того, как будете использовать индикатор. Каждый день - это 1440 минут (не более 1440 минутных баров). Например, если указать "Макс. баров в окне" равным 250000, то это даст возможность индикатору получить данные за 250000/1440=173 рабочих дня, если для них будут доступны данные таймфрейма M1. Стандартные после установки 65000 дают 45 рабочих дней, это около двух месяцев.
Настройка количества баров.

mpvl_options1.png

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

Установка индикатора:
  • закрыть терминал
  • скачать проект с индикаторами, распаковать его, либо сделать клон с помощью Git
  • папку с индикатором скопировать в папку индикаторов вашего терминала (папка VP-include должна быть в той же папке, что и основной файл, как в хранилище), рабочую папку можно увидеть в журнале при запуске терминала
  • запустить терминал.

Параметры​


SERVICE

Служебные

LEVEL LINES (range mode only)

Линии уровней (только для Range Mode)

LEVELS

Уровни

HISTOGRAM

Гистограмма

CALCULATION

Параметры вычислений

TICK (MT5)

Параметры тиков. Только в MT5.

DATA

Параметры источника данных

RANGE MODE

Параметры для Range Mode

PERIOD MODE

Параметры для Period Mode
ПараметрВ кодеОписание
ModeModeРежим работы: с разбивкой по периодам (Period Mode) и режим одного диапазона (Range Mode).
Range PeriodRangePeriodПериод, только стандартные значения от M1 до MN1.
Range CountRangeCountКоличество диапазонов.
Time Zone ShiftTimeShiftСдвиг часового пояса от -12 до +12 часов с шагом 1 час.
Draw DirectionDrawDirectionНаправление рисования гистограммы - слева направо или справа налево.
Zoom TypeZoomTypeТип масштаба:
  1. Custom Zoom...: пользовательский, один на все гистограммы
  2. Automatic Zoom (global): автоматический, один на все
  3. Automatic Zoom (local): автоматический, раздельно для каждой гистограммы
Custom ZoomZoomCustomЗначение пользовательского масштаба.
Range ModeRangeModeСпособ указания границ диапазона:
  1. Between lines: между двумя линиями
  2. Last minutes: последние RangeMinutes минут
  3. Minitues to line: RangeMinutes до правой линии
Range MinutesRangeMinutesКоличество минут для RangeMode 1 и 2.
Histogram PositionHgPositionРасположение гистограммы:
  • Window left: левый край окна
  • Window right: правый край окна
  • Left outside: от левой границы диапазона влево
  • Right outside: от правой границы диапазона вправо
  • Left inside: от левой границы диапазона вправо
  • Right inside: от правой границы диапазона влево
Data SourceDataSourceИсточник данных:
  • Ticks (только в MT5): тики с сервера вашего брокера (если есть)
  • M1..M30: интерполированные тики на основе баров указанного таймфрейма
Volume Type (MT5)VolumeTypeТип объема, тиковый или реальный. Реальный объем у брокера может быть недоступен, в этом случае индикатор ничего не покажет. Только в MT5.
Price TypeTickPriceTypeТип цены:
  • Bid Price
  • Ask Price
  • Last Price
Bid Price ChangedTickBidТик изменил цену бид
Ask Price ChangedTickAskТик изменил цену аск
Last Price ChangedTickLastТик изменил цену последней сделки
Volume ChangedTickVolumeТик изменил объем
Buy DealTickBuyТик возник в результате сделки на покупку
Sell DealTickSellТик возник в результате сделки на продажу
Mode Step (points)ModeStepМинимальный шаг между модами, подбирается субъективно для каждого инструмента.
Point ScaleHgPointScaleМасштаб пункта при рисовании гистограммы. Большее значение означает более быструю работу, но более грубое отображение.
Smooth Depth (0 => disable)SmoothСглаживание. 0 для отключения.
Bar StyleHgBarStyleСтиль баров гистограммы:
  • Lines: линии
  • Empty bar: пустые прямоугольники
  • Filled bar: заполненные прямоугольники
  • Outline: контур
  • Color: цвет
ColoringHgColoringСпособ раскраски гистограммы:
  • No histogram: не показывать гистограмму
  • 1st color only: только первый цвет
  • 2nd color only: только второй цвет
  • Split by mean: разделить по среднему (цвета 1 и 2)
  • Split by Q1 (25%): разделить по первому квартилю (цвета 1 и 2)
  • Split by Q2 (50%, median): разделить по второму квартилю - медиане (цвета 1 и 2)
  • Split by Q3 (75%): разделить по третьему квартилю (цвета 1 и 2)
  • Quartile gradient: квартильный градиент (4 цвета от 1 до 2)
  • Gradient (10 levels): 10-уровневый градиент (10 цветов от 1 до 2)
  • Gradient (50 levels): 50-уровневый градиент (50 цветов от 1 до 2)
Color 1HgColorЦвет гистограммы 1. Укажите None, чтобы использовать цвет фона графика.
Color 2HgColor2Цвет гистограммы 2. Укажите None, чтобы использовать цвет фона графика.
Line WidthHgLineWidthТолщина линии при рисовании гистограммы.
Histogram Width (% of normal)HgWidthPctШирина гистограммы (% от нормальной). При отображении внутри диапазона нормальная ширина равна 100%, в остальных случаях - 15%.
Mode ColorModeColorЦвет локальных максимумов (мод распределения). Укажите None, чтобы отключить.
Maximum ColorMaxColorЦвет максимума. Укажите None, чтобы отключить.
Mode Line WidthModeLineWidthТолщина линий мод.
VWAP ColorVwapColorЦвет VWAP (средневзвешенной по объёму цены). Укажите None, чтобы отключить.
QuantilesQuantilesКвантили:
  • No quantiles or median: без квантилей и медианы
  • Median: медиана (Q2)
  • Quartiles: квартили (Q1, Q2, Q3)
  • Deciles: децили
  • 70%: 15% - 50%(Median) - 85%: 70% диапазон между крайними квантилями
  • 95%: 2.5% - 50%(Median) - 97.5%: 95% диапазон между крайними квантилями
  • 99%: 0.5% - 50%(Median) - 99.5%: 99% диапазон между крайними квантилями
Quantile ColorQuantileColorЦвет линий квантилей
Quantile & VWAP Line WidthStatLineWidthТолщина линий квантилей и VWAP.
Quantile & VWAP Line StyleStatLineStyleСтиль линий квантилей и VWAP.
Mode Level Line Color (None=disable)ModeLevelColorЦвет уровней, проведенных по модам. Укажите None, чтобы отключить.
Mode Level Line WidthModeLevelWidthТолщина линий.
Mode Level Line StyleModeLevelStyleСтиль линий уровней мод.
Show Data HorizonShowHorizonПоказывать горизонт данных.
IdentifierIdИдентификатор индикатора, используйте разные значения для нескольких копий индикатора на одном графике.

Загрузка​

Исходный код скрипта находится в хранилище: https://gitlab.com/fxcoder-mql/vp.

Старую версию можно найти здесь: https://gitlab.com/fxcoder/mt-script-archive.

FXcoder.ru
 
- 12 лет на рынке Forex.
- Спреды от 0,3 п.! Депозит от 1$ !
- Программа "Кешбек" 90 дней
Forex для начинающих. Приветственный бонус 30$
Возврат части спреда с Вашего брокера
Сверху