错误、漏洞、问题 - 页 112 1...105106107108109110111112113114115116117118119...3184 新评论 Yedelkin 2010.08.29 07:59 #1111 sandex: 谁使用过OrderCheck功能。 这里有一个这样的结构。 MqlTradeRequest request; request.action=TRADE_ACTION_DEAL; request.symbol=_Symbol; request.volume=volume_exe; request.price=SymbolInfoDouble(_Symbol, SYMBOL_ASK); request.sl=0; request.tp=0; request.deviation=SymbolInfoInteger(_Symbol, SYMBOL_SPREAD)*2; request.type=ORDER_TYPE_BUY; request.type_filling=ORDER_FILLING_CANCEL; MqlTradeResult result; OrderCheck(request, result); if(OrderSend(request, result)==false) 编译时,我得到一个错误:'结果'--参数转换不允许。 如果你删除OrderCheck,一切都能正常编译,并在测试器中打开位置。 看一下函数的描述。它说的是MqlTradeCheckResult 响应结构。 Alexander Bereznyak 2010.08.29 09:21 #1112 Yedelkin: 请看一下该功能的描述。它说的是MqlTradeCheckResult 响应结构。非常感谢你。 Валерий 2010.08.29 10:32 #1113 Dmitriy2:下面是它的内容... 它应该计算从指定日期开始的交易利润。它给出了一个与实际情况完全不同的结果。例如,我得到了611,而不是大约2000的结果。我已经开始每天检查(评论行)。有(!!!)天的结果是一样的,但通常不是应该的......(我找不到任何规律)。 而且调试器产生的整个交易量 的周期是完全一样的。虽然我只能追踪到这个数量的交易,因为除了int变量外,其他的变量都没有显示值(表达式无法评估)。 这段代码是否正确,我是否正确使用了调试器...?交易循环应该是for(i=0;i<HistoryDealsTotal();i=i++) 在调试器中,使用 "步入"(F11)。然后,进入一个定义了变量或表达式的函数,将显示其值。 Дмитрий 2010.08.29 11:05 #1114 Valmars: 交易周期应该是 在调试器中,使用'Step with Entry'(F11)。然后,当你进入一个定义了变量或表达式的函数时,它将显示其值。 比方说,循环从零开始...虽然哪里写的是交易数字从零开始?从现在我们有10611个(之前是611个,而不是2000个左右),即加上原来的存款规模来看,我不确定......即使是零,甚至是一,我也不明白10,000是怎么来的。 调试器,我明白了,F11... [删除] 2010.08.29 11:14 #1115 Dmitriy2: 假设周期从零开始......虽然哪里写的是交易数字从零开始?从现在我们得到10611(之前是611,而不是2000左右)的事实来看,即加上原来的存款规模,我不确定......即使是零,甚至是一,我也不明白10,000是怎么来的。 调试器,我明白了,F11...第一笔交易通常是存款。因此,如果我没有弄错的话,第0笔交易将是一笔存款。我可以澄清一下交易利润 的计算公式吗?PS如果我没记错的话,结果应该是这样计算的--总利润=利润+交换-佣金。 Renat Fatkhullin 2010.08.29 12:05 #1116 Kos: 为什么SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_LIMIT), 返回0? 0意味着没有限制。 Дмитрий 2010.08.29 12:19 #1117 Interesting: 第一笔交易通常是存款。所以如果我没有弄错的话,第0笔交易将是一笔存款。 你能说明用于计算交易利润的 公式吗? PS 如果我没记错的话,结果应该是这样计算的--总利润=利润+交换-佣金。 在最后一页的完整代码中 在任何情况下,都不应该考虑本守则规定的存款。 佣金也是加号 - 是减号。 Николай 2010.08.29 14:48 #1118 Yedelkin: 起初,编译器抱怨说 "#import "lbS7N_Servis.ex5 "丢失。 在删除这一行后,它放弃了。 2010.08.28 22:19:51 Servis[1] (EURUSD,H1) L1=1016990000 L2=1016990000 L3=6617010000 M1=1016990000 2010.08.28 22:19:51 Servis[1] (EURUSD,H1) A=101699 B=101699 C=661701 2010.08.28 22:19:51 Servis[1] (EURUSD,H1) --- OnInit() --- 1 --- ! 当我把代码中的账号替换成我的账号时,我得到了。 2010.08.28 22:26:46 Servis[1] (EURUSD,H1) L1=1016990000 L2=1016990000 L3=1016990000 M1=1016990000 2010.08.28 22:26:46 Servis[1] (EURUSD,H1) A=101699 B=101699 C=101699 2010.08.28 22:26:46 Servis[1] (EURUSD,H1) --- OnInit() --- 1 --- ! MQ服务器,构建316。 谢谢你。在你身上,一切都在按部就班地进行。我还没有搞清楚。 Николай 2010.08.29 14:58 #1119 sergey1294: 而我的M1并不匹配。 这意味着你也有一个错误,但比我少。 也许你应该在程序与系统的连接中寻找它。 你有什么样的系统? 我有一个core2duo 1.3 Ghz 64 Win7 HB许可证,4GB ddr 2 RAM,建立。316 Николай 2010.08.29 15:02 #1120 simpleton: 而且有多达三种独特的情况。这些是被检测出来的。又有多少人未被发现? 在这种情况下,MetaQuotes要在一个月内开始2010年锦标赛吗? 哦,MetaTrader 5为我们准备了多少 "奇迹"... 赢家将是那些程序包含如此多的错误,以至于与程序中的小故障结合在一起,将产生如此大的影响,以至于没有人能够追上他们。 1...105106107108109110111112113114115116117118119...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
谁使用过OrderCheck功能。
这里有一个这样的结构。
request.action=TRADE_ACTION_DEAL;
request.symbol=_Symbol;
request.volume=volume_exe;
request.price=SymbolInfoDouble(_Symbol, SYMBOL_ASK);
request.sl=0;
request.tp=0;
request.deviation=SymbolInfoInteger(_Symbol, SYMBOL_SPREAD)*2;
request.type=ORDER_TYPE_BUY;
request.type_filling=ORDER_FILLING_CANCEL;
MqlTradeResult result;
OrderCheck(request, result);
if(OrderSend(request, result)==false)
编译时,我得到一个错误:'结果'--参数转换不允许。
如果你删除OrderCheck,一切都能正常编译,并在测试器中打开位置。
请看一下该功能的描述。它说的是MqlTradeCheckResult 响应结构。
非常感谢你。
下面是它的内容...
它应该计算从指定日期开始的交易利润。它给出了一个与实际情况完全不同的结果。例如,我得到了611,而不是大约2000的结果。我已经开始每天检查(评论行)。有(!!!)天的结果是一样的,但通常不是应该的......(我找不到任何规律)。 而且调试器产生的整个交易量 的周期是完全一样的。虽然我只能追踪到这个数量的交易,因为除了int变量外,其他的变量都没有显示值(表达式无法评估)。
这段代码是否正确,我是否正确使用了调试器...?
交易循环应该是
在调试器中,使用 "步入"(F11)。然后,进入一个定义了变量或表达式的函数,将显示其值。交易周期应该是
在调试器中,使用'Step with Entry'(F11)。然后,当你进入一个定义了变量或表达式的函数时,它将显示其值。比方说,循环从零开始...虽然哪里写的是交易数字从零开始?从现在我们有10611个(之前是611个,而不是2000个左右),即加上原来的存款规模来看,我不确定......即使是零,甚至是一,我也不明白10,000是怎么来的。
调试器,我明白了,F11...
假设周期从零开始......虽然哪里写的是交易数字从零开始?从现在我们得到10611(之前是611,而不是2000左右)的事实来看,即加上原来的存款规模,我不确定......即使是零,甚至是一,我也不明白10,000是怎么来的。
调试器,我明白了,F11...
第一笔交易通常是存款。因此,如果我没有弄错的话,第0笔交易将是一笔存款。
我可以澄清一下交易利润 的计算公式吗?
PS
如果我没记错的话,结果应该是这样计算的--总利润=利润+交换-佣金。
为什么SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_LIMIT), 返回0?
第一笔交易通常是存款。所以如果我没有弄错的话,第0笔交易将是一笔存款。
你能说明用于计算交易利润的 公式吗?
PS
如果我没记错的话,结果应该是这样计算的--总利润=利润+交换-佣金。
在最后一页的完整代码中
在任何情况下,都不应该考虑本守则规定的存款。
佣金也是加号 - 是减号。
起初,编译器抱怨说 "#import "lbS7N_Servis.ex5 "丢失。
在删除这一行后,它放弃了。
2010.08.28 22:19:51 Servis[1] (EURUSD,H1) L1=1016990000 L2=1016990000 L3=6617010000 M1=1016990000
2010.08.28 22:19:51 Servis[1] (EURUSD,H1) A=101699 B=101699 C=661701
2010.08.28 22:19:51 Servis[1] (EURUSD,H1) --- OnInit() --- 1 --- !
当我把代码中的账号替换成我的账号时,我得到了。
2010.08.28 22:26:46 Servis[1] (EURUSD,H1) L1=1016990000 L2=1016990000 L3=1016990000 M1=1016990000
2010.08.28 22:26:46 Servis[1] (EURUSD,H1) A=101699 B=101699 C=101699
2010.08.28 22:26:46 Servis[1] (EURUSD,H1) --- OnInit() --- 1 --- !
MQ服务器,构建316。
而我的M1并不匹配。
这意味着你也有一个错误,但比我少。
也许你应该在程序与系统的连接中寻找它。
你有什么样的系统?
我有一个core2duo 1.3 Ghz 64 Win7 HB许可证,4GB ddr 2 RAM,建立。316
而且有多达三种独特的情况。这些是被检测出来的。又有多少人未被发现?
在这种情况下,MetaQuotes要在一个月内开始2010年锦标赛吗?
哦,MetaTrader 5为我们准备了多少 "奇迹"...