Не работает iHighest и iLowest

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Dmitry Sumsky
2459
Dmitry Sumsky  

Вчера заметил такую штуковину, не работают iHighest и iLowest. Выдают какую-то фигню.


Вот для примера сделал скриптик.



//|                                                         test.mq4 |
//+------------------------------------------------------------------+
#property strict
#property script_show_inputs

input    ENUM_TIMEFRAMES   TF          =  PERIOD_CURRENT;   // ТФ
input    int               iStart      =  2;                // Бар старта
input    int               iFihish     =  100;              // Бар финиша

int      i1, i2;
double   pMax1, pMax2, pMin1, pMin2;

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
{
   i1=(iStart<iFihish?iStart:iFihish); 
   i2=(iStart<iFihish?iFihish:iStart);
   
   pMax1=iHighest(_Symbol,TF,MODE_HIGH,(i2-i1+1),i1);
   pMin1=iLowest(_Symbol,TF,MODE_LOW,(i2-i1+1),i1);
   
   pMax2=iHigh(_Symbol,TF,i1); pMin2=iLow(_Symbol,TF,i1);
   for(int i=i1+1; i<=i2; i++)
   {
      if(iHigh(_Symbol,TF,i)>pMax2) pMax2=iHigh(_Symbol,TF,i);
      if(iLow(_Symbol,TF,i)<pMax2) pMax2=iLow(_Symbol,TF,i);
   }

   Comment("iHighest="+DoubleToStr(pMax1,_Digits)+"   iHigh="+DoubleToStr(pMax2,_Digits)+"\r\n"
            +"iLowest="+DoubleToStr(pMin1,_Digits)+"   iLow="+DoubleToStr(pMin2,_Digits));
   return;
}
//+------------------------------------------------------------------+

Aleksey Semenov
3800
Aleksey Semenov  
ну какбе iHighest возвращает индекс бара, а iHigh возвращает цену указанного бара
Dmitry Sumsky
2459
Dmitry Sumsky  
вот блин. заработался... )))
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий