Errore di convalida quando si rilascia il robot di trading al mercato. - pagina 7

 

Il validatore si è rotto di nuovo?


 
Sergey Fedotov:

Di nuovo lo stesso errore...

test su EURUSD,H1 relazione del tester di strategia 38 trade totali test su NZDUSD,H1 non ci sono operazioni di trading test su GBPUSDcheck,M30 tester impiega troppo tempo relazione del tester di strategia non trovata

Ho la sensazione che sia una specie di schema. Ho ottenuto esattamente lo stesso risultato con una differenza nel numero di scambi su EURUSD:

La cosa più interessante è che ho già scritto in OnInit() l'apertura incondizionata del trade BUY e la chiusura dopo 5 minuti. Sempre la stessa merda: "niente scambi"!

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 ---------------------------------------- 
Come può non esserci nessuna operazione se è qui, aprendo al 100% O uno non basta, non conta?! Qualcuno "al timone" mi dia una risposta, per favore.
 
Andrey Kaunov:

Sembra un modello. Ho lo stesso risultato con una differenza nel numero di scambi su EURUSD:

La cosa più interessante è che ho già scritto in OnInit() l'apertura incondizionata del trade BUY e la chiusura dopo 5 minuti. Sempre la stessa merda: "niente scambi"!

Come può non esserci nessun trade se questo è aperto al 100%? O un trade non è sufficiente, non conta! Qualcuno "al timone" mi dia una risposta, per favore.
Assegno per fondi insufficienti. Nel tester, impostate i fondi a 0,1 dollari. L'Expert Advisor dovrebbe inviare un messaggio di fondi insufficienti e smettere di funzionare. Anche l'assenza di un messaggio e non la cessazione del lavoro non dà alcun mestiere. Anch'io stavo agonizzando))))
 
"Ancora una volta per i centesimi di pesce..."


Tutti i lavori che sono andati bene l'altro ieri ora ricevono un rifiuto "rapporto tester di strategia non trovato"
Qual è il nuovo (vecchio) espediente? Cos'altro ti è venuto in mente per soffiare via altri sviluppatori? Dove guardare, cosa risolvere? Non è un bug, è una cosa incredibile...
Questo argomento era già stato sollevato all'inizio del topic, ma dopo aver sfogliato qualche pagina, non ho ancora capito cosa sta succedendo.
Uno stesso lavoro per persone che all'inizio non sono passate, poi sono passate senza alcuna modifica.
 
Se intendete spiegare il problema con una "logica troppo complicata" e/o errori logici, ecco un codice di un robot "monocellulare" che ottiene esattamente lo stesso errore: " "strategy tester report not found " "
#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()
// ==================================================================================================







Già qui non ci possono essere errori logici a causa della logica estremamente primitiva - non c'è nessun posto dove sbagliare ;)

 

Tutto si avvia normalmente.

Nessun errore "rapporto del tester di strategia non trovato" ....

L'ho appena aggiornato ora, tutto è ok.

 
Vladislav Andruschenko:

Tutto si avvia normalmente.

Nessun errore "rapporto del tester di strategia non trovato" ....

L'ho appena aggiornato ora, tutto è ok.

Se è così, è stato risolto, - grazie per l'informazione. Lo controllerò ora con un robot che passa al 100%.

------- Aggiunto 21:02 -------------


Impossibile!

Nemmeno il robot di due dozzine di linee il cui codice ho postato sopra riesce a passare.
 

Simile. Quando si aggiunge un esperto a MT4 (non ho provato MT5), il validatore va in negazione. E in un paio di secondi dopo aver premuto il pulsante di avvio.


 
Evgeniy Zhdan:

Simile. Quando si aggiunge un esperto a MT4 (non ho provato MT5), il validatore va in negazione. E in un paio di secondi dopo aver premuto il pulsante di avvio.


Il rifiuto di 2 secondi è se lo stesso file viene caricato due volte. Sovrascrivere con un altro file o ricompilare lo stesso file ;)
Solo per divertimento ho controllato "per la validazione" una dozzina di file del mio collega, di cui ho scritto i codici per la validazione (tutti sono stati controllati con il validatore da me e il mio collega li ha pubblicati con successo).
Oggi non ne è passato neanche uno!
Questo significa che una dozzina di robot è passata per caso? Sono stato solo fortunato? Perché a giudicare da oggi, sono proprio storto...
È strano tutto questo. Ogni giorno ce n'è uno nuovo.

 
Vasyl Temchenko:
Se intendete spiegare il problema con "logica troppo complessa" e/o errori logici, ecco il codice di un robot "monocellulare" che ottiene esattamente lo stesso errore: " "strategy tester report not found " "

Già qui non c'è modo che ci possano essere errori logici a causa della logica estremamente primitiva - non c'è modo di sbagliare ;)

Forse è semplice da spiegare - il server viene aggiornato a nuove versioni, qualcosa non è incasinato da qualche parte, messo a punto, i bug stanno spuntando di nuovo, ecc.

Motivazione: