Вычисление экстримумов

 

Доброе время суток.

Задача: Поставить ордер за максимум или минимум определенного периода свечей.

Собственно, как поставить ордер я знаю... А вот как вычислить максимум или минимум чего-то ни как не пойму.

вот код:

 Alert (Low[22]);
    Alert (iLow(Symbol(),PERIOD_H1,22)," -2");

Но значения получаемые при этой функции в корни отличаются от графика :( Что ни так делаю?

В примере 22 - количество баров на которых надо вычислить минимум..., а "-2" это просто метка, чтобы знать какое значение какой функцией выдавалось.

Подскажите кто знает, плз.

 
 

Спасибо.

Еще вопрос, почему вычисляемые значения отличаются от показаний индикаторов?

Вот код

MA26=iMA(NULL,0,Period_MA26,0,MODE_SMA,PRICE_CLOSE,0);                                 
   MA5=iMA(NULL,0,Period_MA,0,MODE_SMA,PRICE_CLOSE,0); 
   MA120=iMA(NULL,0,Period_MA120,0,MODE_SMA,PRICE_CLOSE,1);
///---
     
     // открытие ордера
    //--- Bay ---
    if (MA5>MA26 && MA26>MA120 ) 
     {
     Alert (MA5," ",MA26," ",MA120);
      return (10);    
        }
   
   //--- Sell ---
   if (MA5<MA26&& MA26<MA120) 
     //if (MA26<MA120) 
   { 
    Alert (MA5," ",MA26," ",MA120);
   return (20);
     } 
  
   return (0);
   }

на графике MA26> MA5>MA120 но при этом открывается позиция вниз...

соответственно расчетные значения выдает такие 2010.08.11 13:12:42 GBPCHF,H1: Alert: 1.6629 1.6632 1.6633 Время по Новосибирску это +3 по Москве...

Как избежать подобных расчетных ошибок?

 
zews:

Спасибо.

Еще вопрос, почему вычисляемые значения отличаются от показаний индикаторов?

Вот код

на графике MA26> MA5>MA120 но при этом открывается позиция вниз...

соответственно расчетные значения выдает такие 2010.08.11 13:12:42 GBPCHF,H1: Alert: 1.6629 1.6632 1.6633 Время по Новосибирску это +3 по Москве...

Как избежать подобных расчетных ошибок?



Ошибок нет. есть отсутствие логики
 

for(i=limit; i>=0;i--)
{

high[i]=High[iHighest(NULL,0,MODE_HIGH,per,i)];

low [i]=Low[iLowest(NULL,0,MODE_LOW,per,i)]);
}

Макс и мин на барах от i=0 до номера равного per

 
zews:

Спасибо.

Еще вопрос, почему вычисляемые значения отличаются от показаний индикаторов?

Вот код

на графике MA26> MA5>MA120 но при этом открывается позиция вниз...

соответственно расчетные значения выдает такие 2010.08.11 13:12:42 GBPCHF,H1: Alert: 1.6629 1.6632 1.6633 Время по Новосибирску это +3 по Москве...

Как избежать подобных расчетных ошибок?



а на графике у тебя какие настройки ма?

должны быть Период = Period_MA

Метод МА = Simple

Применить к = Close

 
artamir:

а на графике у тебя какие настройки ма?

должны быть Период = Period_MA

Метод МА = Simple

Применить к = Close


Спасибо! Точно разные настройки...
 

Время по Новосибирску это -3 по Москве.

Причина обращения: