Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
С той же пузырьковой сортировкой можно, только не нужно соединять два измерения в одно. Проверку делать по одному измерению, а менять местами в обеих измерениях.
Есть и еще способ. Для строкового измерения сделать строковый массив, а двухмерный массив с делать типа инт, в первом измерении числа по которым выполняется сортировка, а во втором индексы массива со строками. В этом случае можно использовать ArraySort().
Есть и еще способ. Для строкового измерения сделать строковый массив, а двухмерный массив с делать типа инт, в первом измерении числа по которым выполняется сортировка, а во втором индексы массива со строками. В этом случае можно использовать ArraySort().
К сожалению прокатит только в МТ4, т.к. ArraySort() в МТ5 работает только с одномерными массивами.
К сожалению прокатит только в МТ4, т.к. ArraySort() в МТ5 работает только с одномерными массивами.
ArraySort в МТ5 работает с многомерными массивами. Отсутствует только MODE_DESCEND.
Да всё верно:
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Список изменений в билдах MetaTrader 5 Client Terminal
MetaQuotes Software Corp., 2015.05.20 17:16
В пятницу 22 мая 2015 года будет опубликовано обновление платформы MetaTrader 5. Обновление содержит следующие изменения:
MetaTrader 5 Client Terminal build 1150
19. MQL5: Функции сортировки и поиска в массиве ArraySort, ArrayBsearch, ArrayMinimum и ArrayMaximum теперь работают и с многомерными массивами. Сортировка и поиск происходят только по первому (нулевому) индексу массива. Ранее эти функции работали только с одномерными массивами.А когда обсуждали - ещё не умела :)
Я бы решил так: каждая строка представляет собой некий объект CObject, а вся таблица: CArrayObj. В своем классе наследнике CObject перегрузите метод Compare. Вот накидал полностью рабочую демонстрацию в виде скрипта:
Смотрим вывод:
Всем привет! НЕ могу сообразить как дописать представленный тут класс для сортировки таблицы более 2 столбцов. 1 столбец string, последующие столбцы данные типа double
Нужно в CLineTable добавить дополнительные поля double, а также расширить типы сортировки в методе Compare.
я уже сообразил, все заработало, вот так написал
я уже сообразил, все заработало, вот так написал
Да, именно так и имел ввиду. Но вообще предложенный способ к сожалению не универсальный. При изменении размерности таблицы или типов ее колонок, приходится перекраивать класс CLineTable. Думаю есть способ лучше. Можно создать универсальную сортировку произвольных таблиц, содержащих произвольное количество типов данных и колонок.
Не совсем вкурил, прошу прощения с ООП не очень дружу
Во первых спасибо за примеры, особенно последний, только не понял, вот есть таблица с кучей столбиков,
Table.Sort(SORT_BY_NUMBER); я так пониял отсортирует эту таблицу по номерам в 2-3-4 колонке - последовательно от 2 к 4-ой
а как сделать что бы можно было сортировать по к примеру 3-ей колонке отдельно или по 4-ой - без учета остальных номерных
это надо отдельный SORT_BY_NUMBER2 к примеру что ли делать по примеру этих ?