向市场发布交易机器人时出现验证错误。 - 页 9

 

当更新EA(MT4)时,它写道:没有找到报告。


 
Evgeniy Zhdan:

当更新专家顾问(MT4)时,它写道:没有找到报告。


测试需要多长时间?

如果30分钟或更长时间,那么专家顾问就会在某个周期内挂起,必须在代码中找到错误

 
Denis Nikolaev:

测试需要多长时间?

如果30分钟或更长时间,那么EA已经冻结在某个周期,应该在代码中寻找错误

截图显示了它需要多长时间
 
Evgeniy Zhdan:
截图上写着需要多长时间

正是

但现在弹出了一个不同的错误

tt

我最近更新了--第一次就通过了,但现在我刚换了版本号,就不通过了。

一定有什么东西又坏了。

 
我自己也遇到了一个验证问题。解决办法很简单。我把专家顾问中的初始风险设置设为与零不同。在这种条件下,选定的固定地段的价值并不重要。专家顾问没有通过海关。我把风险设置为零,改变了EA的版本,并把它上传检查--它在短短几秒钟内就被吞噬得一干二净。并获得批准。
 
Uladzimir Balmatou:
我自己遇到了一个验证问题。解决办法是在表面上。我把专家顾问中的初始风险设置设为与零不同。在这些条件下,选定的固定地段的价值并不重要。专家顾问没有通过海关。我把风险设置为零,改变了EA的版本,并把它上传检查--它在短短几秒钟内就被吞噬得一干二净。并获得批准。

是的,今天可以工作了--它已经被修复了


谢谢!
 
下午好,请告诉我验证器是否有效? 我在欧元兑美元的测试中得到错误,H1策略测试报告没有找到,我不知道是不是我的原因。谢谢你
 
Aliaksandr Pechan:
你好,请你告诉我验证器是否工作? 我得到一个错误信息 "测试欧元兑美元,H1策略测试报告未找到",我不知道是不是我的问题。谢谢你

现在每个人都是这样。我经历了这个验证的三个阶段。起初,出现了没有交易业务 的错误。 当然,我检查了批次的正确性和资金的可用性,以开立一个订单,但没有成功。我只是简单地从《参考》中复制了地段的检查,它只检查地段是否正确,但如果不正确,错误就不会被纠正,只是写到日记中。当然,这些订单也没有被打开。我把它改了一下,然后检查了一下。

 double CheckVolumeValue()
  { 
   double volume=lastLot;
//--- минимально допустимый объем для торговых операций
   double min_volume=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MIN);
   if(volume<min_volume)
     {
      Print("Lot less than the minimum allowed value SYMBOL_VOLUME_MIN=",+min_volume);
      volume=min_volume;
     }
//--- максимально допустимый объем для торговых операций
   double max_volume=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MAX);
   if(volume>max_volume)
     {
      Print("Lot greater than the maximum allowed SYMBOL_VOLUME_MAX=",max_volume);
      volume=max_volume*0.99;
     }
//--- получим минимальную градацию объема
   double volume_step=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_STEP);
   int ratio=(int)MathRound(volume/volume_step);
   if(MathAbs(ratio*volume_step-volume)>0.0000001)
     {
      Print("Lot is not a multiple of the minimum gradation SYMBOL_VOLUME_STEP=",volume_step);
      volume=MathRound(volume/volume_step);
      volume=volume*volume_step;
     }
   return(volume);
  }

然后我得到了错误的EURUSD,H1策略测试报告没有找到。我开始推理。如果没有测试人员的报告,就意味着该EA根本没有工作。在什么情况下?如果交易被禁止到 这个账户或没有连接。我在代码的开头插入了我在参考文献中发现的关于这个问题的所有内容。

 void OnTick()
  {
   if(!TerminalInfoInteger(TERMINAL_TRADE_ALLOWED))
      {Print("Check the automatic trading permission in the terminal settings!");
      Alert("Check the automatic trading permission in the terminal settings!");
      }
   if(!MQLInfoInteger(MQL_TRADE_ALLOWED))
      {
       Print("Automatic trading is prohibited in the program properties for",__FILE__);
       Alert("Automatic trading is prohibited in the program properties for",__FILE__);
      }
   if(!AccountInfoInteger(ACCOUNT_TRADE_EXPERT)) 
      Print("Automatic trading is prohibited for the account",AccountInfoInteger(ACCOUNT_LOGIN), 
      " on the trading server side ");
   if(!AccountInfoInteger(ACCOUNT_TRADE_ALLOWED)) 
      {Comment("Trading is prohibited for the account ",AccountInfoInteger(ACCOUNT_LOGIN), 
            ".\n It is possible that the connection to the trading account was made using an investment password.", 
            "\n Check the terminal log to see if there is such an entry:", 
            "\n\'",AccountInfoInteger(ACCOUNT_LOGIN),"\': trading has been disabled - investor mode.");
       Print("Trading is prohibited for the account ",AccountInfoInteger(ACCOUNT_LOGIN));
      }
   if(!TerminalInfoInteger(TERMINAL_CONNECTED)) Print("No connection to the server");

我已经马上通过了这个错误。但我得到了另一个--错误148。

未结订单和挂单的数量已经达到经纪人设定的限制。


我在OrderSend之前插入了一个最大订单数的检查,最后通过了验证。

 
晚上好!
在测试阶段,我在MQL5市场 投放EA时有一个问题。
如何在放置*.ex5文件时指定自动测试的时间框架,否则自动测试将默认在H1时间框架上进行?
如果我只有一个交易对和一个时间框架,我应该怎么做?
到目前为止,我并不真正理解这个检查过程。

P.S.: 我自己也会检查音量。
也许我应该插入代码,这是帮助中建议的?
 
Alexandr Plys:
晚上好! ,在
MQL5市场 放置专家顾问的测试阶段,我有一个问题。如何在放置*.ex5文件时指定自动测试的时间框架,否则自动测试将默认在H1时间框架上进行?如果我只有一个交易对和一个时间框架,我应该怎么做?到目前为止,我并不真正理解这个检查过程。P.S.: 我自己也会检查音量。也许我应该插入代码,这是帮助中建议的?





在市场的自动验证过程中,财务结果并不重要,检查是在不同的交易环境条件、不同的存款、不同的时间框架和交易工具下进行的可能错误。测试应在所有可能的条件下进行,不能出现错误,不能设置对和时限的限制。在描述中说明推荐的交易工具和时间框架。