
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вот с чем я столкнулся, прямо сейчас… Ещё не дописал что хотел…
Переписываю мультивалютник. Было: все параметры позиций записаны в массив структур. Ну, крайне неудобно. Теперь переписываю с помощью Артёма Тришкина, вместо массива структур применяю список объектов. Соответственно без классов это сделать вообще никак… Так вот в массиве структур надо в цикле искать нужную запись. А в списке объектов просто как в отсортированном массиве
Всё! Рыбка поймана, делай с ней что пожелаешь. Удобно…
Есть конечно варианты сортировки структур, но………… мне не нравится.
потом будешь обратно переписывать :-)
по скорости List vs Array , список проигрывает катастрофически. А без скорости начнутся реквоты и проблемы
Поставьте мне напрямую задачу, сделать код без классов и сделать тот же код с задействованием классов. Я хочу увидеть полезность этого на живом примере.
потом будешь обратно переписывать :-)
по скорости List vs Array , список проигрывает катастрофически. А без скорости начнутся реквоты и проблемы
Вообще-то, зависит от того, для чего использовать.
Если только добавление в конец, удаление с конца и произвольный доступ к элементу, то да, std::vector.
А вот теперь делаем постоянную вставку/удаление в произвольном места достаточно большого массива немаленьких структур, да еще с нетривиальным конструктором перемещения. Упс однако получится, а я еще добавлю свой аллокатор для std::list, что бы оптимизировать работу с кучей и порву по скорости std::vector в этом кейсе, как тузик грелку.
PS. Правильный выбор контейнера - наше все.
PSS. Писано в контексте С++, но к mql это все тоже относится
Вынес вопрос в отдельную тему, ибо подобные вопросы ещё будут.
Программирую на MQL4 уже 18 лет. Я не могу найти применения такой вещи, как класс. Вразумите меня глупого, где это можно применить в MQL? Какая в этом необходимость?
Берём Delphi. Есть такой класс в нём, как кнопка. Да, согласен, можно перетащить его на форму и задействовать наследование. Н это Делфи. Где в MQL применимы классы и какая в них необходимость? Наверно я что-то не знаю.
Открываю чужой код на mql и, первое что вижу, 100-200 переменных на глобальном уровне, половина из них массивы и далее 10000 строк switch/case внутри OnTick. Закрываю чужой код со словами "занимайтесь рукоблудием сами". Ну не поддерживается такой код. Не потому, что невозможно или как-то по особенному сложно, а потому, что это становится ДОЛГО == ДОРОГО. Там где я, в чужом, но с продуманной архитектурой, коде разберусь за день, а через неделю он мне как свой будет, в портянке это станет неделя/месяц.
И да, неожиданно, без ООП, функционального программирования и шаблонов, хорошая архитектура не поручается. Слова о том, что не все понимают магию шаблонов, лямбды всякие (я про плюсы сейчас), упаси господи SFINAE (это опять про плюсы), RAII (это уже и про mql тоже) и прочих плюшек в виде виртуальных функций, множественного наследования и тп, является не поводом говорить, что это не нужно, а поводом дать звездюлей той части команды, которая начала ныть и установить им срок поднятия скиллов)))
магию шаблонов, лямбды всякие (я про плюсы сейчас), упаси господи SFINAE (это опять про плюсы), RAII (это уже и про mql тоже) и прочих плюшек в виде виртуальных функций, множественного наследования
Вот где бы про это доходчиво почитать?
Открываю чужой код на mql и, первое что вижу, 100-200 переменных на глобальном уровне, половина из них массивы и далее 10000 строк switch/case внутри OnTick. Закрываю чужой код со словами "занимайтесь рукоблудием сами". Ну не поддерживается такой код. Не потому, что невозможно или как-то по особенному сложно, а потому, что это становится ДОЛГО == ДОРОГО.
Все, что нужно знать о заказах на модификацию существующего кода на местном фрилансе и о том, почему я (как и многие другие) игнорирую/отклоняю их все😄
Челы тупо пишут на скорость абы как и через время сами не могут справиться со своими портянками, судя по всему.
[edit]
А код с продуманной архитектурой почти не встречается в подобных заказах, так как сам автор продолжает его поддерживать и добавлять функционал. Для этого ведь и нужна продуманная архитектура.
Где в MQL применимы классы и какая в них необходимость?
Вот где бы про это доходчиво почитать?
Это IT, тут все сам больше) Либо понял, либо нет. Можно до дыр зачитать какой-нибудь "modern C++", ту же "банду четырех", cppreference наизусть выучить, но не хрена не понять.
Мое мнение. Тут как с любым делом. Если мозги под это заточены, то документации достаточно, ну и в полглаза на хабре или на том же stackoverflow подсмотреть, а если нет, то и не надо мучаться. Я же не делаю себе ремонт сам, так как прекрасно знаю, что руки не заточены под это, да и желания их прямить нет))) Так же и тут)
Вынес вопрос в отдельную тему, ибо подобные вопросы ещё будут.
Программирую на MQL4 уже 18 лет. Я не могу найти применения такой вещи, как класс. Вразумите меня глупого, где это можно применить в MQL? Какая в этом необходимость?
Берём Delphi. Есть такой класс в нём, как кнопка. Да, согласен, можно перетащить его на форму и задействовать наследование. Н это Делфи. Где в MQL применимы классы и какая в них необходимость? Наверно я что-то не знаю.