Errori, bug, domande - pagina 978

 
voix_kas:

Per migliorare la purezza della programmazione, vorrei chiedere al pubblico un parere in merito.

Supponiamo che ci sia un flag (bool Flag) dichiarato globalmente. Quando si verificano certi eventi/condizioni, deve essere impostato su un certo valore.

La prima variante:

Seconda opzione:

Quale opzione:

1. più veloce in termini di prestazioni?

2. Se posso dire così, "più professionale"?

Questa sezione di codice dovrebbe essere controllata abbastanza spesso, per esempio ogni tick.

E secondo voi, ogni zecca è spesso?

Ci sono circa 3-5 milioni di questi confronti in un tick; la CPU non noterà nemmeno le vostre condizioni.

Ma se avete intenzione di confrontare diverse migliaia per tick, allora vale la pena di ottimizzare.

In generale, c'è un profiler per ottimizzare la velocità.

 

Domande 1 e 2 sulla condizione come sotto:

if (A==1 || B==2 || C==3)
{  // некие действия
}

1) Se la condizione A==1 è vera, B e C saranno controllate dopo? O senza controllare B e C si fa "qualche tipo di azione".

2) Il controllo va da sinistra a destra (A, B, C) o viceversa (C, B, A)?

3) Come si può profilare il codice nei fine settimana quando non ci sono tic?

 
paladin800:

Domande 1 e 2 sulla condizione come sotto:

1) Se la condizione A==1 è vera, B e C saranno controllate dopo? O senza controllare B e C si fa "qualche tipo di azione".

2) Il controllo va da sinistra a destra (A, B, C) o viceversa (C, B, A)?

3) Come posso provare il codice in un fine settimana quando non ci sono zecche?

1. se la prima condizione è vera, allora le seguenti non saranno controllate. è una condizione "o

2. da sinistra a destra

3. stimolare attraverso l'impostazione del timer, ad esempio

 

O i miei sci non funzionano, o è colpa mia...

void OnStart()
  {
   int intDATA[];ArrayResize(intDATA,10);ArrayInitialize(intDATA,0);
   Print(string(sizeof(intDATA)));

   int doubleDATA[];ArrayResize(doubleDATA,10);ArrayInitialize(doubleDATA,0.0);
   Print(string(sizeof(doubleDATA)));

   int intD=0;
   Print(string(sizeof(intD)));

   double doubleD=0.0;
   Print(string(sizeof(doubleD)));
  }

2013.04.29 15:28:17    Size (EURUSD,D1)    8   //верно
2013.04.29 15:28:17    Size (EURUSD,D1)    4   //верно
2013.04.29 15:28:17    Size (EURUSD,D1)    52 //должно быть 8*10=80?
2013.04.29 15:28:17    Size (EURUSD,D1)    52 //должно быть 4*10=40?

 
joo:

O i miei sci non funzionano, o è colpa mia...

La dimensione di un array dà la dimensione di un blocco descrittivo dell'array, non la dimensione dell'array. Per ottenere la dimensione dell'array, dovreste fare sizeof(element)*ArraySize()
Документация по MQL5: Операции с массивами / ArraySize
Документация по MQL5: Операции с массивами / ArraySize
  • www.mql5.com
Операции с массивами / ArraySize - Документация по MQL5
 
Renat:
La dimensione di un array dà la dimensione del blocco descrittivo dell'array, non la dimensione dell'array. Per ottenere la dimensione di un array, fate sizeof(element)*ArraySize()
Grazie.
 
Aiuto! Grafico e statistiche non vengono più visualizzatihttps://www.mql5.com/ru/signals/5894
 
necroslav:
Aiuto! Grafico e statistiche non vengono più visualizzatihttps://www.mql5.com/ru/signals/5894
Il broker ha cancellato la cronologia di trading per qualche motivo. Devi fargli delle domande.
 
Rosh:
Per qualche motivo il broker ha cancellato la cronologia di trading. Devi fargli delle domande.

nel terminale stesso ho ancora la storia. Sicuramente il problema è con il broker?

p.s. È di nuovo in funzione... strano

 
Ciao, la scheda segnali in MT4 è sparita, c'era la mattina, è arrivata la sera ed è sparita. E ora la richiesta non viene eseguita, cosa devo fare?