程序库: MT4Orders - 页 57

 
Konstantin Kurkin : 如何处理错误 - GetLastError、ERR_INVALID_PRICE、ERR_PRICE_CHANGED、ERR_REQUOTE、ERR_OFF_QUOTES、ERR_TRADE_CONTEXT_BUSY - 常量未定义。

MT4ORDERS::LastTradeResult.retcode

 
Enrique Dangeroux:

在这种情况下,ORDER_TYPE_FILLING 是什么?

我通过 url 经纪人审查器进行交易。设置止盈时,默认值是ORDER_TYPE_FILLING== ORDER_FILLING_IOC。您的情况不应该发生在 IOC 上,对吗?

该案例之后有数以万计的交易,所以我不记得了。

 

MT4Orders.mqh

这个头文件在哪儿

 
MQLEA:

MT4Orders.mqh

这个头文件在哪儿

https://www.mql5.com/ru/code/16006

 

我发现了一个故障,或许是最近出现的--修改订单时出错。


如您所见,智能交易系统正试图修改买入订单,但却失败了,因为它发生在卖出区块中

附加的文件:
test.mq5  5 kb
 
Dmitiry Ananiev:

我发现了一个小问题,也许是最近出现的--修改订单时出错。

如您所见,智能交易系统正试图修改买入订单,但却失败了,因为它发生在卖出区块中

复制成功,谢谢。恭喜您,您找到了测试人员的错误!与库无关。

要修复这个测试人员的错误,我们需要为开发人员创建一个简洁明了、自成一体的代码。

错误代码

 

这就是我遇到的错误:


 
Konstantin Kurkin:

这就是我遇到的错误:

这里有很多关于它的文章。别理它。

 
// 更改列表:
// 06.12.2020
// 修复:现在会考虑 MT5 交易历史中错误的 SL/TP 执行记录。
// 添加:MT4ORDERS_TESTER_SELECT_BY_TICKET 宏强制 SELECT_BY_TICKET 仅通过 OrderTicketID() 在测试器中运行。


在 MT5 中,交易/头寸/订单票据可以匹配。在测试器中尤其容易遇到这种情况。

然而,使用 SELECT_BY_TICKET 通常是为了确定订单是否已关闭。在这种情况下,您可以使用以下宏来消除票据匹配时的差异。

#define  MT4ORDERS_TESTER_SELECT_BY_TICKET // 仅通过 OrderTicketID() 使 SELECT_BY_TICKET 在测试器中生效。
在此 阅读更多内容。
 

我测试了 MT4Orders 与纯 MQL5(不使用 SB )https://www.mql5.com/ru/forum/357253/page4#comment_19593443。

毫无疑问,MT4Orders 中的任何功能都不会 降低运行速度,而且运行得非常好。