Reaper:
PS: я не вижу никаких других *Простое* решение, чем:
- Использовать такую функцию, чтобы найти абсолютное макс (или минут).
- Как только локализованные он, удаленные из массива
- Reperform поиска: потому что во-первых, макс элемент, удалены, естественно новых макс старый второй
PS: я не вижу никаких других *Простое* решение, чем:
- Использовать такую функцию, чтобы найти абсолютное макс (или минут).
- Как только локализованные он, удаленные из массива
- Reperform поиска: потому что во-первых, макс элемент, удалены, естественно новых макс старый второй
вы сами себе ответили. вот так и делайте.
но можно просто отсортировать.
sergeev:
Да, но должен быть другой путь, более простой и прямой, используя только функции, не копировать, не удалять, не сортировать ...вы сами себе ответили. вот так и делайте.
но можно просто отсортировать.
Reaper:
Да, но должен быть другой путь, более простой и прямой, используя только функции, не копировать, не удалять, не сортировать ...
можете еще запоминать в параллельный массив.Да, но должен быть другой путь, более простой и прямой, используя только функции, не копировать, не удалять, не сортировать ...
может просто отсортировать ? на мой взгляд это будет проще.
sergeev:
можете еще запоминать в параллельный массив.
Я даже не могу найти практическое решение этой проблемы.можете еще запоминать в параллельный массив.
Идея заключается в выборе второй по величине элемента, а не первого. Это основная функция и простой, но не понимаю, потому что он требует так много операций с массивами.
Я уверен, что вы можете сделать только с ArrayMaximum() и только две строки кода, но я не могу найти правильную комбинацию.
ArraySort() .. исключено, я знаю, что такой подход, но именно поэтому этой теме появился на свет.
Может быть, я мог бы попробовать удалить наибольший элемент, а также выполнять поиск, и как говорилось выше, новый элемент будет больше, на самом деле во-вторых, потому что первый был отменен.
Но даже здесь я считаю, хороший код решение.
Я пытаюсь использовать ArrayBsearch() для этой цели, но игнорируя мой код и в области алгоритмов по-прежнему много, я заранее приношу извинения.
Если у вас есть решение .. Я рад его видеть.
Спасибо!
![Документация по MQL5: Операции с массивами / ArrayBsearch Документация по MQL5: Операции с массивами / ArrayBsearch](/i/community/logo_mql5_small.png)
Документация по MQL5: Операции с массивами / ArrayBsearch
- www.mql5.com
Операции с массивами / ArrayBsearch - Документация по MQL5
DKeN:
может просто отсортировать ? на мой взгляд это будет проще.
Я не хочу заказать с ArraySort().может просто отсортировать ? на мой взгляд это будет проще.
Слишком кода.
Это не так просто, как вы думаете, хоть это может показаться.
Я хочу использовать ArrayMaximum() рекурсивно, так что первый входящий звонок, самый важный фактор, безусловно, и я хочу шанс сделать второй вызов, что исключает первый, второй курс второго элемента. Но я не вижу возможности это сделать.
![Документация по MQL5: Операции с массивами / ArrayMaximum Документация по MQL5: Операции с массивами / ArrayMaximum](/i/community/logo_mql5_small.png)
Документация по MQL5: Операции с массивами / ArrayMaximum
- www.mql5.com
Операции с массивами / ArrayMaximum - Документация по MQL5
Reaper:
Я даже не могу найти практическое решение этой проблемы.
Идея заключается в выборе второй по величине элемента, а не первого. Это основная функция и простой, но не понимаю, потому что он требует так много операций с массивами.
Я уверен, что вы можете сделать только с ArrayMaximum() и только две строки кода, но я не могу найти правильную комбинацию.
ArraySort() .. исключено, я знаю, что такой подход, но именно поэтому этой теме появился на свет.
Может быть, я мог бы попробовать удалить наибольший элемент, а также выполнять поиск, и как говорилось выше, новый элемент будет больше, на самом деле во-вторых, потому что первый был отменен.
Но даже здесь я считаю, хороший код решение.
Я пытаюсь использовать ArrayBsearch() для этой цели, но игнорируя мой код и в области алгоритмов по-прежнему много, я заранее приношу извинения.
Если у вас есть решение .. Я рад его видеть.
Спасибо!
Я даже не могу найти практическое решение этой проблемы.
Идея заключается в выборе второй по величине элемента, а не первого. Это основная функция и простой, но не понимаю, потому что он требует так много операций с массивами.
Я уверен, что вы можете сделать только с ArrayMaximum() и только две строки кода, но я не могу найти правильную комбинацию.
ArraySort() .. исключено, я знаю, что такой подход, но именно поэтому этой теме появился на свет.
Может быть, я мог бы попробовать удалить наибольший элемент, а также выполнять поиск, и как говорилось выше, новый элемент будет больше, на самом деле во-вторых, потому что первый был отменен.
Но даже здесь я считаю, хороший код решение.
Я пытаюсь использовать ArrayBsearch() для этой цели, но игнорируя мой код и в области алгоритмов по-прежнему много, я заранее приношу извинения.
Если у вас есть решение .. Я рад его видеть.
Спасибо!
у меня 17 строк в функции, которая выполняет поиск элемента с заданным уровнем максимализма, у кого меньше?
этой же функцией можно искать минимум с заданным уровнем
Файлы:
fnd.mq5
2 kb
Приветы! У меня так получилось найти второй(к уменьшению) максимум.
int i=ArrayMaximum(massiv,0,WHOLE_ARRAY); //ищем индекс с максимум double tt=massiv[i]; //сохраняем в промежуточную переменную значение massiv[i]=-1*DBL_MAX; //присваеваем минимальное значение int i2=ArrayMaximum(massiv,0,WHOLE_ARRAY); //определяем новый максимум(второй будет) Print (massiv[i2]); massiv[i]=tt; //возвращаем в массив по измененному индексу значение ,если надо
Karlson:
так нечестно. Вы портите содержимое массива - вдруг это таймсерия?.
Приветы! У меня так получилось найти второй(к уменьшению) максимум.
gdtt:
Вы портите содержимое массива - вдруг это таймсерия?.
Вы портите содержимое массива - вдруг это таймсерия?.
Разве речь шла о таймсериях? (Может, я что-то и пропустил).
И ничего он не "портит". Сначала запоминает tt=massiv[i], затем возвращает massiv[i]=tt.
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Кто-то может помочь мне решить эту "проблему".
ArrayMinimum () и ArrayMaximum () просто возвращают соответственно индекс самым минимальным (маленьких) и самый максимум (самый большой) значение в массив, переданные ему.
Так что дать абсолютной Минимальные и максимальные значения, из массива.
Но что, если один поиск относительного минимума и максимума?Второй минимум, третий и т.д.?
Я имею в виду не маленьких или большая ценность, а второй маленький и второй больше (то есть, если большая ценность составляет 5, второй крупнее 3 и т.д.).
Как это сделать с помощью всего ArrayMaximum () / Минимальная () функции, или просто, как немногие строки кода, не поворачивая с ума 50 строк кода?
Спасибо!
PS: я не вижу никаких других *Простое* решение, чем:
- Использовать такую функцию, чтобы найти абсолютное макс (или минут).
- Как только локализованные он, удаленные из массива
- Reperform поиска: потому что во-первых, макс элемент, удалены, естественно новых макс старый второй