ООП

 

Прошу не пинать а объяснить на пальцах что за зверь ООП и как его готовить.

Надеюсь услышать ответ создателей МКЛ5 и программеров которые просили сделать ООП в МКЛ5.

Насколько это ускоряет работу или замедляет. На первый взгляд МКЛ5 это пожыратель ресурсов без увеличения скорости по сравнению с МКЛ4.

Хотелось бы увидеть конкретные примеры увеличения производительности. 

 
Serj_Che:

Прошу не пинать а объяснить на пальцах что за зверь ООП и как его готовить.

Надеюсь услышать ответ создателей МКЛ5 и программеров которые просили сделать ООП в МКЛ5.

Насколько это ускоряет работу или замедляет. На первый взгляд МКЛ5 это пожыратель ресурсов без увеличения скорости по сравнению с МКЛ4.

Хотелось бы увидеть конкретные примеры увеличения производительности. 

 ознакомтесь с этой статьей https://www.mql5.com/ru/articles/116
Написание советника в MQL5 с использованием объектно-ориентированного подхода
Написание советника в MQL5 с использованием объектно-ориентированного подхода
  • 2010.07.12
  • Samuel
  • www.mql5.com
Эта статья посвящена использованию объектно-ориентированного подхода для создания советника, рассмотренного в статье "Пошаговое руководство по написанию советников для начинающих". Большинство людей думают, что это сложно, но могу вас заверить, что после прочтения этой статьи вы сможете написать свой собственный советник на основе объектно-ориентированного похода.
 
sergey1294:
 ознакомтесь с этой статьей https://www.mql5.com/ru/articles/116

Я же просил не пинать, прочитайте еще раз мой пост.

P.S. Знакомился но так и не понял в чем фишка. 

 
Serj_Che:

Я же просил не пинать, прочитайте еще раз мой пост.

P.S. Знакомился но так и не понял в чем фишка. 

ну на сколько я понял ооп позволяет создавать более сложные алгоритмы в программе.
 
sergey1294:
ну на сколько я понял ооп позволяет создавать более сложные алгоритмы в программе.

Сложные алгоритмы это не значит  эффективные.

Чтобы попасть в дом - можно войти в дверь, или влезть через окно, или через трубу.

Поэтому и просил привести примеры (желательно для торговли а не для тетриса). 

 

попробуй статейки почитать 

читал помогает 

 

конечно ооп не панацея 

всетаки ресурсов жрать больше будет

поскольку загружает весь обьект

 

когда в структурном програмировании компилятор отбрасывает неиспользуемые функции

 

в ооп все таки отличие от структурного программирования есть свои прелести

 

в целом  ооп позволяет создавать структуру в который хранятся данные с определенными методами.

 и вся такое конечно многие возможности открывает ооп и отличие от структуры 

 

но какой подход использовать всетаки каждый будет рашать сам для себя 

 
CoreWinTT:

попробуй статейки почитать 

читал помогает 

Читал. Не помогает.

Поэтому и спрашиваю есть ли какая польза от ООП для торговли а не для тетриса. Ни одного примера не нашел.  

 
Serj_Che:

Читал. Не помогает.

Поэтому и спрашиваю есть ли какая польза от ООП для торговли а не для тетриса. Ни одного примера не нашел.  

 

Производительность OOP не увеличивает. Польза от него - например, есть какая-то функция, вызываемая с некоторыми параметрами (допустим расчет ЕМА), в функции используется статическая переменная для сохранения предыдущего значения EMA. Поскольку функция хранит последнее значение, на основе которого будут выполнятся вычисления, то при следующем вызове функции, ее уже нельзя вызывать с другими параметрами (символ, таймфрейм, период сглаживания), поэтому, если надо вызывать функцию с разными параметрами, надо сделать ее копию с другим именем или вместо статической переменной использовать глобальную передаваемую по ссылке. Это единственный случай, когда удобней использовать объект - загружается экземпляр объекта, устанавливаются ему параметры, а потом вызывается метод без параметров. Если же в объект включены методы, выполнение которых не зависит от предыдущих выполнений или вообще от каких либо параметров с которыми загружается объект, это ничего не дает, кроме потребления ресурсов.

Документация по MQL5: Основы языка / Функции / Вызов функции
Документация по MQL5: Основы языка / Функции / Вызов функции
  • www.mql5.com
Основы языка / Функции / Вызов функции - Документация по MQL5
 
Serj_Che:

Прошу не пинать а объяснить на пальцах что за зверь ООП и как его готовить.

Надеюсь услышать ответ создателей МКЛ5 и программеров которые просили сделать ООП в МКЛ5.



Итак, немного об ООП (объясняю на пальцах, как умею)...

Объе́ктно-ориенти́рованное программи́рование (ООП) - парадигма программирования, в которой основными концепциями являются понятия объектов и классов.

С точки зрения MQL5 основными элементами ООП являются: структуры, классы (имеющие свои свойства и методы), объекты и события.

В не зависимости от языка на котором ведется программирование необходимо знать (как молитву или таблицу умножения) следующие понятие: Абстракция данных, Инкапсуляция, Наследование и Полиморфизм

В стандартную библиотеку MQL5 в настоящий момент входят следующие торговые классы: CAccountInfo, CSymbolInfo, COrderInfo, CHistoryOrderInfo, CPositionInfo, CDealInfo и CTrade.

На сколько мне известно разработчики собираются расширять список объектов стандартной библиотеки (при этом никто не запрещает формировать свою библиотеку объектных классов).

Serj_Che:

Насколько это ускоряет работу или замедляет. На первый взгляд МКЛ5 это пожиратель ресурсов без увеличения скорости по сравнению с МКЛ4.

Хотелось бы увидеть конкретные примеры увеличения производительности.

На основании чего сделано такое заявление? если даже на MQL4 реализовать (каким-то чудом) половину от того, что уже позволяет MQL5, то он затратит ресурсов в 100 раз больше чем вы ожидаете (как это не странно). Тут я имею введу чисто MQL4, без сторонних DLL и прочего программного тюнинга...

По факту при нормальном подходе ООП реализованное в MQL5 (совместно с ресурсами самого терминала) дадут значительный прирост в скорости работы.

 
Serj_Che:

Читал. Не помогает.

Поэтому и спрашиваю есть ли какая польза от ООП для торговли а не для тетриса. Ни одного примера не нашел.  

MACD Sample.mq5 и Moving Average.mq5 уже перестали быть примерами ТОРУЮЩИХ экспертов (кстати, зря все на Тетрис накинулись, отличный был пример работы с объектами)? Да и в базе вроде экспертов не 2 уже...