Пишу индикатор свечных паттернов. Столкнулся с тем, что функция CopyBuffer() напрочь отказывается читать данные с 1-го буфера. Хотя, с 0-го буфера читает. Написанный вариант индикатора я проверил, отрисовывая в местах каждого найдённого паттерна стрелочки. На данный момент, я всё лишнее убрал. Оставил лишь около 20 строк кода, где уже не ищу паттерн, а лишь сравниваю цены открытия и закрытия обоих предыдущих баров между собой. Сделал я так для упрощения. Так вот. На данный момент, написан элементарный индикатор. Условия помещения в буфер данных для обоих случаев заркальны и элементарны. Буфера в индикаторе 2. Они заполняются каждый раз, при выполнении условия. Если условие не выполнено, в буфер помещается значение EMPTY_VALUE.
Вопрос, который сродни фантастики в том, что CopyBuffer() не может скопировать данные в буфера на индексе 1. Копирует данные лишь с 0-го индекса. Вот это очень странно. Я думал, что-то в моём коде, но упростив его до элементарнейшего варианта создаётся впечатление, что CopyBuffer() гонит.
Я написал скрипт forOnce, чтобы проверить функцию CopyBuffer(). Сам индикатор называется Candles(). Библиотека, которую использует индикатор называется TimeSeries. Её я использую постоянно. Всё прилагаю к сообщению. Интересно обсудить этот странный момент к профессионалами.