从头开始自学MQL5语言 - 页 27

 
Vasiliy Sokolov:

这是真空中的球形马,不是工作中的EA流程图。有些区块可能根本就不存在。块状物可以被重新排列。任何MCL程序都是一个事件处理程序。这是计划中没有的主要假设,这意味着它误导了读者。我给你的建议是:不要读这些老东西。科瓦列夫的教科书已经过时了。其中的许多信息是不正确的,特别是关于MT5的订单系统。科瓦列夫基本上提出要记住这个荒谬的方案,然后记住事件集,然后在地球仪上拉出猫头鹰:据说这个方案是在专家顾问程序中实现的。MKL中没有任何计划。有典型的使用交易环境的模式。但没有普遍的计划,必须理解和记住。所有的 "计划 "都是用函数和这些函数对事件的反应组成的。此外,还有一些数据是要求...又是通过函数。

恕我直言。那里没有这种东西。只是学生们明白,这是一个教育性的专家顾问,不允许使用它进行交易。而为了交易,你必须学习交易策略...但这是在学习语言之后。顺便说一句,这个解释很好,很清楚。我们在这里经常错过的,特别是在kodobase的评论中。有时很难理解什么是书面))))。我同意,好的代码中没有这种东西)

 
MrBrooklin:

在谢尔盖-科瓦廖夫的MQL4教科书中,我找到了我要找的东西。以下是本书的摘录:"简单专家顾问的结构 。下面是一个简单的专家顾问的基本结构,基于几个功能块,每个功能块执行某个独立的计算部分"。


在这方面,我需要一些专家的建议,这个框图是否适用于在MQL5中编写专家 顾问,或者我应该添加一些其他的块?

最好的问候,弗拉基米尔。

是的,这个计划将适合你。它是简单而有序的。一旦你掌握了这门语言,你可以根据自己的需要复杂化/改变/增加区块,但你可以从这个开始。正确的计划。
 
Vasiliy Sokolov:

这是真空中的球形马,不是工作中的EA流程图。有些区块可能根本就不存在。块状物可以被重新排列。任何MCL程序都是一个事件处理程序。这是计划中没有的主要假设,这意味着它误导了读者。我给你的建议是:不要读这些老东西。科瓦列夫的教科书已经过时了。其中的许多信息是不正确的,特别是关于MT5的订单系统。科瓦列夫基本上提出要记住这个荒谬的方案,然后记住事件集,然后在地球仪上拉出猫头鹰:据说这个方案是在专家顾问程序中实现的。MKL中没有任何计划。有典型的使用交易环境的模式。但没有普遍的计划,必须理解和记住。所有的 "计划 "都是用函数和这些函数对事件的反应组成的。此外,还有一些数据是要求...又是通过函数。

我不明白你的批评。该计划是合乎逻辑的,所有的行动都是按顺序排列的。让人们了解到EA的 正确结构。当然,你可以把东西混在一起,删掉一些东西,增加一些东西,但这样一个程序的稳定性会受到极大的影响。总的来说,我不认为这个计划有什么可抱怨的。
 
Реter Konow:
我不理解你的批评。该计划是合乎逻辑的,所有的行动都是按顺序排列的。让人们了解到EA的正确结构。当然,我们可以把东西混在一起,扔掉一些东西,但这个项目的稳定性将发生巨大的变化。总的来说,我不认为该计划有什么可抱怨的。

好的,好的。让我试着解释一下。

1)这里有一个方案。给出了一些块(什么是块,适用于mql程序,没有解释。也许它是一个函数,也许是一组程序,也许是其他东西,但好吧,让我们直观地理解什么是与作者同一水平的块)。

2) 这些区块从程序的开始到结束形成了一条链。在某些区块中,程序执行 链被分为两个(但是,顺便说一下,为什么只有两个? 三个不能分为四个吗? 如果需要四个,如何在图中显示? 我们要不要改成A1格式?)。 显然,这是一种显示分支的方法

3)有一些非常奇怪的块,如 "消息",这是什么块?可能是程序发出的某种通知,说没有合适的条件:每打一个勾就会有一条信息:"太贵了,买不起,太贵了......"。- 当然很酷,但这都是猜测。

4) 最奇怪的块,是 "错误处理 "块。你可以进入它,但你无法摆脱它。该程序捕捉到一个错误,并坐在这个块中(可能挂起,直到完全重启,甚至更好,使终端永久挂起,什么也不会做更多的错误 - 这是想法!)。

5) 如果我们第一次启动程序,或者账户中没有未结头寸,那么订单关闭块会做什么?没有什么。但这一逻辑方案仍应使我们到达订单关闭区。我们到达那里是因为这个计划是严格的、分层次的。所有的区块都必须一个一个地处理,即使这是毫无意义的、无情地处理一个空的位置列表。

6) 订单价值计算块被置于订单关闭块的下方。怎么可能呢?也许我们根据一个订单的 "价值 "来关闭它。现在还不清楚这里发生了什么。

而我看着这个计划,并不真正理解我们如何能推荐这个 "东西 "被研究?它怎么能被认为是好的、伟大的和有教育意义的呢?

 
Vasiliy Sokolov:

好的,好的。让我试着解释一下。

1)这里有一个方案。给出了一些块(什么是块,适用于mql程序,没有解释。也许它是一个函数,也许是一组程序,也许是其他东西,但好吧,让我们直观地理解什么是与作者同一水平的块)。

2) 这些区块从程序的开始到结束形成了一条链。在某些区块中,程序执行 链被分为两部分(但是,顺便说一下,为什么只有两部分? 三部分不能分为四部分吗? 如果需要四部分,如何在图中显示出来? 我们应该改成A1格式吗?)。 显然,这是一种显示分支的方法

3)有一些非常奇怪的块,如 "消息",这是什么块?可能是程序发出的某种通知,说没有合适的条件:每打一个勾就会有一条信息:"太贵了,买不起,太贵了......"。- 当然很酷,但这都是猜测。

4)最奇怪的块,是 "错误处理 "块。你可以进入它,但你无法摆脱它。该程序捕捉到一个错误,并坐在这个块中(可能挂起,直到完全重启,甚至更好,使终端永久挂起,什么也不会做更多的错误 - 这是想法!)。

5) 如果我们第一次启动程序,或者账户中没有未结头寸,那么订单关闭块会做什么?没有什么。但这一逻辑方案仍应使我们到达订单关闭区。我们到达那里是因为这个计划是严格的、有层次的。所有的区块都必须一个一个地处理,即使这是毫无意义的、无情地处理一个空的位置列表。

6) 订单价值计算块被置于订单关闭块的下方。怎么可能呢?也许我们根据一个订单的 "价值 "来关闭它。现在还不清楚这里发生了什么。

而我看着这个计划,并不真正理解我们如何能推荐这个 "东西 "被研究?它怎么能被认为是好的、美妙的和有教育意义的呢?

好的。现在的批评更清楚了。好吧,在许多方面,如果你 "在放大镜下 "看,你可以同意,但这样做没有意义。初学者应该对最常见的、正确的(全局意义上的)EA构成有一个快速、概括和简化的概念。

一个区块是一个逻辑上孤立的条件、检查、功能和程序的集合。

程序块的设计实现了程序的正确执行。

为了不使学生感到困惑,图中没有显示块状链接的分支和深层层次结构。一切都被刻意简化了,从教学的角度看这是正确的。如果科瓦廖夫用20页的篇幅来描述可能的结构层次的 "画廊",会不会更好呢?可能终究还是不行......)但是,是的,事实上生活中的一切都比图上的更复杂、更多样。但你必须从一个简单的开始。
 
Реter Konow:
初学者必须对最常见和最正确(全局意义上)的EA构成有一个基本的、概括的和简化的概念。

啊哈,好吧,也就是说,在全球范围内,科瓦廖夫是对的,那么方案中的错误呢--初学者会明白这些错误在哪里,哪里画得正确。他是一个初学者,为的是得到顾问装置的概括性代表的本质。还有,什么是块,什么是箭头,为什么处理错误 后要冻结--初学者会用他的高智商来思考这个问题。

 
Реter Konow:
好的。现在的批评更清楚了。好吧,在许多方面,如果你 "在放大镜下 "看,你可以同意,但这样做没有意义。初学者应该对最普遍和最正确的(全球意义上的)EA构成有一个快速、概括和简化的概念。

一个区块是一个逻辑上孤立的条件、检查、功能和程序的集合。

块状结构实现了程序的正确执行。

为了不使学生感到困惑,图中没有显示块的分支和分层联系。一切都被刻意简化了,从教学的角度看这是正确的。如果科瓦廖夫用20页的篇幅描述一个可能的层次结构的 "画廊",会不会更好呢?可能终究还是不行......)但是,是的,事实上生活中的一切都比图上的更复杂、更多样。但你必须从一个简单的开始。

你好,彼得!我在总结所有信息的内容。在MQL5 编程语言中,没有明确定义的基本 算法来创建和执行一个程序(脚本、专家顾问)。所有的算法都有自己的独特性,不可能有所谓的 "内核",然后可以进行扩展。然后发现我的自学计划已经走到了死胡同?如 果有人注意到,我以前写的所有脚本都遵循一个复杂化方案,即从简单到复杂。从本质上讲,我需要打破在头脑中组织思想的概念。它是这样工作的吗?

尊敬的弗拉基米尔。

 
MrBrooklin:

你好,彼得!我将对所有信息进行总结。在MQL5 编程语言中,没有明确定义的基本 算法来创建和执行一个程序(脚本、专家顾问)。所有的算法都有自己的独特性,不可能有所谓的"内核",然后可以扩展。然后发现我的自学计划已经走到了死胡同?如 果有人注意到,我以前写的所有脚本都遵循一个复杂化方案,即从简单到复杂。从本质上讲,我需要打破在头脑中组织思想的概念。它是这样工作的吗?

尊敬的弗拉基米尔。

不,决不是。瓦西里的批评丝毫没有减弱EA计划的逻辑正确性。是的,你可以发现一些缺陷并 "理解 "它们,但总的来说,它是正确的,这是最重要的。这个计划将帮助你在到达目的地后开始编写自己的EA。总的来说,mql4和mql5之间没有区别。细节不同,但很容易理解。 继续像以前一样学习。
 
Vasiliy Sokolov:

啊哈,好吧,也就是说,在全球范围内,科瓦廖夫是对的,那么方案中的错误呢--初学者会明白这些错误在哪里,哪里画得正确。他是一个初学者,为的是得到顾问装置的概括性代表的本质。什么是块,什么是箭头,为什么处理完错误后要冻结--初学者会用他或她强大的思维去思考。

反正我们也没有更好的教科书,所以....。

小错误不是停止和 "粘 "在一起的借口,很多人都是这样做的。此外,你还忽视了材料表述的基本正确性,其中有大量的材料。
 
MrBrooklin:

你好,彼得!我将对所有信息进行总结。在MQL5 编程语言中,没有明确定义的基本 算法来创建和执行一个程序(脚本、专家顾问)。所有的算法都有自己的独特性,不可能有所谓的"内核",然后可以扩展。然后发现我的自学计划已经走到了死胡同?如 果有人注意到,我以前写的所有脚本都遵循一个复杂化方案,即从简单到复杂。从本质上讲,我需要打破在头脑中组织思想的概念。它是这样工作的吗?

尊敬的弗拉基米尔。

对了!每 个人都在努力学习编程,使用不正确的概念,基于生活经验的程序。例如,一个程序就像一本书中的一篇文章,有目录、引言、目录和结论。也就是说,该方案是一种从头到尾的顺序计划。在最初阶段,这种想法是可行的,但后来,随着程序变得越来越复杂,困难就出现了,无论如何也不可能写出一个可靠的工作程序。科瓦廖夫是一个非常善于提供看跌服务的人:他试图用他易懂的概念仪器向读者解释,该方案是同一本有这样那样的方案。但是,没有什么计划!脚本的 "方案 "与专家顾问根本不同,而专家顾问的方案也与指标不同。