Отправлено: 25.10.14 10:56. Заголовок: Подробнее о индикаторных буферах
Этот вопрос можно было бы, конечно, опустить, но, тем не менее любознательность берёт своё... Заглянув в справку касательно: #property indicator_buffers 1 // используется 1 буфер индикатора Я вижу, что это свойство обозначает: какое количество буферов используется для расчета индикатора. Дальше в Init() бывает такое: IndicatorBuffers(2); Данная опция: Распределяет память для буферов, используемых для вычислений пользовательского индикатора. Но это бывает не часто. Почему так? Например, в индикаторе NeoZigZag_Close такое есть, а в многих других, например, PercentageZigZag такого нет. Это ж не означает, что память там не распределяется для вычисления пользовательского индикатора. А значит в подобной инструкции нет необходимости?
Сообщение: 866
Зарегистрирован: 04.03.13
Откуда: Москва
Репутация:
2
Отправлено: 25.10.14 12:01. Заголовок: День добрый, hoz! О..
День добрый, hoz!
Обсуждал с Игорем подобный вопрос здесь, может пригодится:
Genry пишет:
цитата:
Вот восстановил код где было 2 буфера, но он как и раньше ничего не отображает, а здесь где собака зарыта?
Scriptong пишет:
цитата:
В этом случае все просто. Для того чтобы использовать скрытые буфера, необходимо воспользоваться переопределением количества буферов. Причем новое количество должно быть больше того, что указано в:
#property indicator_buffers
В таких случаях нужна функция IndicatorBuffers. Но и это еще не все. Под скрытые буфера должна быть распределена память. В представленном коде этого нет - массив ARSI объявлен с нулевым размером и не связан ни с одним из буферов индикатора. Устранение этой ошибки - связать индекс буфера индикатора с массивом:
Отправлено: 25.10.14 16:35. Заголовок: Я так понял, инстру..
Я так понял, инструкция IndicatorBuffers в функции Init() нужна только в том случае, если нужны дополнительные буферы для расчёта индикаторных значений( которые не отображаются т.е. не рисуются), так? Т.е. если дополнительных буферов для расчёта не требуется, то данная инструкция не требуется. А если требуются дополнительные буферы требуются, то добавляем их и связываем с соответствующими индексами. Судя по всему, если дополнительных буферов (для расчёта) инструкция IndicatorBuffers в функции Init() не требуется, а происходит лишь связывание буферов с их индексами, объявленными в свойствах индикатроа и всё, так?
Сообщение: 867
Зарегистрирован: 04.03.13
Откуда: Москва
Репутация:
2
Отправлено: 25.10.14 17:42. Заголовок: hoz пишет: Я так по..
hoz пишет:
цитата:
Я так понял, инструкция IndicatorBuffers в функции Init() нужна только в том случае, если нужны дополнительные буферы для расчёта индикаторных значений( которые не отображаются т.е. не рисуются), так?
Все даты в формате GMT
2 час. Хитов сегодня: 0
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет