Errori, bug, domande - pagina 2475

 

Agli sviluppatori.

Visualizzazione molto scomoda dei valori delle variabili nel debugger.

Per esempio, gli oggetti complessi hanno questo aspetto:


per vedere il contenuto, dovete inserirlo manualmente:



anche in questo caso, il contenuto di questo elemento è disegnato in una stringa e i valori dei campi non sono visibili.

Si prega di commentare - è previsto uno sviluppo nella seguente direzione. Per esempio:

Raccolta di oggetti:



Premere F2:



Qualsiasi elemento della collezione che contiene campi può essere visualizzato comodamente come segue:


 

A causa di una chiamata a tale funzione nel tester di strategia:

void SleepReal(int milliseconds){
   datetime current_time = GetTickCount();
   while(GetTickCount() - current_time < milliseconds){
      //if(MQLInfoInteger(MQL_TESTER)){
      //}else{
         Sleep(milliseconds);
      //}
   }
}

Si è verificato un errore:

2019.05.30 15:14:06.888 SD-PC   pass 0 tested with error "critical runtime error 512 in OnInit function (sleep function reaches end of test)" in 0:00:00.329
2019.05.30 15:14:06.888 SD-PC   pass 1 tested with error "critical runtime error 512 in OnInit function (sleep function reaches end of test)" in 0:00:00.072


Questo comportamento può essere aggirato decommentando il codice commentato.

 
Ci sono 2 indicatori che girano su 1 grafico. Cambiare i parametri utente di uno di essi spesso causa il blocco del terminale stesso, build 2063. Non ho mai visto questo problema. Chi degli amministratori posso contattare? Grazie
 

Ciao a tutti!

Ecco una domanda:

in un EA multivaluta come ottengo l'id di un grafico il cui simbolo è diverso dal simbolo su cui il test è in esecuzione?

Uso la seguente funzione, restituisce solo l'id del grafico di prova, per tutti gli altri restituisce 1!

long GetChartId(const string symbol,const ENUM_TIMEFRAMES prd)
{
   long res = ChartFirst();
   
   while(res > 0)
   {
      if(ChartSymbol(res) == symbol && ChartPeriod(res) == _Period)
      {
         break;
      }
      
      res = ChartNext(res);
   }
   
   return res;
}
 

Non è la prima volta che ho notato che i messaggi push spariscono da qualche parte

L'indicatore ha inviato 2 messaggi, non sono arrivati allo smartphone.

Faccio un test e il messaggio di prova è venuto...

Quale potrebbe essere il problema?


 

Utilizzo delle funzioni del calendario nell'indicatore.


int OnInit()
  {
   MqlCalendarValue values[]; 
   datetime date_from=D'01.01.2006';   
   datetime date_to=D'01.01.2015'; 
   ulong event_id = 840040001;
   CalendarValueHistoryByEvent(event_id,values,date_from,date_to);
   Print("количество событий: ", ArraySize( values) );
   return(INIT_SUCCEEDED);
  }
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
   return(rates_total);
  }

quando si avvia il debug utilizzando il pulsante "Start with real data", il testo del messaggio:



sul pulsante "Start on historical data" nelle impostazioni:




numero di eventi 0:



 
Vladimir Pastushak:

Non è la prima volta che noto che i messaggi push mancano da qualche parte

L'indicatore ha inviato 2 messaggi, non sono arrivati allo smartphone.

Sto facendo un test e il messaggio di prova è arrivato...

Quale potrebbe essere il problema?


Non c'è nessun ritardo.
 

О. Farò una domanda qui.

Ho bisogno di un demo-server con simboli postfix, come EURUSD_i, per testare la classe CSybolInfo su questi nomi.

Mi ricordo, mi sono imbattuto in un server simile qualche tempo fa, ma ora non riesco a trovarlo. Ho tutti i server con nomi normali... Dove trovare i postfix? Penso che anche Alpari avesse qualcosa del genere - ma non riesco a trovarlo.

 
Georgiy Merts:

О. Farò una domanda qui.

Ho bisogno di un server demo con simboli postfix, come EURUSD_i, per testare la classe CSybolInfo su questi nomi.

Mi ricordo che una volta mi sono imbattuto in uno, ma ora non riesco a trovarlo. Ho tutti i server con nomi normali ... Dove posso trovare postfix? Penso che anche Alpari avesse qualcosa del genere - ma non riesco a trovarlo.

Fanne uno personalizzato.

 
fxsaber:

Fanne uno personalizzato.

Hmmm... Amico, mi mancava davvero... Grazie, fxsaber.

(E manteniamo il "tu", ci conosciamo bene in contumacia).