MQL5:验证 :-( 我已经绞尽脑汁想知道它是什么以及如何解决。 - 页 2 1234567 新评论 Vladimir Karputov 2018.11.27 05:26 #11 Alexandr Gavrilin:其他关于保证金短缺的消息也不断传来。 我试着像错误中描述的那样,在考虑到挂单的情况下,将某一方向 的仪器的所有手数加起来,而不是给出一个开仓指令,如果超过了开仓指令,就没有用了。 错误是一样的,我的调试信息在验证期间没有显示在报告日志中,我不知道如何捕捉和调试这个错误,或者如何在我的终端中模拟这个错误。错误。 Vitalii Ananev 2018.11.27 06:06 #12 Alexandr Gavrilin:.... 错误是一样的,我的调试信息在验证过程中没有显示在报告日志中,我不知道我如何能抓住并调试处理这个问题,或者如何在我的终端模拟这个错误...尝试用非常大的成交量开仓。看看你的EA 是否会发现这个错误。 Petros Shatakhtsyan 2018.11.27 06:14 #13 Alexandr Gavrilin:其他关于保证金短缺的消息也不断传来。 我试着像错误中描述的那样,在考虑到挂单的情况下,将该工具在特定方向上的所有手数加起来,如果超过了考虑到开仓单的情况,则不给开仓指令,但没有用。 错误是一样的,我的调试信息在验证期间没有显示在报告日志中,我不知道如何捕捉和调试这个错误,或者如何在我的终端中模拟这个错误。你可以检查保证金水平。比方说,如果低于5000%,那么就不会有交易被执行。 Alexandr Gavrilin 2018.11.27 07:04 #14 Vladimir Karputov:错 了。解决了。 //в функции до открытия ордера. double max_volume=SymbolInfoDouble(m_name,SYMBOL_VOLUME_LIMIT); double current_lots=getAllVolume(); if(max_volume>0 && max_volume-current_lots-dlot<=0) { //PrintFormat("%.2f - %.2f",max_volume , dlot); return 0; } //... //функция подсчета объема double getAllVolume() { int itotal=PositionsTotal(); ulong uticket=-1; double dVolume=0; for(int i=itotal-1;i>=0;i--) { if(!(uticket=PositionGetTicket(i))) continue; if(PositionGetString(POSITION_SYMBOL)==m_symbol.Name()) dVolume+=PositionGetDouble(POSITION_VOLUME); } itotal=OrdersTotal(); for(int i=itotal-1;i>=0;i--) { if(!(uticket=OrderGetTicket(i))) continue; if(OrderGetString(ORDER_SYMBOL)==m_symbol.Name()) dVolume+=OrderGetDouble(ORDER_VOLUME_CURRENT); } return dVolume; } 随后,该产品顺利通过了检查。 Vladimir Karputov 2018.11.27 07:13 #15 Alexandr Gavrilin:解决了。 该产品随后被成功测试。:) Vladimir Karputov 2018.11.27 10:36 #16 顺便说一下,注意SYMBOL_VOLUME_LIMIT 可以被设置为 "0.0"。 以免在检查中被发现。 if(check_volume > SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_LIMIT)) return; Petros Shatakhtsyan 2018.11.27 12:11 #17 Vladimir Karputov:顺便说一下,注意SYMBOL_VOLUME_LIMIT 可以被设置为 "0.0"。 为了不在检查中被抓住。 关于这条消息,有些不对劲: 在 1.14380 的位置上, 未能即时卖出 3.30 欧元兑美元 [ 达到交易量 限制]。 我有一个净值账户,没有限价单或挂单。所有的检查都在现场。 现在我检查了SYMBOL_VOLUME_LIMIT,无论是否有未平仓的订单,它总是返回0。我总是有一个头寸(因为我是净值型),这个信息只在我增加手数时出现,而且只在我自动放弃时出现。 Vladimir Karputov 2018.11.27 12:12 #18 Petros Shatakhtsyan:关于这条消息,有些不对劲: 在 1.14380 的位置上, 未能即时卖出 3.30 欧元兑美元 [ 达到交易量 限制]。 我有一个净值账户,没有限价单或挂单。所有的检查都在现场。 现在我检查了SYMBOL_VOLUME_LIMIT,无论是否有未平仓的订单,它总是返回0。我总是有一个头寸(因为我是净值型),这个信息只在我增加手数时出现,而且只在我自动交易时出现。如果你在某个服务器上工作,并不意味着周围所有的服务器都有相同的设置 :) 。 Petros Shatakhtsyan 2018.11.27 12:34 #19 Vladimir Karputov:如果你在某个服务器上工作,并不意味着周围所有的服务器都有相同的设置 :) 。所以我在不同的服务器上检查,大约有5-6个,那里有不同的执行类型。在这个职位上,执行类型是即时的。 但这并不是最主要的。自动废止法提供的信息很少,而且它使人们很难找到一个错误。而且总是有办法解决的。 Konstantin Nikitin 2018.12.02 17:58 #20 昨天我在更新时经历了自动废止。在MT5上半推半就,但MT4几乎花了整整一个晚上,所有的订单都没有人接。我受够了,几个小时后我回到了平台。我觉得很无聊,几个小时后就回来了。有时问题不在专家顾问,而在服务。 1234567 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
其他关于保证金短缺的消息也不断传来。
我试着像错误中描述的那样,在考虑到挂单的情况下,将某一方向 的仪器的所有手数加起来,而不是给出一个开仓指令,如果超过了开仓指令,就没有用了。
错误是一样的,我的调试信息在验证期间没有显示在报告日志中,我不知道如何捕捉和调试这个错误,或者如何在我的终端中模拟这个错误。
错误。
....
错误是一样的,我的调试信息在验证过程中没有显示在报告日志中,我不知道我如何能抓住并调试处理这个问题,或者如何在我的终端模拟这个错误...
尝试用非常大的成交量开仓。看看你的EA 是否会发现这个错误。
其他关于保证金短缺的消息也不断传来。
我试着像错误中描述的那样,在考虑到挂单的情况下,将该工具在特定方向上的所有手数加起来,如果超过了考虑到开仓单的情况,则不给开仓指令,但没有用。
错误是一样的,我的调试信息在验证期间没有显示在报告日志中,我不知道如何捕捉和调试这个错误,或者如何在我的终端中模拟这个错误。
你可以检查保证金水平。比方说,如果低于5000%,那么就不会有交易被执行。
错 了。
解决了。
随后,该产品顺利通过了检查。解决了。
该产品随后被成功测试。:)
顺便说一下,注意SYMBOL_VOLUME_LIMIT 可以被设置为 "0.0"。
以免在检查中被发现。
顺便说一下,注意SYMBOL_VOLUME_LIMIT 可以被设置为 "0.0"。
为了不在检查中被抓住。
关于这条消息,有些不对劲: 在 1.14380 的位置上, 未能即时卖出 3.30 欧元兑美元 [ 达到交易量 限制]。
我有一个净值账户,没有限价单或挂单。所有的检查都在现场。
现在我检查了SYMBOL_VOLUME_LIMIT,无论是否有未平仓的订单,它总是返回0。我总是有一个头寸(因为我是净值型),这个信息只在我增加手数时出现,而且只在我自动放弃时出现。
关于这条消息,有些不对劲: 在 1.14380 的位置上, 未能即时卖出 3.30 欧元兑美元 [ 达到交易量 限制]。
我有一个净值账户,没有限价单或挂单。所有的检查都在现场。
现在我检查了SYMBOL_VOLUME_LIMIT,无论是否有未平仓的订单,它总是返回0。我总是有一个头寸(因为我是净值型),这个信息只在我增加手数时出现,而且只在我自动交易时出现。
如果你在某个服务器上工作,并不意味着周围所有的服务器都有相同的设置 :) 。
如果你在某个服务器上工作,并不意味着周围所有的服务器都有相同的设置 :) 。
所以我在不同的服务器上检查,大约有5-6个,那里有不同的执行类型。在这个职位上,执行类型是即时的。
但这并不是最主要的。自动废止法提供的信息很少,而且它使人们很难找到一个错误。而且总是有办法解决的。