关于OOP的一个应用 - 页 5

 
Dmitry Fedoseev:

如果你每次都这样写,会有什么不同吗。

SymbolInfoDouble(Symbol(),SYMBOL_ASK) 

或像这样。

s.Ask() 

?

这两者之间有什么区别吗?

a<- b

и

for(i = 1; i < 1000; i++)

{

a[i] = b[i]

}

还有更多有趣的,比如说。

c <- b*a

其中所有的标识符都是矩阵,这个矩阵操作是使用Windows最有效的代码进行的。

??????

这并不是说

当MQL4是一种在简单性和可能性之间取得完美平衡的语言时,很多编码员开始讨论所有的 "好东西",他们就是无法安定下来。就这样,他们得到了这个混蛋和损失的发生。

 
СанСаныч Фоменко:

这两者之间有什么区别吗?

a<- b

и

for(i = 1; i < 1000; i++)

{

a[i] = b[i]

}

还有更多有趣的,比如说。

c <- b*a

其中所有的标识符都是矩阵,这个矩阵操作是使用Windows最有效的代码进行的。

??????

这并不是说

当MQL4是一种在简单性和可能性之间取得完美平衡的语言时,很多编码员开始讨论所有的 "好东西",他们就是无法安定下来。就这样,他们得到了这个混蛋和损失的发生。

比较用矩阵和数字操作的语言是不正确的。
 
СанСаныч Фоменко:

这两者之间有什么区别吗?

a<- b

и

for(i = 1; i < 1000; i++)

{

a[i] = b[i]

}

还有更多有趣的,比如说。

c <- b*a

其中所有的标识符都是矩阵,这个矩阵操作是使用Windows下最有效的代码进行的。

??????

这并不是说

当MQL4是一种在简单性和可能性之间取得完美平衡的语言时,很多编码员开始讨论所有的 "好东西",他们就是无法安定下来。所以他们得到了一个混蛋和大量的损失。

过去的东西,都还在。你不想这样,就不要使用OOP。你可以不碰巴解组织,不考虑它,像以前一样生活。

在你的 "与<- b*a "开仓前,仍然需要进行一些操作,如果你使用OOP进行操作,生活会变得更加愉快和有趣。

你为什么不向R或matlab的创造者抱怨,不可能从这些程序中开仓,而且一般来说,它们与交易的执行没有直接联系?你可以用同样的方式进入任何编程语言,几乎没有语言有矩阵等的动作。你在比较不同类别的事物。

 
Dmitry Fedoseev:

那里的东西,都在那里。你不想这样,就不要使用OOP。你不必接触OOP,你不必考虑它,你像以前一样生活。

在你开仓前 的 "与<- b*a "之后,还有一些动作需要执行,如果你用OOP执行这些动作,生活就会变得更愉快,更有乐趣。

你为什么不向R或matlab的创造者抱怨,不可能从这些程序中开仓,而且一般来说,它们与交易的执行没有直接联系?你可以用同样的方式进入任何编程语言,几乎没有语言有矩阵等的动作。你在比较不同类别的事物。

让我补充一下,使用OOP,如果有必要,你可以创建一个CMatrix类,实现矩阵操作,并在其中重写+ - * / =。

而一切都会像这样简单。我甚至不需要创建一个CMatrix,一切都已经在任何一个库中实现了。

CMatrix m1, m2;
// заполняем матрицы
CMatrix m3 = m1 + m2;

顺便说一句,我要让桑-萨尼奇不高兴了))。亲爱的先生,你知道你最喜欢的R也有两个OOP系统吗?))))))))只是不要因悲伤而醉倒 ))

R.这种用于统计数据分析的语言也有2个面向对象的编程系统,S3和S4。两者都是继承自S语言(鉴于R是商业S语言的开源实现,这并不奇怪)。在大多数情况下,S4与现代主流语言的OOP实现是一致的。S3是一个较轻的变体,通过语言本身实现的基本功能:创建了一个通用函数,通过接收对象的 "类 "属性来分配请求。

 
Alexey Volchanskiy:

此外,使用OOP,如果有必要,你可以创建一个CMatrix类来实现矩阵操作,并在其中覆盖+ - * / =。

而一切都会变得一样简单。我甚至不需要创建CMatrix,一切都已经在任何一个库中实现了。

你可以,但SanSan8会回答说,这不会以最好的方式进行,在这个R中,SanSan8认为,这些矩阵操作是以最好的方式进行的,可能是通过纯汇编语言编码。

与R的区别是,在R中,一切都有现成的,你只需拿去使用,而在这里,你必须自己做一切。

 
Dmitry Fedoseev:
你可以,但SanSan8会回答说,这不会以最好的方式完成,就像在这个R中,SanSan8认为,这些矩阵操作是以最好的方式完成的,可能是通过在纯汇编程序上编码。

我对我之前的帖子进行了补充--原来R有OOP。(太可怕了))。

顺便说一句,我已经试过这个R--这是一个罕见的刹车。难怪--它是一个解释器。所以,没有阿斯姆。

 
Alexey Volchanskiy:

我对我之前的帖子进行了补充--原来R有OOP。(太可怕了))。

顺便说一句,我已经试过这个R--这是一个罕见的刹车。难怪--它是一个解释器。所以,没有阿斯姆。

如果你不知道如何烹饪猫,请保持沉默...

R.这种用于统计数据分析的语言也有2个面向对象的编程系统

那又怎样?那里面还有很多MQL没有的东西。那又怎样?

这不是问题的关键。一种语言相对于另一种语言的算法优势,在达到一定的能力门槛后,对学科领域来说根本不重要。

你在这里咀嚼编码员的口味,而我个人是为了贸易而来。

PS。

你的矩阵类将不得不使用英特尔的矩阵运算库,那么也许你会在这个问题上等于R。

 
Vasiliy Sokolov:

给你。标准库中交易类的层次结构。

这意味着资金管理模块 是一个专家顾问。追踪止损也是一个专家顾问。专家顾问包括其他专家顾问。这种不一致的继承性是由于跟踪止损和资金管理都需要访问基础专家顾问的一些私人数据和方法。

好吧,这只是一个考虑不周的阶级制度。

另一方面,我的专家顾问模板完全基于标准库类,我没有看到任何特别的问题。 专家顾问部件工厂的意识形态已经实现。对于类的使用者来说,编写EA就包括编写这个工厂,它可以创建一个输入、过滤器、SL-TP的定义器和TS的其他组件的生成器。

 
СанСаныч Фоменко:

曾经有MQL4--一种在简单性和功能之间完美平衡的语言,但是没有,一群编码员开始谈论 "好东西",并且无法安定下来。这就是我们得到的东西--一个混蛋和一个损失的LOSS。

我不明白的事...嗯,不要使用MQL5的创新,就是这样。

我非常喜欢继承和虚拟函数。但当我想匆忙地做一些简单的事情时--我不会使用它们。同时,当需要对复杂的数据进行复杂的处理时--用OOP可以更方便地完成,更重要的是--进一步的维护也非常容易。

 
George Merts:

我不明白...嗯,不要使用MQL5的创新,就是这样。

我非常喜欢继承和虚拟函数。但当我想匆忙地做一些简单的东西时--我不会使用它们。同时,当需要对复杂的数据进行复杂的处理时,使用OOP要方便得多,重要的是,进一步的维护也非常容易。

我完全同意你的观点,如果不是因为一个不愉快的情况:MQL根本没有对报价进行统计分析的工具。这在处理R时尤其明显。每件小事都需要编程。而在谈到模特时,我甚至沉默不语。

但这还不是全部。

外部库是被禁止的,因此R市场。如果没有这个限制,我就会在没有任何风险的情况下通过销售非常高质量的指标来发财。

但这还不是全部。

该网站有一群战斗的编码员,他们鹰派地认为这是一个编程网站,所以与交易有关的帖子是不合适的。

这就是OOP的背景。否则,这就是一个品味问题。