int visible_bars=(int)ChartGetInteger(0,CHART_VISIBLE_BARS,0);//кол-во видимых на графике баров
//---если ищем экстремумы в мат. смысле
for(int i=visible_bars-1; i>1; i--)
{
int j=i+1;//номер предшествующего бара
int k=i-1;//номер последующего бара
if(High[j]<High[i] && High[i]>High[k])
{
//экстремум - High[i] выше своих соседей
}
if(High[j]>High[i] && High[i]<High[k])
{
//экстремум - High[i] ниже своих соседей
}
if(Low[j]<Low[i] && Low[i]>Low[k])
{
//экстремум - Low[i] выше своих соседей
}
if(Low[j]>Low[i] && Low[i]<Low[k])
{
//экстремум - Low[i] ниже своих соседей
}
}
//---если поиск ведется только по наибольшему и наименьшему значению
int index_max=iHighest(Symbol(),PERIOD_CURRENT,MODE_HIGH,visible_bars,0);
int index_min=iLowest(Symbol(),PERIOD_CURRENT,MODE_LOW,visible_bars,0);