Вопрос снимается..
Там всё задом наперёд, оказывается. "Читайте инструкцию.."
Там всё задом наперёд, оказывается. "Читайте инструкцию.."

Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Пытаюсь разобраться в философии использования функции 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. Почему?
Наверное, я чего-то не знаю или не учитываю. Пожалуйста, помогите разобраться.