错误、漏洞、问题 - 页 123 1...116117118119120121122123124125126127128129130...3184 新评论 Prival 2010.09.08 19:36 #1221 让开发人员来解决这个问题。这是这个脚本运行3次的截图。 这对我来说是行不通的。 Alexey Da 2010.09.09 08:01 #1222 Prival:错误--它曾经工作,但现在不工作了。谢谢你的留言。我们会继续寻找。 retired 2010.09.09 08:51 #1223 在PrintCheckResult 方法(Trade.mqh文件,Trade类,CTrade类)中发现一个小错误。 空白 CTrade::PrintCheckResult(void) const.{ printf("CheckResult")。// printf("%d,%f,%f,%f,%f,%f,'%s'", - 最后一个参数是不必要的。 printf("%d,%f,%f,%f,%f,'%s'"。 m_check_result.retcode,m_check_result.balance,m_check_result. equity。 m_check_result.margin,m_check_result.margin_free,m_check_result.margin_level。 m_check_result.comment)。} 而不是字符串。printf("%d,%f,%f,%f,%f,%f,'%s'", - 被我评论掉了 应该有一行:printf("%d,%f,%f,%f,%f,'%s'"。 我检查了一下,修正后的功能工作正常。 Ilyas 2010.09.09 09:14 #1224 Prival:错误--它曾经工作,但现在不工作了。谢谢你的留言。将在下次更新中提供。为了使其在当前版本中工作,对常数或一般的乘法使用显式铸造。void OnStart() { // вот так работает Print(TimeCurrent()+2*PeriodSeconds(PERIOD_D1)); // а вот так нет (а раньше работало) datetime time_end=0; time_end=TimeCurrent()+(long) 2*PeriodSeconds(PERIOD_D1); Print(time_end); } Alexey Da 2010.09.09 09:14 #1225 retired:在PrintCheckResult 方法(Trade.mqh文件,Trade类,CTrade类)中发现一个小错误。谢谢你的信息。它很快就会被修复。 Prival 2010.09.09 11:11 #1226 mql5:谢谢你的留言。将在下次更新中提供。为了使其在当前版本中工作,对常数或一般的乘法使用显式铸造。 谢谢。如果我理解正确的话,这是由于类型转换。太糟糕了,没有关于汇编的信息,这将更容易找到。 Документация по MQL5: Основы языка / Типы данных / Приведение типов www.mql5.com Основы языка / Типы данных / Приведение типов - Документация по MQL5 Ilyas 2010.09.09 12:03 #1227 Prival: 谢谢你。如果我理解正确的话,这是由于类型转换。很遗憾,在编译时没有这样的信息,这样会更容易发现 你的代码是正确的,没有什么可抱怨的。这个错误确实是在x64下的操作数转换中出现的,它被修复了。等待更新。 retired 2010.09.10 05:19 #1228 必须正确解释ENUM_TRADE_RETURN_CODES 错误,以便正确处理它们。是否有任何材料可以详细地描述它们? 特别是,以下错误没有得到完全理解。 10008 贸易_retcode_placed 下订单 10021 交易_retcode_price_off 没有可用的报价来处理该请求 10028 贸易_retcode_locked 被阻止处理的查询 10029 贸易_retcode_frozen 冻结的订单或位置 谁能帮助解决这个问题? [删除] 2010.09.10 07:03 #1229 retired:必须正确解释ENUM_TRADE_RETURN_CODES 错误,以便正确处理它们。是否有任何材料可以详细地描述它们? 特别是,以下错误没有得到完全理解。 10008 贸易_retcode_placed 下订单 10021 交易_retcode_price_off 没有可用的报价来处理该请求 10028 贸易_retcode_locked 被阻止处理的查询 10029 贸易_retcode_frozen 冻结的订单或位置 谁能帮助解决这个问题? 上述所有内容都是指服务器响应终端请求而返回的代码。这就是为什么一切都在"贸易服务器返回代码 " 部分给出。合乎逻辑的是,该列表中包含的不仅仅是错误。现在按顺序。至于10008 贸易_retcode_placed 下订单符合逻辑的是,这个答案不是一个错误,而只是通知客户(交易终端),订单已经成功下达。在这种情况下,有三种可能的解决方案。1.根本不是为了处理这个答案。2.在OnTrade()块中处理下单--相当可以接受,但在我看来不是很正确。在我看来,这是处理机械交易的最佳方式。PS我更喜欢在订单处处理服务器的响应,并在OnTrade()中捕捉交易者、服务器或其他智能交易系统的行动结果。例如,在OnTrade中,你可以捕捉交易者的交易操作(设置或删除一个订单,或处理头寸)。关于10029 贸易_retcode_frozen 订单或职位被冻结有一个特定的水平,在这个水平上,一个头寸或一个订单被 "冻结"(禁止对其进行任何操作)。这个水平是与当前价格的一个距离,在这个距离上,服务器禁止对订单或头寸进行任何操作。这个距离是以点为单位,并为每个符号设置。它可以通过 SymbolInfoInteger() 获得 ,参数 是SYMBOL_TRADE_FREEZE_LEVEL。如果你从服务器得到这样的回应,你应该等待两件事中的一件发生。1.价格没有移动到规定的距离(大于 符号属性中规定的距离 )。2.该命令或职位在其中规定的条件下不起作用。关于10021 交易_retcode_price_off 没有处理该请求的报价也许,当得到这个答案时,你应该检查符号名称(以防万一),确保符号被选中(对测试者和多播者很重要),检查历史记录的可用性,包括在服务器上(如果它需要下载),可能确保市场是开放的,在符号上交易是可能的。PS尽管在这里有必要在开发人员中指定什么情况10028 贸易_retcode_locked 请求被阻止处理这可能是上面列出的服务器的答复中最具体的......它更有可能需要开发人员的澄清(我就假设你可能应该只是等待一定的时间)...... retired 2010.09.10 07:29 #1230 Interesting: 关于 10029 贸易_retcode_frozen 冻结的订单或位置 有一个特定的水平,低于这个水平的头寸或订单将被 "冻结"(禁止对其采取任何行动)。 这个水平是与当前价格的一个距离,在这个距离上,服务器禁止对订单或头寸进行任何操作。这个距离是以点为单位,并为每个符号设置。 它可以通过 SymbolInfoInteger() 获得 ,参数 是SYMBOL_TRADE_FREEZE_LEVEL。 如果你从服务器得到这样的回应,你应该等待两件事中的一件发生。 1.价格没有移动到规定的距离(大于 符号属性中规定的距离 )。 2.该订单或职位没有满足其中规定的条件。 谢谢你的详细解答。我理解 代码 "10029:TRADE_RETCODE_FROZEN:订单或仓位被冻结"。 然而,我们对其余部分仍有疑问(我想知道确切的答案,而不仅仅是猜测)。 10008 贸易_retcode_placed 下订单 10021 交易_retcode_price_off 没有可用的报价来处理该请求 10028 贸易_retcode_locked 请求被阻止处理 特别是,不太清楚 "10008:订单已下 "是什么意思,因为当订单在服务器上排队时,会给它分配一个票据,并返回代码 "10009:TRADE_RETCODE_DONE:请求已执行"。 1...116117118119120121122123124125126127128129130...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
让开发人员来解决这个问题。这是这个脚本运行3次的截图。
这对我来说是行不通的。
错误--它曾经工作,但现在不工作了。
谢谢你的留言。
我们会继续寻找。
在PrintCheckResult 方法(Trade.mqh文件,Trade类,CTrade类)中发现一个小错误。
空白 CTrade::PrintCheckResult(void) const.
{
printf("CheckResult")。
// printf("%d,%f,%f,%f,%f,%f,'%s'", - 最后一个参数是不必要的。
printf("%d,%f,%f,%f,%f,'%s'"。
m_check_result.retcode,m_check_result.balance,m_check_result. equity。
m_check_result.margin,m_check_result.margin_free,m_check_result.margin_level。
m_check_result.comment)。
}
而不是字符串。printf("%d,%f,%f,%f,%f,%f,'%s'", - 被我评论掉了
应该有一行:printf("%d,%f,%f,%f,%f,'%s'"。
我检查了一下,修正后的功能工作正常。
错误--它曾经工作,但现在不工作了。
谢谢你的留言。将在下次更新中提供。为了使其在当前版本中工作,对常数或一般的乘法使用显式铸造。
{
// вот так работает
Print(TimeCurrent()+2*PeriodSeconds(PERIOD_D1));
// а вот так нет (а раньше работало)
datetime time_end=0;
time_end=TimeCurrent()+(long) 2*PeriodSeconds(PERIOD_D1);
Print(time_end);
}
在PrintCheckResult 方法(Trade.mqh文件,Trade类,CTrade类)中发现一个小错误。
谢谢你的信息。
它很快就会被修复。
谢谢你的留言。将在下次更新中提供。为了使其在当前版本中工作,对常数或一般的乘法使用显式铸造。
谢谢你。如果我理解正确的话,这是由于类型转换。很遗憾,在编译时没有这样的信息,这样会更容易发现
必须正确解释ENUM_TRADE_RETURN_CODES 错误,以便正确处理它们。是否有任何材料可以详细地描述它们?
特别是,以下错误没有得到完全理解。
10008
贸易_retcode_placed
下订单
10021
交易_retcode_price_off
没有可用的报价来处理该请求
10028
贸易_retcode_locked
被阻止处理的查询
10029
贸易_retcode_frozen
冻结的订单或位置
谁能帮助解决这个问题?
必须正确解释ENUM_TRADE_RETURN_CODES 错误,以便正确处理它们。是否有任何材料可以详细地描述它们?
特别是,以下错误没有得到完全理解。
10008
贸易_retcode_placed
下订单
10021
交易_retcode_price_off
没有可用的报价来处理该请求
10028
贸易_retcode_locked
被阻止处理的查询
10029
贸易_retcode_frozen
冻结的订单或位置
谁能帮助解决这个问题?
上述所有内容都是指服务器响应终端请求而返回的代码。这就是为什么一切都在"贸易服务器返回代码 " 部分给出。
合乎逻辑的是,该列表中包含的不仅仅是错误。
现在按顺序。
至于
10008
贸易_retcode_placed
下订单
符合逻辑的是,这个答案不是一个错误,而只是通知客户(交易终端),订单已经成功下达。
在这种情况下,有三种可能的解决方案。
1.根本不是为了处理这个答案。
2.在OnTrade()块中处理下单--相当可以接受,但在我看来不是很正确。
在我看来,这是处理机械交易的最佳方式。
PS
我更喜欢在订单处处理服务器的响应,并在OnTrade()中捕捉交易者、服务器或其他智能交易系统的行动结果。
例如,在OnTrade中,你可以捕捉交易者的交易操作(设置或删除一个订单,或处理头寸)。
关于
10029
贸易_retcode_frozen
订单或职位被冻结
有一个特定的水平,在这个水平上,一个头寸或一个订单被 "冻结"(禁止对其进行任何操作)。
这个水平是与当前价格的一个距离,在这个距离上,服务器禁止对订单或头寸进行任何操作。这个距离是以点为单位,并为每个符号设置。
它可以通过 SymbolInfoInteger() 获得 ,参数 是SYMBOL_TRADE_FREEZE_LEVEL。
如果你从服务器得到这样的回应,你应该等待两件事中的一件发生。
1.价格没有移动到规定的距离(大于 符号属性中规定的距离 )。
2.该命令或职位在其中规定的条件下不起作用。
关于
10021
交易_retcode_price_off
没有处理该请求的报价
也许,当得到这个答案时,你应该检查符号名称(以防万一),确保符号被选中(对测试者和多播者很重要),检查历史记录的可用性,包括在服务器上(如果它需要下载),可能确保市场是开放的,在符号上交易是可能的。
PS
尽管在这里有必要在开发人员中指定
什么情况
10028
贸易_retcode_locked
请求被阻止处理
这可能是上面列出的服务器的答复中最具体的......它更有可能需要开发人员的澄清(我就假设你可能应该只是等待一定的时间)......
关于
10029
贸易_retcode_frozen
冻结的订单或位置
有一个特定的水平,低于这个水平的头寸或订单将被 "冻结"(禁止对其采取任何行动)。
这个水平是与当前价格的一个距离,在这个距离上,服务器禁止对订单或头寸进行任何操作。这个距离是以点为单位,并为每个符号设置。
它可以通过 SymbolInfoInteger() 获得 ,参数 是SYMBOL_TRADE_FREEZE_LEVEL。
如果你从服务器得到这样的回应,你应该等待两件事中的一件发生。
1.价格没有移动到规定的距离(大于 符号属性中规定的距离 )。
2.该订单或职位没有满足其中规定的条件。
谢谢你的详细解答。我理解 代码 "10029:TRADE_RETCODE_FROZEN:订单或仓位被冻结"。
然而,我们对其余部分仍有疑问(我想知道确切的答案,而不仅仅是猜测)。
10008
贸易_retcode_placed
下订单
10021
交易_retcode_price_off
没有可用的报价来处理该请求
10028
贸易_retcode_locked
请求被阻止处理
特别是,不太清楚 "10008:订单已下 "是什么意思,因为当订单在服务器上排队时,会给它分配一个票据,并返回代码 "10009:TRADE_RETCODE_DONE:请求已执行"。