Кто знает, как получить максимальное и менимальное значение на заданном участке?

 
Кто знает, как получить максимальное и менимальное значение на заданном участке? Не максимум / минимум за день, не Hige / Low конкретного бара, а именно на участке 5,10,..., 48 ?баров
 
Griggy писал(а) >>
Кто знает, как получить максимальное и менимальное значение на заданном участке? Не максимум / минимум за день, не Hige / Low конкретного бара, а именно на участке 5,10,..., 48 ?баров

посмотри функции iHighest(), iLowest()

 
или ArrayMaximum ...
 

extern int Quant_Bars =15; // количество баров

int Ind_max =ArrayMaximum(High,Quant_Bars,1);

int Ind_min =ArrayMinimum(Low,Quant_Bars,1);

double Maximum=High[Ind_max];

double Minimum =Low[Ind_low];

Comment("За последние ",Quant_Bars," баров максимум = ",DoubleToStr(Maximum,Digits),", минимум равен ",DoubleToStr(Minimum,Digits));

 
Vinin писал(а) >>

посмотри функции iHighest(), iLowest()

Спасибо, проверил - что-то не то. Мне нужно определить диапозон колебаний цены в определенный промежуток времени, а iHighest()- iLowest() дает какие-то фантастические результаты.

 

менимальное, наверно, от слова мени(англ) - много.

 
Griggy >>:

Спасибо, проверил - что-то не то. Мне нужно определить диапазон колебаний цены в определенный промежуток времени, а iHighest()- iLowest() дает какие-то фантастические результаты.

это вродде потому что проверялися все доступные бары на графике.....

вы задавали значения count и start

 
dmmikl86 писал(а) >>

это вродде потому что проверялися все доступные бары на графике.....

вы задавали значения count и start

Да ладно вам - опечататься каждый может. Нет Проверял в реале. Полученное значение переменной получилось Алогичным.

 
Griggy писал(а) >>

Спасибо, проверил - что-то не то. Мне нужно определить диапазон колебаний цены в определенный промежуток времени, а iHighest()- iLowest() дает какие-то фантастические результаты.

Эти функции возвращают номера баров, в которых находятся экстремумы. Вы справку то хоть иногда смотрите?

 

Вариант.

Мин, макс за 15 последних баров.

Скрипт.

int start()
{
double min=Low[0], max;
for(i=0; i<15; i++)
{
if(Low[i] <min) min=Low[i];
if(High[i]>max) max=High[i];
//Alert(min," ; ",max);
}
Alert("min: ",min,"  max: ",max);
   
return(0);
}
 
kombat писал(а) >>

Вариант.

Мин, макс за 15 последних баров.

Скрипт.

double max = High[iHighest(NULL,0,MODE_HIGH,15,0)];
double min = Low[ iLowest( NULL,0,MODE_LOW, 15,0)];
Тоже самое
Причина обращения: