Sistemi Esperti: Gestore dell'evento multicurrency OnTick(simbolo stringa) - pagina 2

 
2011.08.24 12:40

1. Copy
   indicators\spy_control_panel_mcm.ex5 ok
   indicators\ds.ex5 ok
   include\ontick(string_symbol).mqh ok
   include\ctrade.mqh ok
   experts\atcrollback.ex5 ok

2. Compile

3. Configuration
   atcrollback on EURUSD:M12 every tick 2011.01.01-2011.08.01


4. Start
   finished in 0 min 9 sec


5. Statistics
loading of Spy Control panel MCM EURUSD,M12 failed
2011.01.01 00:00:00   expert removed because custom indicator 'Spy Control panel MCM' cannot load [4802]
tester stopped because OnInit critical error
   5 kb of log files
   there are no trading operations


4 errors

У меня все работает, выложил на проверку на чемп. вот такие дела:(
я так понял шпион не запустился, в чем может быть причина? там обязательно mq5 выкладывать, или ex5 достаточно?

 
Olegts:


È difficile capire senza il log e il codice perché l'indicatore non può essere creato, soprattutto se tutto funziona. Ricontrollate il percorso della spia, forse il percorso della spia è sbagliato o qualcosa del genere.
 
Olegts:


Controllare il nome dell'indicatore: cerca di caricare "Spy Control panel MCM" con gli spazi e carica "spy_control_panel_mcm" con i trattini bassi.

 
Lizar:
È difficile capire senza il log e il codice perché l'indicatore non può essere creato, soprattutto se tutto funziona. Ricontrolla il percorso della spia, forse il percorso della spia è sbagliato o qualcosa del genere.
Grazie per l'aiuto, Renat ha ragione, durante il processo di caricamento sul server mql5.com il file aveva dei trattini bassi al posto degli spazi, ho rimosso gli spazi nel nome, ho corretto il nome in OnTick(string symbol).mqh, l'ho inviato per il controllo, aspetto il risultato....
 
Olegts:
Grazie per l'aiuto, Renat ha ragione, durante il caricamento sul server mql5.com il file aveva dei trattini bassi al posto degli spazi, ho rimosso gli spazi nel nome, in OnTick(string symbol).mqh ho corretto il nome, l'ho inviato per il controllo, aspetto il risultato....
Ottenuto.
 
Lizar:
Ottenuto.
Nessun errore! Grazie mille per la modalità multicurrency, perché ero in difficoltà con OnTimer(). Non so dove sia apparso il problema degli spazi, nel mio Opera o sul server, ma Renat ha un occhio eccellente: ha trovato la differenza!
 
Olegts:
Nessun errore! Grazie mille per la modalità multicurrency, perché ero in difficoltà con OnTimer(). Non so dove sia apparso il problema degli spazi, nel mio Opera o sul server, ma Renat ha un occhio eccellente: ha trovato la differenza!
Non c'è di che. Anche a me piace questo schema di lavoro.
 
Lizar:
Non c'è di che. Anche a me piace questo schema di lavoro.
Konstantin, ciao. Se hai un po' di tempo libero, per favore visita questo thread - Risultati del test di Expert Advisor multicurrency. Le tue parole sarebbero molto utili. Grazie per il tuo lavoro.
 
tol64:
Konstantin, ciao. Se hai un po' di tempo libero, ti prego di visitare questo topic - Risultati del test di Expert Advisor multicurrency. La tua parola sarebbe molto utile. Grazie per il tuo lavoro.
Grazie per il tuo lavoro. Darò un'occhiata.
 

Il codice dell'articolo non è aggiornato. Ho perso mezza giornata a combattere i mulini a vento. In particolare:

void EventCustom(ENUM_CHART_EVENT_SYMBOL event,double price)
  {
   if(!testing) EventChartCustom(chart_id,custom_event_id,(long)event,price,_Symbol);
   else
     {
      if(GlobalVariableSet(_Symbol+"_custom_id",custom_event_id)==0) return;
      if(GlobalVariableSet(_Symbol+"_event",event)==0) return;
      if(GlobalVariableSet(_Symbol+"_price",price)==0) return;
      GlobalVariableSet(_Symbol+"_flag",2);
     }
   return;
  }



void OnTick()
  {
   if(_testing_)
     {
      for(int i=0;i<_symbols_total_;i++)
        {
         string __symbol__=_symbol_[i];
         if(MathAbs(GlobalVariableGet(__symbol__+"_flag")-2)<0.1)
           {
            GlobalVariableSet(__symbol__+"_flag",1);
            OnTick(__symbol__);
           }
        }   
     }   
  }



tutto questo "sciamanesimo" con le variabili globali non è necessario. OnCalculate viene chiamato perfettamente all'interno del tester.