/*[[ Name := SilverTrend Author := Copyright © 2003, VIAC.RU AlexSilver,OlegVS,GOODMAN Link := http://viac.ru/ Separate Window := No First Color := Red First Draw Type := Histogram Use Second Data := Yes Second Color := Blue Second Draw Type := Histogram Second Symbol := 218 ]]*/ Inputs : KPr(20),SSP(9),KBars(300); // KPr - ширина канала от сигнальной SSP-периодной (по умолчанию 20% отклонения) // SSP - период сигнальной линии // KBars - количество баров прорисовки индикатора, если 0, то рисуем на всем графике Variables : K(0),firstTime(True),shift(0), loopbegin(0); Variables : smin(0), smax(0), SsMax(0), SsMin(0) ,val1(0),val2(0); SetLoopCount(0); If firstTime then // первый вход - прорисовываем все бары (KBars) { K=50-KPr; firstTime=False; // сброс флажка первого входа If KBars=0 or KBars>(Bars-SSP-1) Then { loopbegin=Bars-SSP-1; } // устанавливаем счетчик цикла прорисовки для всего графика Else loopbegin = KBars; // устанавливаем счетчик цикла для KBars }; For shift = loopbegin DownTo 0 Begin // запускаем цикл SsMax = High[Highest(MODE_HIGH,shift+SSP-1,SSP)]; // максимум периода SsMin = Low[Lowest(MODE_LOW,shift+SSP-1,SSP)]; // минимум периода smin = SsMin+(SsMax-SsMin)*K/100; // параметры канала для текущего бара снизу smax = SsMax-(SsMax-SsMin)*K/100; // параметры канала для текущего бара сверху val1=0; val2=0; // сброс переменных после предыдущего цикла If C[shift]smax Then // Если Close выше канала - рисуем синюю осевую для бара/свечи {val2=High[shift]; val1=Low[shift]; }; SetIndexValue(shift,val1); SetIndexValue2(shift,val2); if shift<>0 then loopbegin=loopbegin-1; // сдвигаем счетчик цикла End;