Здравствуйте прошу помощи при авто валидации советника Автоматическое тестирование дало сообщение

 

Автоматическое тестирование продукта завершено с ошибками: 
При тестировании версии 1.0 продукта "***" были выявлены ошибки. После исправления вам следует залить файл продукта заново для повторной попытки проверки.

test on EURUSD,H1

there are no trading operations

test on NZDUSD,H1

there are no trading operations

test on GBPUSDcheck,M30

there are no trading operations

test on XAUUSDcheck,Daily

there are no trading operations


Для мультивалютного эксперта добавьте возможность торговать только по одной валютной паре.


Мой советник "***" мультивалютный у него по умолчанию поставлена галка торговать только по одной валютной паре торгует только по таймфрейму М5.

 Автоматическое тестирование не тестирует этот таймфрем М5 прошу помощи. 

С уважением Сулейман А

 
Suleyman Agabayev:

Автоматическое тестирование продукта завершено с ошибками: 
При тестировании версии 1.0 продукта "***" были выявлены ошибки. После исправления вам следует залить файл продукта заново для повторной попытки проверки.

test on EURUSD,H1

there are no trading operations

test on NZDUSD,H1

there are no trading operations

test on GBPUSDcheck,M30

there are no trading operations

test on XAUUSDcheck,Daily

there are no trading operations


Для мультивалютного эксперта добавьте возможность торговать только по одной валютной паре.


Мой советник "***" мультивалютный у него по умолчанию поставлена галка торговать только по одной валютной паре торгует только по таймфрейму М5.

 Автоматическое тестирование не тестирует этот таймфрем М5 прошу помощи. 

С уважением Сулейман А

Что именно не ясно? Сделайте в советнике возможность торговать ПО ОДНОМУ символу и ПО ЛЮБОМУ таймфрейму. 

 
Vladimir Karputov:

Что именно не ясно? Сделайте в советнике возможность торговать ПО ОДНОМУ символу и ПО ЛЮБОМУ таймфрейму. 

Я сделала чтобы мой советник торговал ПО ОДНОМУ символу и ПО ЛЮБОМУ таймфрейму

ошибка тажа 

Состояние тестирования: Тестирование завершилось с ошибками

test on EURUSD,H1 there are no trading operations test on NZDUSD,H1 there are no trading operations test on GBPUSDcheck,M30 there are no trading operations test on XAUUSDcheck,Daily there are no trading operations

 
Suleyman Agabayev:

Я сделала чтобы мой советник торговал ПО ОДНОМУ символу и ПО ЛЮБОМУ таймфрейму

ошибка тажа 

Состояние тестирования: Тестирование завершилось с ошибками

test on EURUSD,H1 there are no trading operations test on NZDUSD,H1 there are no trading operations test on GBPUSDcheck,M30 there are no trading operations test on XAUUSDcheck,Daily there are no trading operations

что не понятно, по всей видимости нет вообще никаких торговых операций, ни по одному инструменту

 
Помогите что мне делать на моем  MetaTrader 4 в тестере советник сделки открывает  Автоматическое тестирование продукта НЕТ что мне делать
 
Suleyman Agabayev:
Помогите что мне делать

Сделать советник, который торгует.

 

Помогите что мне делать на моем  MetaTrader 4 в тестере советник сделки открывает  Автоматическое тестирование продукта НЕТ что мне делать

ОН сделки открывает на моём MetaTrader 4  советник мой торгует внизу скрин 

P.S.

Проблема в вашем авто тестере а не в моем советнике.

Файлы:
tester.PNG  61 kb
 
Suleyman Agabayev:

Помогите что мне делать на моем  MetaTrader 4 в тестере советник сделки открывает  Автоматическое тестирование продукта НЕТ что мне делать

ОН сделки открывает на моём MetaTrader 4  советник мой торгует внизу скрин 

P.S.

Проблема в вашем авто тестере а не в моем советнике.

Прошу обратить внимание СКОЛЬКО опубликовано продуктов в Маркете. 

Попробуйте выучить статью: Какие проверки должен пройти торговый робот перед публикацией в Маркете.

 
Vladimir Karputov:

Прошу обратить внимание СКОЛЬКО опубликовано продуктов в Маркете. 

Попробуйте выучить статью: Какие проверки должен пройти торговый робот перед публикацией в Маркете.

extern double TakeProfit   = 50; //Тейкпрофит ордера
extern int    Delta        = 100; 
extern int    Expiration   = 1;    //Время истечения ордера


int GetOrdersCount(int MagicNumbers, int Type)
{
   int count = 0;
   
   for(int i = 0; i < OrdersTotal(); i++)
   {
      // already closed
      if(OrderSelect(i, SELECT_BY_POS) == false) continue;
      // not current symbol
      if(OrderSymbol() != Symbol()) continue;
      // order was opened in another way
      if(OrderMagicNumber() != MagicNumbers) continue;
      
      if(OrderType() == Type)
      {
         count++;
      }
   }
   
   return (count);
}



 bool CheckMoneyForTrade(string symb, double lots,int type,double prize)
  {
int Plecho= AccountLeverage();
double ContraktSize=SymbolInfoDouble(Symbol(),SYMBOL_TRADE_CONTRACT_SIZE);
double freemargin= ((ContraktSize*(prize+(5*Point())))/Plecho)*lots;
if(AccountFreeMargin()<freemargin)
  {
      string oper=(type==OP_BUY)? "Buy":"Sell";
      Print("Not enough money for ", oper," ",lots, " ", symb, " Error code=",GetLastError());
      return(false);
     }
   return(true);
  }
  
  
bool CheckVolumeValue(double volume)
  {
  string description;
//--- минимально допустимый объем для торговых операций
   double min_volume=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MIN);
   if(volume<min_volume)
     {
      description=StringFormat("Объем меньше минимально допустимого SYMBOL_VOLUME_MIN=%.2f",min_volume);
      return(false);
     }

//--- максимально допустимый объем для торговых операций
   double max_volume=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MAX);
   if(volume>max_volume)
     {
      description=StringFormat("Объем больше максимально допустимого SYMBOL_VOLUME_MAX=%.2f",max_volume);
      return(false);
     }

//--- получим минимальную градацию объема
   double volume_step=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_STEP);

   int ratio=(int)MathRound(volume/volume_step);
   if(MathAbs(ratio*volume_step-volume)>0.0000001)
     {
      description=StringFormat("Объем не является кратным минимальной градации SYMBOL_VOLUME_STEP=%.2f, ближайший корректный объем %.2f",
                               volume_step,ratio*volume_step);
      return(false);
     }
   description="Корректное значение объема";
   return(true);
  }



void placeBuyOrder(double sl,string symbol,int timeFrame){
    
   
         double buyPrice = MarketInfo(symbol, MODE_ASK) ;          
        
         double buySL = sl;
         
               
                    
        
         string tradeComment= "Buy above "+DoubleToStr(buyPrice,4)+ " stop "+DoubleToStr(buySL,4) +" Lot "+DoubleToStr(lotSize,2) ;
           
           Print("Placing buy  order at "+DoubleToStr(buyPrice)+" with SL at "+DoubleToStr(buySL) + " Lot "+DoubleToStr(lotSize,2)   );
           
           // comments
           
           ObjectCreate("TradeComment",OBJ_LABEL,0,0,0);
            ObjectSet("TradeComment",OBJPROP_XDISTANCE,5);
            ObjectSet("TradeComment",OBJPROP_YDISTANCE,40);
            ObjectSetText("TradeComment",tradeComment,14,"Arial",DodgerBlue);
           
           // draw arrow           
                   
          ObjectCreate("TradeArrow1",OBJ_ARROW,0,iTime(ccy,tf,0),iLow(ccy,tf,0)-50*pnt);
          ObjectSet("TradeArrow1",OBJPROP_ARROWCODE,241);
          ObjectSet("TradeArrow1",OBJPROP_COLOR,DodgerBlue);
          ObjectSet("TradeArrow1",OBJPROP_WIDTH,3);
           
              double Lowprice=iLow(symbol,timeFrame,1);
      double Highprice=iHigh(symbol,timeFrame,1);
    
     if (int(MathAbs(iOpen(symbol,timeFrame,1)-iClose(symbol,timeFrame,1))/Point)==0)
     {
     
       BuyPrice=Ask+Delta*Point; 
    SellPrice=Bid-Delta*Point;
     
     }
        if (int(MathAbs(iOpen(symbol,timeFrame,1)-iClose(symbol,timeFrame,1))/Point)>0)
     {
     
       BuyPrice=Ask+(int(MathAbs(iOpen(symbol,timeFrame,1)-iClose(symbol,timeFrame,1))/Point)*2)*Point; 
    SellPrice=Bid-(int(MathAbs(iOpen(symbol,timeFrame,1)-iClose(symbol,timeFrame,1))/Point)*2)*Point;
     
     }

     lotSize = SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MIN);
     
     double MarginNeeded=MarketInfo(Symbol(),MODE_MARGINREQUIRED)*lotSize;
     if(MarginNeeded>=AccountFreeMargin() && lotSize>0)
     {
    return;
     }

    if ( (IsNewOrderAllowed())&&(CheckMoneyForTrade(symbol, lotSize,OP_BUY,BuyPrice)==true) && (CheckVolumeValue(lotSize)==true))
    {
     if (AccountFreeMarginCheck(symbol, OP_BUY, lotSize) && GetLastError() != 134)
     
     {
      if (GetOrdersCount(MagicNumber, OP_BUY) < 1)
      {
     datetime expiration = TimeCurrent()+3600*Expiration;
      RefreshRates();  

       ticketlong=OrderSend(symbol,OP_BUYSTOP,lotSize,BuyPrice,Slippage,NormalizeDouble(buySL, digits),BuyPrice+TakeProfit*Point,"",MagicNumber,expiration,Blue);                                    
     }
       }
         }
      ///  } 
          if (ticketlong < 0) {
               check=GetLastError();
               if(check!=0) Print("Long OrderSend OP_BUY failed with error: ",ErrorDescription(check));  
              return;
          }
   }

Проверки присутствуют все равно no trading operations
  ошибка выходит что делать не знаю 
автовалидатор

 не показывает
 конкретную ошибку или даже код ошибки
 перерыл весь форум у других вроде получается исправить эту ошибку разными проверками с танцами
 с бубнами
 и с телепатией но увы на моем метатрейдер
 в тесторе все ок а автовалидатов выдает ошибку no trading operations
 причем в метатрейдер
е лог с ошибками пуст обок нет вот и становись потом телепатом, есть статья вот Какие проверки должен пройти торговый робот перед публикацией в Маркете
.прочёл поставил проверки на верху код на 
открытие
 позы на бай картина тажа на автовалидаторе no trading operations. Вот такая грустная история.
 
Suleyman Agabayev:
Проверки присутствуют все равно no trading operations
  ошибка выходит что делать не знаю 

...

Вот такая грустная история.

конечно грустная -- у вас же сделки открываются буквально "раз в пятилетку"

и это на 5-ти минутном ТФ

 
Suleyman Agabayev:

Автоматическое тестирование продукта завершено с ошибками: 
При тестировании версии 1.0 продукта "***" были выявлены ошибки. После исправления вам следует залить файл продукта заново для повторной попытки проверки.

test on EURUSD,H1

there are no trading operations

test on NZDUSD,H1

there are no trading operations

test on GBPUSDcheck,M30

there are no trading operations

test on XAUUSDcheck,Daily

there are no trading operations


Для мультивалютного эксперта добавьте возможность торговать только по одной валютной паре.


Мой советник "***" мультивалютный у него по умолчанию поставлена галка торговать только по одной валютной паре торгует только по таймфрейму М5.

 Автоматическое тестирование не тестирует этот таймфрем М5 прошу помощи. 

С уважением Сулейман А

Мультивалютный он в каком смысле? Он только анализирует несколько символом или открывает ордера на нескольких символах? Али просто может быть запущен на разных символах?

В МТ4 в тестере можно открываться только по одному, по своему символу. Если так, то при работе в тестере, надо сделать так, что бы советник и не пытался открывать ордера по другим символам.

Причина обращения: