新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 509

 
嗯,是的,这很明显,但这并不好。把输入参数放在一个类里是不好的。
 
Вадим Мотеюнас:

你好,请你告诉我,为什么在这个周期中,只有在下了限价单后,下一个柱状图没有下另一个限价单时,我的限价单才会被删除,也就是说,只有在下了限价单后,后面的两个柱状图没有限价单时,限价单才会被删除。

你在这里选择了哪个顺序?

for(i=0;i<=OrderTicket();i++)
 
Nikolay Gaylis:

那么你在这里选择了什么顺序呢?

我得到了这个错误,我也用一个变量ticket代替了OrderTicket(),OrderSend 被分配给了这个变量,它仍然没有删除任何东西,但我如何设置一个循环来浏览限价订单,并删除那些留在第2条杠上的订单?

 
Вадим Мотеюнас:

我看到了错误,我也用票据OrderSend代替了OrderTicket()的变量,它仍然没有删除任何东西,但我如何配置循环来浏览限价单并删除那些留在第2条上的订单?

这是最理想的,至少我是这样学习mql的

你在kodobase 中找到一个大约符合你要求的EA,看一下代码,如果代码很大,不清晰,就找下一个。

在你找到一个比较容易理解的代码后,你开始研究和编辑它,所以你很快就能理解它的工作原理了

MQL5 Code Base: Советники
MQL5 Code Base: Советники
  • www.mql5.com
В разделе торговых советников вы найдете множество приложений, автоматизирующих вашу аналитику и торговлю. Здесь вы найдете самые разные приложения, обладающие различными торговыми алгоритмами и предоставляющими различную степень автоматизации. Имеются как простенькие эксперты, так и сложные торговые роботы, способные полностью автоматизировать...
 
Juer:
嗯,是的,这很明显,但这并不方便。把输入参数塞进一个类里是不好的。

尽管如此,这些价值必须以某种方式到达那里))。毕竟,大多数情况下,类的工作是基于用户指定的值。但由于某些原因,你不想这样做。他们不会神奇地出现在那里。

通常情况下,在程序初始化阶段的输入参数被转移到一个特殊的结构中。大多数情况下,这些值都是经过预处理的(至少是检查过正确性的)。当一个新的类的实例被创建时,这个结构的一个引用被传递给它。这里有什么不便之处?

 
Ihor Herasko:

尽管如此,这些价值必须以某种方式到达那里))。毕竟,大多数情况下,类的工作是基于用户指定的值。但由于某些原因,你不想这样做。他们不会神奇地出现在那里。

通常情况下,在程序初始化阶段的输入参数被转移到一个特殊的结构中。大多数情况下,这些值都是经过预处理的(至少是检查过正确性的)。当一个新的类的实例被创建时,这个结构的一个引用被传递给它。这里有什么不便之处?

不方便的地方只是在每次创建对象 时需要传递这些值。他们每次都是一样的。好的,我将通过构造函数创建它,但它是一个私有的解决方案。默认构造函数对一个EA来说可能包含这些参数,而对另一个EA来说则完全不同。

也许解决方案是做一个完全不同的类,其方法将返回参数的值。那么我只需要初始化这个新类一次。而在原类中,当创建一个对象时(甚至在同一个构造函数中),要向新类请求参数值。

 
Juer:

唯一不方便的是每次创建对象 时都需要传递这些值。他们每次都是一样的。好吧,我将通过构造函数来做,但这是一个私人解决方案。一个EA的默认构造函数可能有这些参数,而另一个EA的默认构造函数则完全不同。

也许解决方案是做一个完全不同的类,其方法将返回参数的值。那么我只需要初始化这个新类一次。而在原类中,当创建一个对象时(甚至在同一个构造函数中),要向新类请求参数值。

似乎你英雄般地解决了发明的问题。
 
Artyom Trishkin:
你似乎是在英勇地解决一个被发明的问题。
我没有仔细阅读问题的内容,但有一点让我印象深刻,那就是我踩到的是同一个耙子,你帮我把它弄开了。不是吗?
 
Alexey Viktorov:
我没有仔细阅读问题的内容,但有一点让我印象深刻,那就是我所踩的是同一个耙子,你帮我把它弄开了。不是吗?
并非如此。你没有欲望去初始化虚空。
 
Artyom Trishkin:
听起来你好像在英勇地解决一个发明的问题。

是的,这就是我上面建议的,事实上,你的结构也是这样的,只是更复杂。

-> 而在源类中,当创建一个对象 时(甚至在同一个构造函数中),从新类中请求参数值。

但一般来说,我必须把这个辅助类的引用传递给源类。简而言之,是的,与结构相同。

创建一个容器类,通过它来进一步创建所有这些对象。然后这些参数可以在这个容器类中被初始化一次。这就是我想我要做的。

原因: