Как использовать один индикатор для расчета другог?

 
Добрый день! У меня индикатор считается по ценам закрытия баров, я хочу подправить его так, чтоб вместо цены закрытия бара он брал мувинг для расчета. Подскажите как это проще сделать. Индикатор VHF.
 
vasiliy686 >>:
Добрый день! У меня индикатор считается по ценам закрытия баров, я хочу подправить его так, чтоб вместо цены закрытия бара он брал мувинг для расчета. Подскажите как это проще сделать. Индикатор VHF.

просто замени цены баров на кустом машки

 

Вам нужно сделать заполнить инд. буфер значениями скользячки. И вместо массива Close использовать его.

Заполнить можно через iMA(...). Ну, и объявить массив и присвоить ему необх. свойства буферного для начала нужно.

 

Из старта индикатора вызываем функцию fIndVHFFromBufToBuf, первый параметр - индикаторный буфер со значениями, второй параметр - отображаемый буфер с результатми, третий - период VHF.

extern int VHFPeriod=34;

void fIndVHFFromBufToBuf(double & aFromBuf[],double & aToBuf[],int aVHFPeriod=34){
   int tLimit=Bars-IndicatorCounted();
      for(int ti=tLimit-1;ti>=0;ti--){
         aToBuf[ti]=aToBuf[ti+1];
         double tSum=0;
            for(int tj=ti;tj<ti+aVHFPeriod;tj++){
               tSum+=MathAbs(aFromBuf[tj]-aFromBuf[tj+1]);
            }
         if(tSum==0)continue;
         aToBuf[ti]=(aFromBuf[ti]-aFromBuf[ti+aVHFPeriod])/tSum;
      } 
}
Причина обращения: