//удалил
Наверное, вот этот кусок справки
"Может также принимать значение INDICATOR_COLOR_INDEX,
тогда данный буфер предназначен для хранения индексов цветов для предыдущего
индикаторного буфера."
//удалил
Наверное, вот этот кусок справки
"Может также принимать значение INDICATOR_COLOR_INDEX,
тогда данный буфер предназначен для хранения индексов цветов для предыдущего
индикаторного буфера."
Нет, не похоже, буфер для INDICATOR_COLOR_INDEX привязывается сразу после буфера с данными для этого буфера в ообих случаях, например :
SetIndexBuffer(0, VolumeBuffer, INDICATOR_DATA); SetIndexBuffer(1, VolumeColors, INDICATOR_COLOR_INDEX);
Т.е. и в правильном и в неправильном вариантах это правило соблюдается, но в неправильном варианте цвета все равно исчезают, точнее исчезают цвета всех буферов, начиная с индекса 4.
Чтобы было наглядней, в правильном варианте индексы привязываются так :
SetIndexBuffer(0, VolumeBuffer, INDICATOR_DATA); // #property indicator_label1 - data for Histogram SetIndexBuffer(1, VolumeColors, INDICATOR_COLOR_INDEX); // #property indicator_label1 - color for Histogram SetIndexBuffer(2, AverageVolumeBuffer, INDICATOR_DATA); // #property indicator_label2 - data only for Moving Average SetIndexBuffer(3, DeltaBuffer, INDICATOR_DATA); // #property indicator_label3 - data for another Histogram SetIndexBuffer(4, DeltaColors, INDICATOR_COLOR_INDEX); // #property indicator_label3 - color for another Histogram SetIndexBuffer(5, AverageDeltaBuffer, INDICATOR_DATA); // #property indicator_label4 - data for another Moving Average
И, я так думаю, вставляя в любом месте посередине буфер для INDICATOR_CALCULATIONS, эта индексация сдвигается и все ломается, но правильно ли это предположение и почему нигде в мануале не упоминается в какой последовательности и какие типы буферов можно привязывать?
За ссылку на правила для буфера цвета - спасибо.
Нет, не похоже, буфер для INDICATOR_COLOR_INDEX привязывается сразу после буфера с данными для этого буфера в ообих случаях, например :
Т.е. и в правильном и в неправильном вариантах это правило соблюдается, но в неправильном варианте цвета все равно исчезают, точнее исчезают цвета всех буферов, начиная с индекса 4.
Чтобы было наглядней, в правильном варианте индексы привязываются так :
И, я так думаю, вставляя в любом месте посередине буфер для INDICATOR_CALCULATIONS, эта индексация сдвигается и все ломается, но правильно ли это предположение и почему нигде в мануале не упоминается в какой последовательности и какие типы буферов можно привязывать?
За ссылку на правила для буфера цвета - спасибо.
Вот
"Нумерация свойств (модификаторов) при использовании директивы #property начинается с 1 (единицы), в то время как функция использует нумерацию с 0 (нуля). При неправильном задании номера уровня отображение индикатора может отличаться от того, которое предполагается."
artemiusgreat:
Каким должен быть порядок привязки буферов?
1. Буфер, который должен рисоваться поверх, должен иметь больший индекс.
2. Цвет идет сразу за своим буфером (с учетом стиля, см. 5)
3. Вспомогательные всегда в конце
4. Надо учитывать, что нумерация свойств начинается с 1, а буферов в SetIndexBuffer с 0.
5. Надо учитывать количество буферов на прорисовку стиля.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Привет,
Каждый раз это вводит в ступор и приходится подбирать методом тыка ... может ли кто-то на пальцах обьяснить правила привязки индикаторного буфера к опр. динамическому массиву?
Есть такое :
Потом чтобы привязать буфер к соотв. массиву делаю в OnInit и все правильно работает :
Но если поменять порядок привязки, то все становится очень плохо, особенно с цветами :