작업 종료됨
명시
Нужно написать индикатор уровней. Уровень это горизонтальная линия, которая проходит через две или более точки с одним значением у разных баров. Точки, которые должны участвовать в сравнении это все Open, High, Low и Close на заданном таймфрейме. То есть не обязательно только Low или только High. Точки сравниваются не строго а +- люфт. Он задаётся в настройках.
Уровни должны рисоваться на основном графике на любом таймфрейме.
Как оформлять визуально? Должна меняться толщина и цвет линии, в зависимости от количества точек уровня, например:
-
Две точки - красная линия в 1 пиксель
-
Три точки - синяя линия в 3 пикселя
-
Четыре точки - зеленая линия в 5 пикселей и так далее.
Максимальная толщина линии рассчитывается по количеству существующих уровней. Например, у нас
-
Уровень 1, который проходит через 6 точек
-
Уровень 2 через 3 точки
-
Уровень 3 через 2 точки
Первый уровень рисуем в пять пикселей, второй в три, третий в один.
В идеале, если больше одного пикселя, то толстая линия полупрозрачная, а по центру в 1 пиксель непрозрачным цветом.
Отдельно нужно высчитать исторический максимум и минимум и по ним тоже проводить уровни. Эти уровни нужно подписать в формате max <год.месяц.день> или min <год.месяц.день>, где <год.месяц.день> это дата формирования максимума или минимума. Эти уровни показываются на любых таймфреймах за период, указанный в настройках.
Нужно как-то сохранять уровни для переноса на другие таймфреймы. Например при клике правой кнопкой мышки по уровню, или по нажатию определенного сочетания клавиш, с возможностью задания подписи. Так же нужно как-то удалять текущие уровни. Тоже по клику мышкой или с помощью клавиатуры. Тут обсуждается, как это лучше сделать.
Переменные, которые задаются в настройках:
-
Люфт от средней цены на таймфрейме: по умолчанию 0,04%
-
Минимальное количество точек для уровня: по умолчанию 2
-
Период, за который подсчитывать исторический хай и лоу для уровней: по умолчанию 1 год (десятичное число)
В файле пример уровня по трём точкам.