Работа завершена
Техническое задание
кто бы красиво выполнил такую достаточно простую задачу
#property indicator_chart_window
#property indicator_plots 3
input int comm; //делитель
input int per; //период
input string HLorOC; //два значения HL или OC, можно использовать int со значениями 0 и 1
рассказываю на примере для удобства восприятия:
берем делитель равный 10 и период равный 30.
что бы получить значения индикатора на нулевом баре, берем выборку 30ти баров от 0 до 29, находим бар с наибольшей высотой (High-Low или модуль Open-Close в зависимости то значения HLorOC),
предположим высота наибольшего бара равна 300пп, делим ее на 10 (делитель)=30пп.
после этого определяем, какое количество баров по высоте попало в 0-30пп, затем в между 30 и 60, и т.д. до 270-300.
находим промежуток, в который попало максимально большое кол-во баров выборки, например это 210-240, значение первого буфера нашего индикатора равно (240-210)/2+210=225.
находим промежуток, в который попало минимальное кол-во баров выборки, например это 60-90, значение второго буфера нашего индикатора равно (90-60)/2+60=75.
находим промежуток, в который попало среднее кол-во баров выборки, например это 120-150, значение третьего буфера нашего индикатора равно (150-120)/2+120=135.
значение индикатора на первом баре естественно вычисляется по выборке от1 до 30 баров, и т.д.
надеюсь объяснил все популярно