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

 
nra_:
Mi rendo conto che OnDeinit nell'EA non dovrebbe arrivare a OnDeinit, ma questo è l'ideale. Sei sicuro che durante le 15 ore del tuo test, OnInit sia stato chiamato una sola volta nell'Expert Advisor?

Sì. Perché dovrebbe essere altrimenti?

Si tratta di un EA, che non può essere reiniziato senza la partecipazione dell'utente (cambio di grafico, parametri, ricompilazione).

 

Bene, anche se vorrei verificare se questo è il caso nella realtà. Ora farò il test sul mio portatile. In serata vedremo il risultato. Il mio EA esporta i ticks in un modulo esterno in modo simile, vorrei capire quanto è robusta la soluzione OnChartEvent.

PS. Hai dei simboli personalizzati nella panoramica del mercato al momento del test?

 
nra_:

Bene, anche se vorrei verificare se questo è il caso nella realtà. Ora farò il test sul mio portatile. In serata vedremo il risultato. Il mio EA esporta i ticks in un modulo esterno in modo simile, vorrei capire quanto è stabile la soluzione OnChartEvent.

PS. Hai dei simboli personalizzati nella panoramica del mercato al momento del test?

Non ci sono simboli personalizzati.

Ma a quanto pare il problema non si riproduce per tutti. Per ora ho rinunciato alle spie.

 
La connessione si è interrotta durante il test?
 
nra_:
La connessione si è interrotta durante il test?

No, non ci sono perdite nel registro delle connessioni.

 

Dal file include OnTick(string symbol).mqh:

//+------------------------------------------------------------------+
//| Funzione tick dell'esperto|
//|| Usato esclusivamente per l'uso nel tester ||
//+------------------------------------------------------------------+
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__);
           }
        }
     }
  }
//+------------------------------------------------------------------+

Ho capito bene che questo non è comunque un tester multicurrency completo? Il controllo avviene SOLO quando arriva un tick sul grafico principale, e si limita a verificare se gli altri simboli sono già cambiati?