请不要踢我,用你的手指解释一下什么是OOP以及如何准备它。
我希望能听到MKL5的创造者和程序员们的回答,他们要求在MKL5中实现OOP。
至于它的速度加快或减慢。从表面上看,MKL5是一个资源消耗者,与MKL4相比,速度没有增加。
我希望看到性能提高的具体例子。
![Написание советника в MQL5 с использованием объектно-ориентированного подхода Написание советника в MQL5 с использованием объектно-ориентированного подхода](https://c.mql5.com/36/1/napisanie-sovetnika-v-mql5-s-ispolzovaniem.png)
- 2010.07.12
- Samuel
- www.mql5.com
我告诉过你不要踢我,再看看我的帖子。
P.S. 我做了,但我仍然不知道有什么意义。
嗯,就我的理解,OOP允许你在程序中创建更复杂的算法。
复杂的算法并不意味着有效的算法。
要进入一所房子,你可以通过门,或通过窗户,或通过烟囱进入。
这就是为什么我要求提供例子(最好是交易的例子,而不是俄罗斯方块的例子)。
尝试阅读这些文章
我读过了,很有帮助。
当然,OOP并不是万能的。
这将会占用更多的资源
因为它加载了整个对象
在结构化编程中,编译器会丢弃不使用的函数
因此,与结构化编程不同,基础编程有其自身的优势
一般来说,OOP允许你创建一个结构来存储具有特定方法的数据。
当然,这一切为基本的编程和结构提供了许多可能性。
但这取决于每个人决定采取何种方法。
尝试阅读这些文章
阅读有帮助。
我有。它没有。
这就是为什么我问OOP是否对交易有用,而不是对俄罗斯方块有用。我没能找到任何例子。
阅读。这并没有什么帮助。
这就是为什么我问OOP在交易方面是否有什么用处,而不是在俄罗斯方块方面。我找不到任何一个例子。
OOP并不能提高性能。它的用处--例如,有一些函数用一些参数调用(比方说EMA计算),该函数使用一个静态变量来存储之前的EMA值。由于该函数存储了用于计算的最后一个值,所以在下次调用该函数 时不能用其他参数(符号、时间框架、平滑期)来调用,因此,如果需要用不同的参数来调用该函数,有必要用不同的名称来复制它,或者使用通过引用传递的全局变量而不是静态的。这是唯一一种使用对象更方便的情况--你加载一个对象实例,设置其参数,然后调用不带参数的方法。如果对象包括一些方法,这些方法的执行不依赖于以前的执行,或者一般来说,不依赖于加载对象的任何参数,那么除了消耗资源之外,它不会产生任何问题。
![Документация по MQL5: Основы языка / Функции / Вызов функции Документация по MQL5: Основы языка / Функции / Вызов функции](/i/community/logo_mql5_small.png)
- www.mql5.com
请不要踢我,用你的手指解释一下什么是OOP以及如何准备它。
希望能听到MKL5的创作者和程序员要求在MKL5中实现OOP的答案。
因此,关于OOP的一些情况(我在我的手指上解释,因为我可以)...
OOP(面向通用编程)--一种编程范式,其中的基本概念是对象和类的概念。
就MQL5而言,OOP的基本要素是:结构、类(有自己的属性和方法)、对象 和事件。
无论用哪种语言进行编程,都有必要了解(像祈祷或乘法表一样)以下概念:数据抽象、封装、继承 和多态性。
标准的MQL5库目前包括以下交易类:CAccountInfo、CSymbolInfo、COrderInfo、CHistoryOrderInfo、CPositionInfo、CDealInfo 和CTrade。
据我所知,开发人员将扩大标准库的对象列表(没有人禁止形成自己的对象类库)。
Serj_Che:
它是加快了工作速度还是减慢了速度。乍一看,MKL5是一个资源消耗者,与MKL4相比,速度没有任何提高。
我希望看到性能提高的具体例子。
如果即使MQL4实现了(某种奇迹)MQL5已经允许的一半,它所消耗的资源将比你预期的多100倍(虽然看起来很奇怪)。我指的是这里纯粹的MQL4,没有第三方DLLs和其他程序的调整...
实际上,在MQL5中实现的OOP(连同终端本身的资源)会使操作速度大大增加,使用正常的方法。
请不要踢我,用你的手指解释一下什么是OOP以及如何准备它。
我希望能听到MKL5的创造者和程序员们的回答,他们要求在MKL5中实现OOP。
至于它的速度加快或减慢。从表面上看,MKL5是一个资源消耗者,与MKL4相比,速度没有增加。
我希望看到性能提高的具体例子。