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

 

验证器又坏了吗?


 
Sergey Fedotov:

又是同样的错误...

测试欧元兑美元,H1策略测试器报告38次交易测试纽元兑美元,H1没有交易操作 测试英镑兑美元检查,M30测试器需要太长时间 策略测试器报告没有找到

我有一种感觉,这是一种模式。我得到了完全相同的输出,但在欧元兑美元的交易数量上有差异。

最有趣的是,我已经在OnInit()中写了无条件的BUY交易开盘,并在5分钟后关闭。还是那句废话:"没有交易"!

int OnInit() {
   string message="";
   int stops_level=(int)SymbolInfoInteger(_Symbol,SYMBOL_TRADE_STOPS_LEVEL);
   iTrailStart=inpTrailStart;
   iTrailStart2=inpTrailStart2;
   iTrailStartL=inpTrailStartL;
   //---
   if(stops_level>0) {
      if(inpTrailStart<stops_level+3) iTrailStart=stops_level+3;
      if(inpTrailStart2<stops_level+3) iTrailStart2=stops_level+3;
      if(inpTrailStartL<stops_level+3) iTrailStartL=stops_level+3;
   }
   
   Comment("");
   EventSetMillisecondTimer(300);
          
   if(IsTesting()) test_ticket=OrderSend(_Symbol,OP_BUY,SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_MIN),NormalizeDouble(Ask,_Digits),30,0.0,0.0,"NZT-48_test",33333,0,clrNONE);
   
   return(INIT_SUCCEEDED);
}//-------------------------------------- End OnInit ---------------------------------------- 
在这里,怎么可能没有操作,如果在这里,以100%的速度打开,或者一个不够,难道不算吗!?某位 "掌舵者",请给我们一个答案。
 
Andrey Kaunov:

这感觉就像一个模式。我有相同的输出,但在欧元兑美元的交易数量上有差异。

最有趣的是,我已经在OnInit()中写了无条件的BUY交易开仓,5分钟后关闭。还是那句废话:"没有交易"!

怎么会没有交易,如果这里是100%开盘,或者一个交易不够,那就不算了!某位 "掌舵者",请给我一个答案。
检查资金不足。在策略测试器中,将资金设置为0.1美元。专家顾问应发出资金不足的信息并停止工作。没有消息而不停止工作,也就没有交易。我也在苦恼,))))
 
"再一次为鱼分钱......"


前天所有顺利的工作现在都得到了 "未找到策略测试者报告 "的拒绝
新(旧)的噱头是什么?你还想出了什么办法来轰走更多的开发商?去哪里找,修什么? 这不是一个错误,是一个地狱般的东西......
这个话题在话题开始时已经提出来了,但浏览了几页后,我还是不明白那里发生了什么。
同一件作品的人起初没有通过,后来没有经过任何编辑就通过了。
 
如果你打算用 "太复杂的逻辑 "和/或逻辑错误来解释这个问题,这里有一个 "单细胞 "机器人的代码,它得到了完全相同的错误:" "未找到策略测试器报告" "
#property copyright "V.Temchenko"
#property link      "Mailto:vasily.4896@gmail.com"
#property version   "1.00"
#property strict
//-----------------
input double   Lots        =0.10;          
input int      Step        =100;  
input int      TP          =450;  
input int      SL          =900;  

//===================================================================
void OnTick(){
double freeMargin, lot, minLot, maxLot, volStep, tp=0,sl=0;
int ticket=0, b=0, s=0;
long dealMax;
//bool BuyOK=false, SellOK=false;
//-------
 for(int i=0; i<=OrdersTotal(); i++) { if (OrderSelect(i, SELECT_BY_POS)) { 
   if(OrderType()==OP_BUY)   b++; 
   if(OrderType()==OP_SELL)  s++;
 }} //-- for
//-----------
   freeMargin=AccountFreeMargin(); 
   minLot=MarketInfo(Symbol(),MODE_MINLOT); 
   maxLot=MarketInfo(Symbol(),MODE_MAXLOT);
   volStep=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_STEP);
   dealMax=AccountInfoInteger(ACCOUNT_LIMIT_ORDERS);

// ----------------------- Preliminary check -----------------------  
 lot=Lots; if(lot<minLot) lot=minLot; // Без lot=minLot; не проходит
   if(freeMargin<=0) return;                 // check freeMargin 
   if(dealMax>0 && OrdersHistoryTotal()==dealMax) return; // check max allowed orders number
   if(lot<minLot) return;                    // check MinVolume
   if(lot>maxLot) lot=maxLot*0.9;            // check MaxVolume
   lot=int(lot/volStep)*volStep;             // normalize volume-step

// ----------------------- Send order -----------------------  
   if(b < 1) {  
      if(AccountFreeMarginCheck(Symbol(),OP_BUY,lot)<=0) return; // check rest Money after deal
         if(TP>0) tp=NormalizeDouble(Ask+TP*Point,Digits);
         if(SL>0) sl=NormalizeDouble(Ask-SL*Point,Digits);
      ticket=OrderSend(Symbol(),OP_BUY,lot,NormalizeDouble(Ask,Digits),350,sl,tp,"",123,0,clrBlue);
            if(ticket>0) { b++; return; } else { Print("_1_ Can't open buy."); return; } 
   } //--
   if(s < 1) {  
      if(AccountFreeMarginCheck(Symbol(),OP_SELL,lot)<=0) return; // check rest Money after deal
         if(TP>0) tp=NormalizeDouble(Bid-TP*Point,Digits);
         if(SL>0) sl=NormalizeDouble(Bid+SL*Point,Digits);
         ticket=OrderSend(Symbol(),OP_SELL,lot,NormalizeDouble(Bid,Digits),350,0,0,"",123,0,clrRed);
            if(ticket>0) { s++; return; } else { Print("_2_ Can't open sell"); return; } 
   } //--
//-----------
   return;
 } //-- OnTick()
// ==================================================================================================







在这里已经不可能有逻辑错误了,因为极其原始的逻辑--没有任何地方可以出错;)

 

一切都在正常启动。

没有"未找到策略测试员报告 "的错误....

我现在刚刚更新了它,一切都很好。

 
Vladislav Andruschenko:

一切都在正常启动。

没有"未找到策略测试员报告 "的错误....

我现在刚刚更新了它,一切都很好。

如果是这样,它已经被修复了,--谢谢你的信息。我现在要用100%合格的机器人来检查它。

------- 添加 21:02 -------------


不可能!

甚至连我在上面发布的二十几行机器人的代码都无法通过。
 

类似的。在MT4上添加专家时(我没有试过MT5),验证器会进入拒绝状态。而在按下启动按钮后的几秒钟内。


 
Evgeniy Zhdan:

类似的。在MT4上添加专家时(我没有试过MT5),验证器会进入拒绝状态。而在按下启动按钮后的几秒钟内。


2秒的拒绝是指同一文件被加载两次。用另一个文件覆盖或重新编译相同的文件;)
只是为了好玩,我检查了我同事的十几个文件的 "验证",我为他写了验证代码(所有这些文件都由我用验证器检查,我的同事成功地发布了它们)。
今天,没有一个人通过!
这是否意味着有一打机器人意外 地溜走了? 我只是运气好吗? 因为从今天来看,我专门歪打正着......
这很奇怪,这整个事情。每天都有一个新的。

 
Vasyl Temchenko:
如果你打算用 "太复杂的逻辑 "和/或逻辑错误来解释这个问题,这里有一个 "单细胞 "机器人的代码,它得到了完全相同的错误:" "未找到策略测试器报告" "

在这里已经不可能有逻辑错误了,因为有极其原始的逻辑--没有地方出错;)

也许解释起来很简单--服务器正在更新到新的版本,有些地方没有被搞砸,被调整了,错误又冒出来了,等等。