文章 "针对初学者以 MQL5 编写“EA 交易”的分步指南" - 页 6 12345678910111213...30 新评论 stells2k 2011.11.14 05:42 #51 下午好!我目前正在学习如何以这篇文章为例编写智能交易系统(Expert Advisors),我遇到了以下问题--在尝试发送交易请求时,我收到了错误 10014 - 交易量错误。我检查了交易的最大允许交易量SYMBOL_VOLUME_MAX- 结果是 0。但同时手动交易却正常打开。您能告诉我我哪里做错了吗?我使用的是文章所附的智能交易系统代码。 谢谢。 Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте www.mql5.com Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте - Документация по MQL5 FengWuyi 2011.11.20 09:28 #52 感谢您的文章。 Financialabs 2011.12.17 16:29 #53 您好、代码看起来很棒,但当我尝试时,却出现了这样的错误 2011.11.13 23:39:58 2011.11.01 14:20:00 警报:卖出订单 请求无法完成 -error:4756 2011.11.13 23:39:58 2011.11.01 14:20:00 即时卖出 1.00 欧元兑美元失败,价格为 1.36833 sl: 1.37133 tp: 1.35833 [无效请求] 2011.11.13 23:39:58 2011.11.01 14:20:00 Alert: the Sell order request could not complete -error:4756没有执行交易。有人能帮助修复吗?谢谢F Discussion of article "Step-by-Step Help on EA error Can't execute pending orders [删除] 2012.01.03 13:10 #54 Financialabs:你好、代码看起来很棒,但当我尝试时,却出现了这样的错误 2011.11.13 23:39:58 2011.11.01 14:20:00 警报:卖出订单 请求无法完成 -error:4756 2011.11.13 23:39:58 2011.11.01 14:20:00 即时卖出失败 1.00 EURUSD at 1.36833 sl: 1.37133 tp: 1.35833 [无效请求] 未执行任何交易。有人能帮助修复吗?谢谢F 我也问过同样的问题,但没人回答。 我找到了。 这是一个错误。你必须添加一行代码 ZeroMemory(mrequest); 该行应在 mrequest.action=... mrequest.price=... 等行之前。 Alfff 2012.01.10 23:42 #55 您好。非常感谢你提供的详细而清晰的指南。我遇到了一个问题。程序已编译,但在第一次尝试创建请求时出现了以下错误:"设置卖出订单的请求失败 -错误代码:4756"。我在文档中找不到任何相关信息。您能告诉我该怎么做,或者在哪里可以找到相关信息吗? Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений www.mql5.com Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений - Документация по MQL5 Automated-Trading 2012.01.11 07:32 #56 Alfff: 我遇到了一个问题。程序已编译,但在第一次尝试创建请求时出现了以下错误:"设置卖出订单的请求失败 -错误代码:4756"。我在文档中找不到任何相关信息。您能告诉我如何解决这个问题,或者在哪里可以找到相关信息吗?已修复,请下载更新版的智能交易系统。问题出在 mrequest 结构中,应事先使用ZeroMemory 函数将其清零。在 "mrequest.action=TRADE_ACTION_DEAL;"(第 199 页和第 245 页)行之前应添加 "ZeroMemory(mrequest);"。 Automated-Trading 2012.01.11 07:47 #57 senerzen:我也问过同样的问题,但没人回答。我找到了。这是一个错误。您必须添加一行代码ZeroMemory(mrequest);该行应放在 mrequest.action=... mrequest.price=... 等行之前。 谢谢,错误 已修复。 Get in touch with developers using Service Desk! www.mql5.com We therefore attach great importance to all user reports about issues in our programs and try to answer each one of them. Automated-Trading 2012.01.11 12:46 #58 papaklass: 是否总是有必要这样做,即在请求之前将请求结构归零? 在发送请求之前,必须对结构体的所有字段进行初始化(在这种情况下,可以使用ZeroMemory 函数逐个元素进行初始化),初始化必须在声明结构体之后进行。 Yedelkin 2012.01.11 14:31 #59 Automated-Trading: 在发送请求之前,必须对结构体的所有字段进行初始化(在本例中使用ZeroMemory 函数完成,当然也可以逐个元素进行初始化),初始化必须在声明结构体之后进行。 参考手册》中是这么说的吗?(我现在没机会查看)。 事实证明,在程序的全局层声明一次结构类型变量,初始化一次就够了,就不用再回到 使用ZeroMemory 函数的问题上来了? Renat Fatkhullin 2012.01.11 15:53 #60 Yedelkin:手册》中有这方面的规定吗?(我现在没机会查)。 任何变量在声明时都不会被强制清零。程序员需要在使用所有变量之前对其进行清理/赋值。使用未初始化(或未完全初始化)的变量(尤其是结构变量)是编程中一个非常常见的错误。事实证明,只要在程序的全局层声明一次结构类型的变量,并对其进行一次初始化,就不会再出现使用ZeroMemory 函数的问题了。与其在全局级别进行初始化(无用且更危险),不如正确初始化变量。我们很容易问自己这样一个问题:"为什么我认为有人会为我初始化变量,尤其是复杂结构?在声明结构时,将其清零非常方便,无需不便的ZeroMemory: MqlTick my={0}; 12345678910111213...30 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
下午好!
我目前正在学习如何以这篇文章为例编写智能交易系统(Expert Advisors),我遇到了以下问题--在尝试发送交易请求时,我收到了错误 10014 - 交易量错误。我检查了交易的最大允许交易量SYMBOL_VOLUME_MAX- 结果是 0。但同时手动交易却正常打开。
您能告诉我我哪里做错了吗?我使用的是文章所附的智能交易系统代码。
谢谢。
您好、
代码看起来很棒,但当我尝试时,却出现了这样的错误
2011.11.13 23:39:58 2011.11.01 14:20:00 警报:卖出订单 请求无法完成 -error:47562011.11.13 23:39:58 2011.11.01 14:20:00 即时卖出 1.00 欧元兑美元失败,价格为 1.36833 sl: 1.37133 tp: 1.35833 [无效请求] 2011.11.13 23:39:58 2011.11.01 14:20:00 Alert: the Sell order request could not complete -error:4756
没有执行交易。
有人能帮助修复吗?
谢谢
F
你好、
代码看起来很棒,但当我尝试时,却出现了这样的错误
2011.11.13 23:39:58 2011.11.01 14:20:00 警报:卖出订单 请求无法完成 -error:47562011.11.13 23:39:58 2011.11.01 14:20:00 即时卖出失败 1.00 EURUSD at 1.36833 sl: 1.37133 tp: 1.35833 [无效请求]
未执行任何交易。
有人能帮助修复吗?
谢谢
F
我也问过同样的问题,但没人回答。
我找到了。
这是一个错误。你必须添加一行代码
ZeroMemory(mrequest);
该行应在 mrequest.action=... mrequest.price=... 等行之前。
您好。
非常感谢你提供的详细而清晰的指南。
我遇到了一个问题。程序已编译,但在第一次尝试创建请求时出现了以下错误:"设置卖出订单的请求失败 -错误代码:4756"。
我在文档中找不到任何相关信息。您能告诉我该怎么做,或者在哪里可以找到相关信息吗?
我遇到了一个问题。程序已编译,但在第一次尝试创建请求时出现了以下错误:"设置卖出订单的请求失败 -错误代码:4756"。
我在文档中找不到任何相关信息。您能告诉我如何解决这个问题,或者在哪里可以找到相关信息吗?
已修复,请下载更新版的智能交易系统。
问题出在 mrequest 结构中,应事先使用ZeroMemory 函数将其清零。在 "mrequest.action=TRADE_ACTION_DEAL;"(第 199 页和第 245 页)行之前应添加 "ZeroMemory(mrequest);"。
我也问过同样的问题,但没人回答。
我找到了。
这是一个错误。您必须添加一行代码
ZeroMemory(mrequest);
该行应放在 mrequest.action=... mrequest.price=... 等行之前。
是否总是有必要这样做,即在请求之前将请求结构归零?
在发送请求之前,必须对结构体的所有字段进行初始化(在本例中使用ZeroMemory 函数完成,当然也可以逐个元素进行初始化),初始化必须在声明结构体之后进行。
参考手册》中是这么说的吗?(我现在没机会查看)。
事实证明,在程序的全局层声明一次结构类型变量,初始化一次就够了,就不用再回到 使用ZeroMemory 函数的问题上来了?
手册》中有这方面的规定吗?(我现在没机会查)。
任何变量在声明时都不会被强制清零。程序员需要在使用所有变量之前对其进行清理/赋值。
使用未初始化(或未完全初始化)的变量(尤其是结构变量)是编程中一个非常常见的错误。
事实证明,只要在程序的全局层声明一次结构类型的变量,并对其进行一次初始化,就不会再出现使用ZeroMemory 函数的问题了。
与其在全局级别进行初始化(无用且更危险),不如正确初始化变量。
我们很容易问自己这样一个问题:"为什么我认为有人会为我初始化变量,尤其是复杂结构?
在声明结构时,将其清零非常方便,无需不便的ZeroMemory: