
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Здравствуйте.
Кто-то может помочь мне решить эту "проблему".
ArrayMinimum () и ArrayMaximum () просто возвращают соответственно индекс самым минимальным (маленьких) и самый максимум (самый большой) значение в массив, переданные ему.
Так что дать абсолютной Минимальные и максимальные значения, из массива.
Но что, если один поиск относительного минимума и максимума?Второй минимум, третий и т.д.?
Я имею в виду не маленьких или большая ценность, а второй маленький и второй больше (то есть, если большая ценность составляет 5, второй крупнее 3 и т.д.).
Как это сделать с помощью всего ArrayMaximum () / Минимальная () функции, или просто, как немногие строки кода, не поворачивая с ума 50 строк кода?Спасибо!
PS: я не вижу никаких других *Простое* решение, чем:
- Использовать такую функцию, чтобы найти абсолютное макс (или минут).
- Как только локализованные он, удаленные из массива
- Reperform поиска: потому что во-первых, макс элемент, удалены, естественно новых макс старый второй
Справочник MQL5 / Стандартная библиотека / Классы для организации данных
Sort
Сортирует массив по указанному вариант
Search
Ищет элемент равный образцу в сортированном массив
SearchGreat
Ищет элемент больше образца в сортированном массив
SearchLess
Ищет элемент меньше образца в сортированном массиве
Копируете данные в массив сортируете в нужном направлении, берёте максимум, ищете элемент меньше, так пять раз, у вас есть пятый элемент :о)
Ищете в оригинальном массиве элемент равный пятому.
Разве речь шла о таймсериях? (Может, я что-то и пропустил).
И ничего он не "портит". Сначала запоминает tt=massiv[i], затем возвращает massiv[i]=tt.
Согласитесь, как то это не очень хорошо: тебя попросили найти кошку в комнате, можно было заглянуть и сказать: "вон она!", а ты зашел, наследил, потом протер за собой.
Согласитесь, как то это не очень хорошо: тебя попросили найти кошку в комнате, можно было заглянуть и сказать: "вон она!", а ты зашел, наследил, потом протер за собой.
Я местами не догнал товарищи...Какую кошку,кто затер,что затер...
Вопрос был как найти второй максимум.Предложил свое решение...Причем тут еще и честность...
Приветы! У меня так получилось найти второй(к уменьшению) максимум.
Казалось бы, хорошая идея.
Работает ли это?
Справочник MQL5 / Стандартная библиотека / Классы для организации данных
Sort
Сортирует массив по указанному вариант
Search
Ищет элемент равный образцу в сортированном массив
SearchGreat
Ищет элемент больше образца в сортированном массив
SearchLess
Ищет элемент меньше образца в сортированном массиве
Копируете данные в массив сортируете в нужном направлении, берёте максимум, ищете элемент меньше, так пять раз, у вас есть пятый элемент :о)
Ищете в оригинальном массиве элемент равный пятому.
Теперь мы должны установить, что это самый удобный и чистый код и лучший способ для этого возможность.
gdtt:
так нечестно. Вы портите содержимое массива - вдруг это таймсерия?.
and
Yedelkin 2011.10.22 11:16 #
gdtt:
Вы портите содержимое массива - вдруг это таймсерия?.
Разве речь шла о таймсериях? (Может, я что-то и пропустил).
И ничего он не "портит". Сначала запоминает tt=massiv[i], затем возвращает massiv[i]=tt.
Нет, это не timeseries являются, это переменная "long" (using CopyTickVolume), потому что я хочу работать с Volumes.
Казалось бы, хорошая идея.
Работает ли это?
Работает.Тут все просто.
Вопрос будет ли применимо у Вас..
Работает.Тут все просто.
Вопрос будет ли применимо у Вас..
Я спрашивал, если он работает для вас (кажется, из обсуждения, что некоторые пользователи сказал, что это не является допустимым методом? Или перевод плох?)
Кажется, что некоторые "разумные" результаты достигаются при Максимальная версия (разумное, я имею в виду
Кажется, что значения choerent, но мне нужно проверить значения и аналогичные тесты).
Для версии Минимальные ()?
это как?
int j = ArrayMinimum(minim,0,WHOLE_ARRAY); // search index with a maximum
double zz = minim[j]; // save it in an intermediate variable value
minim[j] =- 1 * DBL_MIN; // assigns the minimum value
j=ArrayMinimum(minim,0,WHOLE_ARRAY); // define a new high (second use)
Print("min: ", minim[j]);
minim[j] = zz; // return the array index value on a modified, if necessary
или
int j = ArrayMinimum(minim,0,WHOLE_ARRAY); // search index with a maximum
double zz = minim[j]; // save it in an intermediate variable value
minim[j] =- 1 * DBL_MAX; // assigns the minimum value
j=ArrayMinimum(minim,0,WHOLE_ARRAY); // define a new high (second use)
Print("min: ", minim[j]);
minim[j] = zz; // return the array index value on a modified, if necessary
или
int j = ArrayMinimum(minim,0,WHOLE_ARRAY); // search index with a maximum
double zz = minim[j]; // save it in an intermediate variable value
minim[j] =+ 1 * DBL_MIN; // assigns the minimum value
j=ArrayMinimum(minim,0,WHOLE_ARRAY); // define a new high (second use)
Print("min: ", minim[j]);
minim[j] = zz; // return the array index value on a modified, if necessary
? :D