Индикаторы: Канал Дончиана - страница 2

 

Привет,

Функции iHighest и iLowest очень медленно работают в коде индикатора. Я использовал функции ArrayMaximum и ArrayMinimum в событии OnCalculate, и это быстрее, чем оригинальный код.

Поэтому вы можете использовать их следующим образом

case HIGH_LOW:

//SsMax=high[iHighest(high,DonchianPeriod,bar)];

//SsMin=low[iLowest(low,DonchianPeriod,bar)];

SsMax=high[ArrayMaximum(high,bar-(DonchianPeriod-1),DonchianPeriod)];

SsMin=low [ArrayMinimum(low,bar-(DonchianPeriod-1),DonchianPeriod)];

break;



 

Почему минимальные и максимальные значения канала в окне данных не соответствуют точно минимальным и максимальным значениям бара, по которому рассчитывался максимум или минимум?

Вы даже можете увидеть это на скриншоте, предоставленном ОП; отметка high не является прямой линией, она покачивается на несколько тиков вверх и вниз, хотя реальное значение high не изменилось. Почему так происходит?

Кто-нибудь знает, почему это происходит?

Не соответствует ли массив "high" тому максимуму, который строится барами на графике?