CopyBuffer в индикаторах.

 

Пытаюсь разобраться в философии использования функции CopyBuffer() в идикаторах.

Вот здесь https://www.mql5.com/ru/docs/series/copybuffer в предпоследней строке указан код:

if(CopyBuffer(ma_handle,0,0,to_copy,MABuffer)<=0) return(0)


Меня интересует показанный здесь общий подход.

Насколько я понял, выделенный красным 0 означает, что при каждом исполнении OnCalculate() копируется полный набор данных, начиная с нуля  до текущего бара.

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

Формат CopyBuffer() как раз позволяет такой подход. Тем не менее, указан 0. Почему?

Наверное, я чего-то не знаю или не учитываю. Пожалуйста, помогите разобраться.

Документация по MQL5: Доступ к таймсериям и индикаторам / CopyBuffer
Документация по MQL5: Доступ к таймсериям и индикаторам / CopyBuffer
  • www.mql5.com
Доступ к таймсериям и индикаторам / CopyBuffer - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Вопрос снимается..
Там всё задом наперёд, оказывается. "Читайте инструкцию.."