2 марта 2020 г.

VP 9.0. Квантили

После некоторых исследований в другой области, где очень активно пришлось применять эту базовую статистическую идею, решил добавить квантили и в этот индикатор, причём сразу в два разных места. По ходу исправил один баг (#19) и добавил пару полезностей.
Вместо отображения лишь одного квантиля - медианы теперь можно отобразить несколько разных наборов в виде таких же линий-уровней на гистограмме. Для полного разделения стилей мод от стилей квантилей и VWAP добавил новый параметр StatLineWidth. Это первый способ применения квантилей к VP.

Далее взялся за раскраску гистограммы градиентом. Раньше был только один градиент - плавный переход между указанными двумя цветами. Теперь можно использовать несколько разных способов раскраски гистограммы двумя цветами:
  • одним из цветов
  • двумя цветами с разделением по указанной величине (вот здесь пошли в ход квантили), это частично или полностью закрывает заявку #7
  • градиенты, в том числе грубый 10-цветный, который, однако, почти ничем не отличается от полного 50-цветного (больше цветов использовать смысла нет), а также децильный (снова квантили), который мало чем отличается от простого 10-цветного
  • вообще не рисовать ничего, этот режим раньше можно было выбрать указав обоим цветам значение None


На картинке чёрные линии - квартили, между соседними линиями и границами гистограммы находится по 25% от всех объёмов. Раскраска сделана разделением по квартилю Q3 (красным выделены объёмы больше 75% остальных).

Кроме квантилей добавил ещё пару вещей:
  1. Теперь всегда есть временной зазор в 500 мс между окончанием предыдущей работы и началом следующей (#18), что должно положительно сказаться на стабильности графика, т.к. теперь вероятность блокировки графика индикатором ещё ниже (основная работа была проведена в обновлении 8.0).
  2. Упростил работу режима Bar Style = Color. По умолчанию оба цвета гистограммы одинаковы, поэтому при переключении на стиль баров Color приходилось сразу менять и один из цветов, обычно первый на None (для использования цвета фона), теперь это делается автоматически - если Bar Style = Color, и оба цвета одинаковы, то первый считается указанным как None.
Обратите внимание, что я недавно разнёс все скрипты по разным проектам, и теперь VP находится здесь: https://gitlab.com/fxcoder-mql/vp.

24 комментария:

  1. There is the possibility that you put in the code volume profile v6 (VP-V6) the part that makes the last volume histogram finalized in the last candle. I have to see this part in the volume profile v8 and v9 (VP-V8 or VP-V9), but the code was very complexe. Thanks.

    ОтветитьУдалить
    Ответы
    1. What do you mean by "finalized in the last candle"? Describe in detail.

      Удалить
    2. Hello, I'm sharing an image of vp-v6 (blue) and vp-v8 (yellow) and the code of vp-v6 that I wanted to be modified. I would like the price histogram of vp-v6 (blue) to be the same as the price histogram of vp-v8 (yellow).

      https://www.dropbox.com/s/go4u7teh13tlk71/Screen%20Shot%202020-03-03%20at%204.59.28%20PM.png?dl=0

      https://www.dropbox.com/s/viurgf2vly1k6xy/VolumeProfile_v6.mq5?dl=0

      Удалить
    3. I hardly remember how this old code works :(

      Look at the same issue in v7 and the solution: https://gitlab.com/fxcoder/mt-script/issues/26

      Удалить
  2. Sorry for my ignorance. I made some modifications to the vp-v6 and use it as an indicator. I saw the code for vp-v7, vp-v8 and vp-v9 and had noticed that part of the code that made this correction, but I was unable to implement it in the vp-v6 code. That's why I'm asking you for help.

    Part of the vp-v6 code that I need to modify.

    https://www.dropbox.com/s/xsf0oq00edmj74c/Screen%20Shot%202020-03-04%20at%209.20.48%20AM.png?dl=0

    I didn't understand how the function get_period_mode_ranges works to be able to do this implementation. I've been trying to do this for two days, and I can't. Please help me.

    ОтветитьУдалить
  3. I love your work my friend. One of the best ( if not the best) mt5 and mt4 coder.
    I sincerely thank you for your work.

    ОтветитьУдалить
  4. Hello friend, would it be possible, please, to implement output buffers for the vwap and maximum data in the indicator? This version 9 was too excellent and with these buffers it would be perfect for me, I don't know how to program very well yet, but I can capture the buffers and test strategies. Thanks.

    ОтветитьУдалить
    Ответы
    1. Hello.

      I recommend calculating these levels in the code of the trading robot itself, it will be much faster. The VP indicator code can be difficult for a beginner, but you can take an example of calculations from a simpler FindVL script.

      https://www.fxcoder.ru/2019/11/findvl-script.html

      Удалить
  5. Hello, that's right, you're right! :-)
    I don't know much about MQL5 programming, I'm starting ... I tried to read the indicator code but it seemed very complex at my current level of understanding.
    What I learned was to call an indicator inside the EA and capture the Buffer, so I came up with the idea of asking you for that help.
    If you really can't help me including this buffer without any problems, I'm still a fan of your work, which is great !!!

    ОтветитьУдалить
    Ответы
    1. I recently updated an old article about using VP from code. This article describes an expert example that can be found here:

      https://gitlab.com/fxcoder-mql/vp/-/tree/master/Example/Experts/VPSimple

      The code is almost as simple as using iCustom, I hope there will be no problems with it.

      Удалить
    2. Friend, thank you very much and I will study this file that you made available. A lot of success for you!

      Удалить
  6. In addition, my profile strategies do not require a fast EA. If I lose speed in a few seconds you would still help me with this Buffer :-). Hug!!!

    ОтветитьУдалить
  7. Hi, your VP have value area calculation? how to enable this function?

    https://www.earnforex.com/metatrader-indicators/MarketProfile/

    example is here.

    ОтветитьУдалить
    Ответы
    1. Hi, VP does not have VA, and I do not plan to add it.

      Удалить
    2. what is the reason? is this technical issue or useless with this?

      because original TPO have value area.

      Удалить
    3. The reason is that I did not find a mathematically meaningful calculation algorithm.

      Удалить
  8. Thank you for this great indicator.

    Is it possible to display separately the Bid and Ask volumes or the difference between them.

    ОтветитьУдалить
    Ответы
    1. So far, you can only filter ticks that change only Ask or Bid. See the parameters of the TICK group.

      You can display both histograms in one place using a different position (left and right, see Histogram Position) and / or Outline (Bar Style).

      Удалить
  9. Boa Noite!
    Seria possivel colocar no modo range a opção: WindowFirstVisibleBar, agradeço e aguardo!!

    Atte,

    ОтветитьУдалить
    Ответы
    1. Привет.

      Пожалуйста, уточните. Например, что считать правой границей диапазона.

      Удалить
  10. Thank you for this great indicator.
    Can you add option in range mode: from VLine to future. Thank you.

    ОтветитьУдалить
    Ответы
    1. Maybe later.
      But for now you can try "Minutes to line" and big negative Range Minutes.

      Удалить