[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要路过。没有你就无处可去 - 3. - 页 157

 
wolf05632:
大家好!通过搜索尝试了一下--没有找到!如何将一行长的代码分解成几个短的代码?

给我一个例子。

如果我们谈论的是比较(if),那么你可以写入bool类型的 变量--每个条件都在一个单独的行中,在最后的if中只替代变量。

 

亲爱的专业人员,测试人员给出了一个错误。

错误的函数值4051无效的函数参数值


这里是日志文件中的日志。

2011.09.08 20:40:02 2010.12.28 10:00 机器人2 EURUSD,H1: 打开#277在1.32316买入0.50 EURUSD ok

2011.09.08 20:40:02 2010.12.28 09:00 机器人2 EURUSD,H1: OrderClose error 4051

2011.09.08 20:40:02 2010.12.28 09:00 机器人 2 EURUSD,H1: OrderClose函数 的无效票据

2011.09.08 20:40:02 2010.12.28 09:00 机器人2 EURUSD,H1: 收盘#276 在1.32347买入0.50 EURUSD,价格1.32114


也就是说,在它之前和之后的交易都很好。请告诉我,这意味着什么,如何纠正它?

 
TheXpert:
所以,主持人必须通过整个终端,因为你不能计算零点?

无奈?这是一个错误,应该像其他错误一样被修复。

在Avto-VAZ,他们的理由可能和你一样--司机无聊地追着车跑,收集掉出来的铁片,他们还得因此挖遍整个车?

 
Xaoss1990:

亲爱的专业人员,测试器给出了一个错误。

你能告诉我这个错误是什么意思吗?
它说

2011.09.08 20:40:02 2010.12.28 09:00 机器人 2 EURUSD,H1:OrderClose函数的无效票据
 
sergeev:
它说



它是什么意思?关闭订单功能的订单号不对?也就是说,它是否试图关闭一个不存在的订单?
 
Xaoss1990:
这意味着什么呢?关闭订单的功能的错误订单号?也就是说,它在试图关闭一个不存在的订单?

在OrderClose()模块中添加一些临时警报,并在其中放入变量(票号等)--然后在日志中检查其值。

 
chief2000:

给我一个例子。

如果是关于比较(if),你可以用bool变量来写--每个条件单独写一行,在最后的if中只放变量。




我们说的是 "WOW"!假设一个长的数学表达式。在VBA中,比方说,要把一个长字符串 一分为二,在这个字符串的任何有效位置,我们需要把_

而剩余的表达式可以添加到新的一行中。

 
chief2000:

在OrderClose()模块中添加一些临时警报,并将变量(票号等)放入其中--然后在日志中检查其值。



添加了,这是我得到的东西。

2011.09.08 21:26:15 2010.01.13 11:00 机器人2 EURUSD,H1: open #12 buy 0.10 EURUSD at 1.45027 ok

2011.09.08 21:26:15 2010.01.13 17:00 机器人 2 EURUSD,H1: close #12 buy 0.10 EURUSD at 1.45027 at 1.45083

2011.09.08 21:26:15 2010.01.13 17:00 机器人 2 EURUSD,H1: 提醒:OrderTicket() = 12, lots = 0.1, Bid = 1.4508

2011.09.08 21:26:15 2010 01.13 17:00 机器人 2 EURUSD,H1: OrderClose函数 的无效票据

2011.09.08 21:26:15 2010 01.13 17:00 机器人 2 EURUSD,H1: OrderClose error 4051

2011.09.08 21:26:15 2010.01.14 01:00 机器人2 EURUSD,H1: 打开#13在1.45243买入0.10 EURUSD ok

以此类推....

我不明白这个错误的原因是什么(()。

 
Xaoss1990:

我已经添加了它,这是我得到的。

2011.09.08 21:26:15 2010.01.13 11:00 机器人2 EURUSD,H1: open #12 buy 0.10 EURUSD at 1.45027 ok

2011.09.08 21:26:15 2010.01.13 17:00 机器人2 EURUSD,H1:收盘#12 在1.45027处买入0.10 EURUSD,价格1.45083

2011.09.08 21:26:15 2010.01.13 17:00 机器人 2 EURUSD,H1: 提醒:OrderTicket() = 12, lots = 0.1, Bid = 1.4508

2011.09.08 21:26:15 2010 01.13 17:00 机器人 2 EURUSD,H1: OrderClose函数的无效票据

2011.09.08 21:26:15 2010 01.13 17:00 机器人 2 EURUSD,H1: OrderClose error 4051

2011.09.08 21:26:15 2010.01.14 01:00 机器人2 EURUSD,H1: 打开#13在1.45243买入0.10 EURUSD ok

以此类推....

我不明白是什么原因导致了这个错误(()。

我已经给出了一个如何调试问题的例子,然后你必须对代码进行整理。

下面是一个案例中的解决方案的例子。"OrderClose函数的无效票据" -https://www.mql5.com/ru/forum/100874

如果这些都没有帮助,还有谷歌。

 
chief2000:

我举了一个例子,说明如何调试问题,然后你要弄清楚代码。

下面是一个案例中的解决方案的例子。"OrderClose函数的无效票据" -https://www.mql5.com/ru/forum/100874

如果它没有帮助,还有谷歌。

我搞不清楚这个错误#4051是什么意思

错误的函数值4051无效的函数参数值


它是什么意思?关闭订单的功能的订单号不正确?也就是说,它在试图关闭一个不存在的订单?

一旦订单被止损关闭,它就会出来。而停止的触发器...

帮助,请...我已经挣扎了好几天....

原因: