Errori, bug, domande - pagina 381

 
Renat:

Gli aggiornamenti ai server della build 441 sono stati rilasciati ieri sera per il nostro server demo e i broker avranno un aggiornamento sabato.

Purtroppo a causa dell'alto volume di cambiamenti, l'ultimo aggiornamento ufficiale del server 425 risale a un mese fa. Ora gli aggiornamenti dei server saranno di nuovo più frequenti.

Il bug con la storia dopo il fine settimana è stato risolto molto tempo fa, non dovrebbe accadere di nuovo nella build 441.

Grazie. Vi farò sapere se il problema si ripresenta.
 

Ho notato una stranezza con la build 441

Quando si testa sulla storia degli ultimi 1,5 anni, M5, GBPUSD, solo i prezzi di apertura. Ci sono state 20 corse in 50 minuti, con 8 agenti che correvano.

Prima era diversi ordini di grandezza più veloce. E ho anche notato che più lungo è il test, più le corse diventano sempre più lente.

Finora sono state fatte solo 22 corse in 75 minuti.

 
Jager:

Ho notato una stranezza con la build 441

Quando si testa sulla storia degli ultimi 1,5 anni, M5, GBPUSD, solo i prezzi di apertura. Ci sono state 20 corse in 50 minuti, con 8 agenti che correvano.

Prima era diversi ordini di grandezza più veloce. E ho anche notato che più lungo è il test, più le corse diventano sempre più lente.

Sto vedendo un problema simile con me stesso
 

Il mio MetaEditor, quando cerca di compilare, si lamenta dell'ultima linea di questo frammento di codice:

   CopyOpen(Symbol(),PERIOD_M30,0,100,OPEN_M30);
   CopyClose(Symbol(),PERIOD_M30,0,100,CLOSE_M30);
   CopyHigh(Symbol(),PERIOD_M30,0,100,HIGH_M30);
   CopyLow(Symbol(),PERIOD_M30,0,100,LOW_M30);
   CopyRealVolume(Symbol(),PERIOD_M30,0,100,VOLUME_M30);

Dice quanto segue: 'CopyRealVolume' - nessuno degli overload può essere applicato alla chiamata di funzione

Non riesco a capire il motivo...?

 
Wangelys:

Il mio MetaEditor, quando cerca di compilare, si lamenta dell'ultima linea di questo frammento di codice:

Dice quanto segue: 'CopyRealVolume' - nessuno degli overload può essere applicato alla chiamata di funzione

Non riesco a capire il motivo...?

Forse dovreste citare tutti i frammenti di codice correlati.

Provate in questo modo. Questo errore(nessuno degli overload può essere applicato alla chiamata di funzione) è apparso nel mio codice quando il tipo di array non corrispondeva a quello necessario o mancavano le parentesi vicino agli array.

//----------------------------------------------------------------------------//
//Work variables
double OPEN_M30[], CLOSE_M30[], HIGH_M30[], LOW_M30[];
long VOLUME_M30[];
//----------------------------------------------------------------------------//

CopyOpen(Symbol(),PERIOD_M30,0,100,OPEN_M30);
CopyClose(Symbol(),PERIOD_M30,0,100,CLOSE_M30);
CopyHigh(Symbol(),PERIOD_M30,0,100,HIGH_M30);
CopyLow(Symbol(),PERIOD_M30,0,100,LOW_M30);
CopyRealVolume(Symbol(),PERIOD_M30,0,100,VOLUME_M30);
 
Interesting:

Immagino che tu debba citare tutte le sezioni del codice relative, vero?

Provate in questo modo. Ho ottenuto questo errore(nessuno degli overload può essere applicato alla chiamata di funzione) se il tipo di array non corrispondeva a quello richiesto o se mancavano le parentesi per gli array.

Credo che mia moglie abbia ragione quando dice che a volte si dovrebbe dormire di notte...
In effetti, è stato specificato il tipo sbagliato di array, l'ho corretto e tutto è OK. Grazie per il suggerimento.
Vado a fare un pisolino...

 

Non sto generando eventi per qualche motivo

         case CHARTEVENT_OBJECT_CREATE:
            //  Cобытие создания графического объекта
            break;
         case CHARTEVENT_OBJECT_CHANGE:
            // Cобытие изменения свойств объекта через диалог свойств
            break;
         case CHARTEVENT_OBJECT_DELETE :
            // Событие удаления графического объекта
            break;

Ho controllato sotto il debugger...

Forse sto facendo qualcosa di sbagliato, ditemi

 
vdv2001:

Non sto generando eventi per qualche motivo

Ho controllato sotto il debugger...

Forse sto facendo qualcosa di sbagliato, ditemi.

Controlla le impostazioni del grafico, ci sono stati dei cambiamenti nella build 439 - https://www.mql5.com/ru/forum/23/page11#comment_62184

10. MQL5: aggiunte le proprietà CHART_EVENT_OBJECT_CREATE e CHART_EVENT_OBJECT_DELETE per controllare la generazione di eventi appropriati.
Список изменений в билдах MetaTrader 5 Client Terminal
Список изменений в билдах MetaTrader 5 Client Terminal
  • www.mql5.com
Автоматическое обновление доступно через систему LiveUpdate:.
 
vdv2001:

Non sto generando eventi per qualche motivo

Ho controllato sotto il debugger...

Forse sto facendo qualcosa di sbagliato, ditemi

A proposito, CHARTEVENT_OBJECT_CHANGE funziona. Ho appena controllato.
 

Voglio raccogliere i tick del tester per il periodo per controllare il trading virtuale, faccio quanto segue (il timeframe M1 è specificato ovunque, EURUSD):

//Collega i tick del tester: da c'20.08.2010 00:00:00' a D'01.10.2010 00:00:00'

void OnTick()
{
MqlTick last_tick;
if(SymbolInfoTick(Symbol(),last_tick))
{
if(last_tick.time>=D'20.08.2010 00:00:00')Print(last_tick.bid);
}
else Print("SymbolInfoTick() failed, error = ",GetLastError());
if(last_tick.time>=D'01.10.2010 00:00:00')ExpertRemove();
}

Poi prendo questi tick dal log e li metto in un array in un altro Expert Advisor. Confrontando il volume di zecche per il periodo di cui sopra e le zecche nel file di log, noto che c'è una perdita di dati nel file delle zecche.

I tick nel file: 1159105, e il volume di tick per questo periodo: 1161872

A cosa può essere dovuto? Come posso ottenere i giusti tick dal tester?

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы - Документация по MQL5