PLO

 

请不要踢我,用你的手指解释一下什么是OOP以及如何准备它。

我希望能听到MKL5的创造者和程序员们的回答,他们要求在MKL5中实现OOP。

至于它的速度加快或减慢。从表面上看,MKL5是一个资源消耗者,与MKL4相比,速度没有增加。

我希望看到性能提高的具体例子。

 
Serj_Che:

请不要踢我,用你的手指解释一下什么是OOP以及如何准备它。

我希望能听到MKL5的创造者和程序员们的回答,他们要求在MKL5中实现OOP。

至于它的速度加快或减慢。从表面上看,MKL5是一个资源消耗者,与MKL4相比,速度没有增加。

我希望看到性能提高的具体例子。

请看这篇文章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:
嗯,就我的理解,OOP允许你在程序中创建更复杂的算法。

复杂的算法并不意味着有效的算法。

要进入一所房子,你可以通过门,或通过窗户,或通过烟囱进入。

这就是为什么我要求提供例子(最好是交易的例子,而不是俄罗斯方块的例子)。

 

尝试阅读这些文章

我读过了,很有帮助。

 

当然,OOP并不是万能的。

这将会占用更多的资源

因为它加载了整个对象

在结构化编程中,编译器会丢弃不使用的函数

因此,与结构化编程不同,基础编程有其自身的优势

一般来说,OOP允许你创建一个结构来存储具有特定方法的数据。

当然,这一切为基本的编程和结构提供了许多可能性。

但这取决于每个人决定采取何种方法。

 
CoreWinTT:

尝试阅读这些文章

阅读有帮助。

我有。它没有。

这就是为什么我问OOP是否对交易有用,而不是对俄罗斯方块有用。我没能找到任何例子。

 
Serj_Che:

阅读。这并没有什么帮助。

这就是为什么我问OOP在交易方面是否有什么用处,而不是在俄罗斯方块方面。我找不到任何一个例子。

OOP并不能提高性能。它的用处--例如,有一些函数用一些参数调用(比方说EMA计算),该函数使用一个静态变量来存储之前的EMA值。由于该函数存储了用于计算的最后一个值,所以在下次调用该函数 时不能用其他参数(符号、时间框架、平滑期)来调用,因此,如果需要用不同的参数来调用该函数,有必要用不同的名称来复制它,或者使用通过引用传递的全局变量而不是静态的。这是唯一一种使用对象更方便的情况--你加载一个对象实例,设置其参数,然后调用不带参数的方法。如果对象包括一些方法,这些方法的执行不依赖于以前的执行,或者一般来说,不依赖于加载对象的任何参数,那么除了消耗资源之外,它不会产生任何问题。

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

请不要踢我,用你的手指解释一下什么是OOP以及如何准备它。

希望能听到MKL5的创作者和程序员要求在MKL5中实现OOP的答案。



因此,关于OOP的一些情况(我在我的手指上解释,因为我可以)...

OOP(面向通用编程)--一种编程范式,其中的基本概念是对象和类的概念。

就MQL5而言,OOP的基本要素是:结构、(有自己的属性和方法)、对象 和事件。

无论用哪种语言进行编程,都有必要了解(像祈祷或乘法表一样)以下概念:数据抽象封装继承多态性

标准的MQL5库目前包括以下交易类CAccountInfoCSymbolInfoCOrderInfoCHistoryOrderInfoCPositionInfoCDealInfoCTrade

据我所知,开发人员将扩大标准库的对象列表(没有人禁止形成自己的对象类库)。

Serj_Che:

它是加快了工作速度还是减慢了速度。乍一看,MKL5是一个资源消耗者,与MKL4相比,速度没有任何提高。

我希望看到性能提高的具体例子。

如果即使MQL4实现了(某种奇迹)MQL5已经允许的一半,它所消耗的资源将比你预期的多100倍(虽然看起来很奇怪)。我指的是这里纯粹的MQL4,没有第三方DLLs和其他程序的调整...

实际上,在MQL5中实现的OOP(连同终端本身的资源)会使操作速度大大增加,使用正常的方法。

 
Serj_Che:

阅读。这并没有什么帮助。

这就是为什么我问OOP是否有用于交易而不是用于俄罗斯方块的用途。我找不到任何一个例子。

我认为MACD Sample.mq5Moving Average.mq5 不再是TARGET专家的例子了(顺便说一句,没有人应该责怪俄罗斯方块,它是一个与对象 合作的好例子)?而且,基地里似乎不再有两个EA了......