
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Так ведь и я именно ради сортировки и беру массив CObjArray - и имею сортировку по ЛЮБОМУ полю, которая присутствует в структуре. Тоже трудоемкость минимальна - необходимо лишь написать функцию сравнения нужных полей.
Не, Дмитрий, можно и так, как ты предлагаешь, и даже, наверно, для новичка так будет лучше.
Во-первых нестандартный элемент - CObjArray, а во-вторых - все-таки писать функцию сравнения.
Во-первых нестандартный элемент - CObjArray, а во-вторых - все-таки писать функцию сравнения.
Какой же он нестандартный, если входит в Стандартную библиотеку ?
Ошибся я в названиии - CArrayObj
А функцию сравнения, да, писать надо .
Результат:
Какой же он нестандартный, если входит в Стандартную библиотеку ?
Ошибся я в названиии - CArrayObj
А функцию сравнения, да, писать надо .
В том смысле, что в самом эмкуле нет такого.
Для написания своей функции сортировки надо писать свой дочерний класс, потом еще с типом заморачиваться. Оно кому-то надо? Да еще и справка по этой стандартной библиотеке - никакая.
Результат:
Ну вот и в МТ5 работает.
одномерного массива хватит)
собрать тикеты и отсортировать по возрастанию
одномерного массива хватит)
собрать тикеты и отсортировать по возрастанию
А не приходилось видеть, что бы тикеты шли не по возрастанию?
В том смысле, что в самом эмкуле нет такого.
Для написания своей функции сортировки надо писать свой дочерний класс, потом еще с типом заморачиваться. Оно кому-то надо? Да еще и справка по этой стандартной библиотеке - никакая.
Все верно, и для решения конкретно этой задачи - сойдет.
Но универсальность и расширяемость решения - весьма и весьма низкая. Перебор ордеров по различным ключам - это очень востребованная фича во всех экспертах. Завтра тебе потребуется добавить полей, и искать внутри них, а у тебя уже код в ряде мест "завязан" на имеющийся массив - и что будешь делать ? Я не раз убеждался, что все эти "заморочки с дочерними классами" - потом очень выручают в ряде случаев.
одномерного массива хватит)
собрать тикеты и отсортировать по возрастанию
Верно заметили выше - нигде не прописано, что тикеты обязательно будут идти по возрастанию. Дмитрий правильно предложил вариант. Мне он не нравится исключительно из-за слабой расширяемости. А если модифицировать код не предполагается - он вполне себе хорош.
Все верно, и для решения конкретно этой задачи - сойдет.
Но универсальность и расширяемость решения - весьма и весьма низкая. Перебор ордеров по различным ключам - это очень востребованная фича во всех экспертах. Завтра тебе потребуется добавить полей, и искать внутри них - и что будешь делать ? Я не раз убеждался, что все эти "заморочки с дочерними классами" - потом очень выручают в ряде случаев.
Тут зависит от того, с какой стороны подойти к делу. Если с правильной, то всех этих заморочек нет. Даже вот эта сортировка по времени - редчайшая задача.
Тикеты же сами не появятся в этом массиве, значит его надо постоянно обновлять. Зачем делать два дела, если задачу модно решить сразу, при оно проходе по всем ордерам?