Обсуждение статьи "MQL5 для "чайников": Как проектировать и конструировать классы объектов" - страница 5

Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
... Помогите разобраться.
А Вы попробуйте генетические алгоритмы переписать в стиле ооп. Они так и просятся туда.
Кроме того, в чужом коде лень ковыряться, а вот в своём нет. Начните и у Вас всё получится, а за одно и сравните быстродействие обоих вариантов. По моей обрывочной статистике, ооп замедляет работу программ.
Всё же, я не вижу плюсов от использования ООП. Может быть, это мешает понять мне, что за звери такие "классы".
То, что Вы сказали, можно оформить в виде отдельных функций. Или не всё? Я не придираюсь, прошу понять меня правильно - пытаюсь понять принципы ООП.
Хотелось бы увидеть на конкретных простых примерах разницу в скорости работы соответствующим образом оформленных кодов (с ООП и без), и преимущества ООП в плане простоты организации проектов.
Странно слышать от разработчика с вашими навыками вопросы по ООП ;-). Наверно Вы шутите. Разумеется, можно обойтись без ООП и все реализовать функциями. Но это просто менее удобно с человеческой точки зрения - развивать и сопровождать. Скорость работы самой программы от ООП не увеличивается.
Если продолжить тот же пример с классами стратегиями, предположим есть фрагмент кода, который должен открытые позиции в соответствии с их стратегиями тралить. Если реализовывать на функциях, получим что-то вроде:
А если с использованием ООП:
Налицо преимущества: запись компактная и понятная, в случае добавления новых типов стратегий данную часть кода не прийдется менять, не надо передавать (потенциально кучу) параметров или же объявлять вместо них глобальные переменные, массивы, которые можно ненароком попортить из других участков кода...
В общем, книжек же вроде много по этому поводу. Или суть вопроса в другом?
А Вы попробуйте генетические алгоритмы переписать в стиле ооп. Они так и просятся туда.
После написания статьи от администрации было предложение/просьба переписать с ООП. Я честно признался, что не "шарю". Разрешили опубликовать как есть.
Пробую. Пока не получается. Когда переделаю, код с ООП и документацией будет добавлен к статье.
DC2008:
Начните и у Вас всё получится, а за одно и сравните быстродействие обоих вариантов. По моей обрывочной статистике, ооп замедляет работу программ.
Ну вот, Вы подтверждаете моё мнение о меньшем быстродействии кода с ООП. По своему опыту работы совместно с разработчиками, владеющими знанием ООП, быстродействие снижается весьма значительно - до двух раз (сравнивали мой код и код партнера, выполняющий туже задачу).
Странно слышать от разработчика с вашими навыками вопросы по ООП ;-). Наверно Вы шутите.
К сожалению, не шучу. Да, дорос до размера мамонта. Теперь пытаюсь избавится от атавизмов - шерсти.
marketeer:
Разумеется, можно обойтись без ООП и все реализовать функциями. Но это просто менее удобно с человеческой точки зрения - развивать и сопровождать.
Да, хочется "гибкости". Поэтому и интересуюсь.
marketeer:
..............
В общем, книжек же вроде много по этому поводу. Или суть вопроса в другом?
Видимо, не улавливаю какую то тонкость. :(
Ну да ладно. Одолею и эту маленькую стенку на своем пути. :)
Начал изучать классы. Наткнулся эту статью. Да, да мне нужно именно такой простенький интерфейс вставить в мой советник. Хотел на файлики автора взглянуть, а там пусто... :-( точнее в папке masterwindows-doc.zip, пустой файл справки MasterWindows-Doc.chm Очень жаль! Может быть уже всё о чём говорилось в этой статье уже давно устарело?
Проверил. Файл в порядке.
На всякий случай вставлю сюда.
Проверил. Файл в порядке.
На всякий случай вставлю сюда.
При попытке скомпилировать MasterWindows жалуется "'CMasterWindowsEXE::Run' - cannot call protected member function ClassMasterWindows.mqh" на строку "WinEXE.Run()". Подскажите как бороться?
Библиотека MasterWindows доступна в CodeBase. Там же есть примеры использования этой библиотеки в панелях [1, 2, 3].
Попробуйте скомпилированный файл.
Сергей здравствуйте !
... скачал ваш скомпилированный файл (из поста #4) для ознакомления с возможностями ... закинул его в в папку \MQL5\Experts , но он НЕ НАНОСИТСЯ на график (!) :(
Рекомендую обновить MasterWindows. Теперь одновременно генерируются два файла: советник и индикатор.
... скачал из этого поста ... при компиляции выдаёт ошибки :