как найти вторичные максимумы - страница 6

 
Maxim Kuznetsov:

максимум и минимум массива ищутся встроенными функциями.

А как-бы попроще искать вторичные экстремумы ?

например, есть массив данных, известно что значащих экстремумов там не более 4-х. (или чтобы проще - строго 4).

картинка для понимания (данные продублированны вправо):

или только "зигзагами" можно бороть ?

Есть старый добрый вариант "крестики-нолики".

 
Andrey Dik #:

Тогда алгоритм не сложный.

Пишем массив структур, в структуре два поля: значение в данных и расстояние до самого дальнего ближайшего минимума.

Пробегаемся по всем ячейкам массива, заполняем.

Сортируем массив по расстояниям.

Берем три (или сколько нужно) с максимальным расстоянием кроме самого высокого пика.


если известны минимумы, то конечно...даже без массива структур - просто найти максимумы между ними

 

пояснение к данным, или почему нельзя фильтровать пики..

каждый пик имеет имя

не во всех привязках точно уверен, всякие переводы часов и разница времени. И данные сбивают и меня путают

Два самых пика не идентифицированны вообще. Но они есть везде и всегда...заодно может кто и подскажет "что такого происходит каждый день в 15:30 и 16:30"

 
Maxim Kuznetsov #:

...заодно может кто и подскажет "что такого происходит каждый день в 15:30 и 16:30"

Обычно в это время важные новости выходят.

 
Alexander Sevastyanov #:

Обычно в это время важные новости выходят.

даже когда новости не выходят - всё равно 15:30 и 16:30 чётко видны, даже невооружённым глазом

в реальном времени, при торговле..не в статистке.

 
Maxim Kuznetsov #:

пояснение к данным, или почему нельзя фильтровать пики..

каждый пик имеет имя

не во всех привязках точно уверен, всякие переводы часов и разница времени. И данные сбивают и меня путают

Два самых пика не идентифицированны вообще. Но они есть везде и всегда...заодно может кто и подскажет "что такого происходит каждый день в 15:30 и 16:30"

То есть изначально не было конкретной задачи? Понятненько )
 
Maxim Dmitrievsky #:
То есть изначально не было конкретной задачи? Понятненько )

была, есть и остаётся..

просто для примеров, тестов и отладки взяты данные на которых можно проверять корректность. Максимально знакомые данные

 
Maxim Kuznetsov #:

была, есть и остаётся..

просто для примеров, тестов и отладки взяты данные на которых можно проверять корректность. Максимально знакомые данные

Фурье + зигзаг. Можно адаптировать под любые нужные циклические компоненты. Лучше пока не знаю. Если нужны мелкие пики - вместо низкочастотной подобрать высокочастотные компоненты.
 
Maxim Dmitrievsky #:
Фурье + зигзаг. Можно адаптировать под любые нужные циклические компоненты. Лучше пока не знаю.

вроде как да.

ещё вариант, в голове крутится, что второй максимум (помимо глобального) ищется довольно легко. "можно углубить и расширить" :-) но там точно потребуется кеш/очередь_с_приоритетами и много кода..MQL он такой, в 100 строчек не напишеш :-) трижды подумаешь

 
Maxim Kuznetsov #:

вроде как да.

ещё вариант, в голове крутится, что второй максимум (помимо глобального) ищется довольно легко. "можно углубить и расширить" :-) но там точно потребуется кеш/очередь_с_приоритетами и много кода..MQL он такой, в 100 строчек не напишеш :-) трижды подумаешь

Ещё вейвлеты/шейплеты могут залететь. Но это тоже не относится к простым способам