任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 885

 
AlexeyVik:

请原谅我的坚持,但我想了解,如果你像我一样讲英语,为什么你不想使用口译员。

这就是这个警告的意思。

更具体地说,OrderClose()函数如果成功执行会返回true,如果失败会返回false,所以 你必须检查它...如果该函数被成功执行

还有,为什么你认为警告与列表中的订单号有某种联系?我不明白...

好吧,我可以在没有任何人帮助的情况下处理英语,但我不知为何不能用mql4来做。我如何检查成功--不成功,什么功能或其他什么?而与票号相关联的不是警告,我的搜索功能检查,在不了解本质的情况下进行。

 
rapid_minus:

好吧,我可以在没有任何帮助的情况下处理英语,但mql4就不那么好了。解释一下如何检查成功--不成功,是什么功能还是什么?这不是一个警告,是我在没有理解其本质的情况下寻找功能检查。


这一点也不好。弗拉基米尔,你引用了一句话,其中包含了对你的问题的明确和清晰的答案;并且你立即重复了这个问题,责备回答者。

" ...OrderClose()函数如果执行成功会返回true,如果不成功会返回false,这就是你需要检查的...函数是否执行成功..."

现在不正是开始考虑这个问题的时候吗?

 
tara:

Bzzzzz...好吧,你只是让我学习mql4。

我没有给自己设定这样的目标。我的任务是纯粹的本地任务--以我自己的策略编写一个有效的EA,只在最低要求的范围内学习语言。在阅读了各种论坛上的很多帖子后,我对这项任务的现实性更有信心了,因为我看到很多交易者用mql编写EA,而自己却连俄语都不懂。

但我看到,在这个主题中,专家们并不想帮忙,而是想强迫我学习语言。不是像宣称的那样:"任何问题......",而是:"不要问愚蠢的问题"。即使是在教科书或参考书的某一章节或解决该问题的例子上打探消息,也不配做伟大的教师。

我想你有点误会了--新人来这里不是为了崇拜你,为你的知识鼓掌。

你不必成为一个空手道战士来保护青少年免受欺凌,你只需要知道一两件事。

ZS:实际上,我的印象是,你自己要回答这个问题,你需要在教科书中寻找,但不想......。

而且,上帝禁止我在这里责备任何人。我只是在陈述我的观点。 谢谢你在我身上浪费你的时间。

 

我不得不自己钻研文件,以了解这些难以理解的...

文档中仍有旧的例子。

一般来说:如果一个函数返回一些值,那么这个值必须被分配给一个适当类型的 变量,并且这个变量的值必须被检查。

它是这样的。

bool res;

res = OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), 40);
if(!res) Print("нихрена ордер не заерылся. Ошибка ", GetLastError());
 
AlexeyVik:

我不得不自己钻研文件,以了解这些难以理解的...

文档中仍有旧的例子。

一般来说:如果一个函数返回一些值,那么这个值必须分配给一个相应类型 的变量,并且这个变量的值必须被检查。

它是这样的。

多回来看看。问题会更少。更好的知识将出现在那里。
 
AlexeyVik:

我不得不自己钻研文件,以了解这些难以理解的...

文档中仍有旧的例子。

一般来说:如果一个函数返回一些值,那么这个值必须分配给一个相应类型 的变量,并且这个变量的值必须被检查。

它看起来像这样。

bool res;

res = OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), 40);
if(!res) Print("нихрена ордер не заерылся. Ошибка ", GetLastError());

为什么会有一个额外的变量?直接检查的效果很好。

if(!OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), 40)) Print("нихрена ордер не заерылся. Ошибка ", GetLastError());
当你想从程序的不同点看到一个函数的值时,应该创建一个变量,这样你就不必多次调用它。
 
evillive:

为什么会有一个额外的变量?直接检查的效果很好。

当必须从程序中的不同点看到一个函数的值时,就必须创建这个变量,这样就不必多次调用它。

哦,我的天啊!这样的辩论,还要求我 "思考到重点"...

我已经修复了错误,编译时给出了0个错误信息,0个警告,但还有一个问题(或者说是两个问题):当我第一次有机会开单时,它们就不停地开,直到资金耗尽,然后,当关闭条件到来时,它们全部关闭,没有新的订单打开,尽管关闭的订单最终会带来利润。

 
rapid_minus:

哦,我的天啊!这样的辩论,要求我 "刨根问底"......

我修复了错误,编译后给出了0条错误信息和0条警告,但还有一个问题(或者说是两个问题):当我第一次有机会开出订单时,它们不停地开出,直到我用完钱,然后,当订单关闭时,它们全部关闭,没有新的订单开出,尽管关闭的订单最终给出了利润。

有几种方法来限制订单的数量。

1)按数量计算 - 计算已经开出的订单数量,并与用户设定的数量进行比较,如果已经设定了开出的订单数量,那么就不应该再开出订单。

2)按时间计算--考虑自上一次开单以来已经过去的时间,如果过去的时间少于指定的时间,则不要交易

3) 按前一个订单的开盘价到当前市场价格(或挂单的计算价格)的距离,以点为单位;如果距离较小,不要交易。

通常会使用这些限制的不同组合。

 
evillive:

有几种方法来限制订单的数量。

1)按数量计算 - 计算已经打开的订单数量,并与用户设定的数量进行比较,如果打开的数量与设定的一样多,就不要再打开。

2)按时间计算--考虑自上一次开单以来已经过去的时间,如果过去的时间少于指定的时间,就不要交易。

3) 按前一个订单的开盘价到当前市场价格(或挂单的计算价格)的距离,以点为单位;如果距离较小,不要交易。

通常会使用这些限制的不同组合。

谢谢你,我将尝试设置数字1。
 

什么是...

...都已关闭,没有新的订单...应
根据策略的条件,在每个新的条形图(开盘时)至少检查一次新交易时段 的可能性,或者在每个tick上都要检查。