restituisce la politica di esecuzione. - pagina 4

 
prostotrader:

Dovete farlo in questo modo:

grazie)
 
E per favore spiegate anche cosa fare nella deinizializzazione. Ho visto nel codice che vengono cancellate solo le istanze delle classi. E le variabili e gli array devono essere azzerati? A cosa serve, comunque? Cosa succede se le classi non vengono cancellate? Rimarranno in memoria fino allo spegnimento del terminale o anche dopo?
 
Ivan_Invanov:
E per favore spiegate anche cosa fare nella deinizializzazione. Ho visto nel codice che vengono cancellate solo le istanze delle classi. E le variabili e gli array devono essere azzerati? A cosa serve, comunque? Cosa succede se le classi non vengono cancellate? Rimarranno in memoria fino allo spegnimento del terminale o anche dopo?

Solo gli oggetti creati tramite new dovrebbero essere cancellati.

 
Dmitry Fedoseev:

Solo gli oggetti creati tramite new dovrebbero essere cancellati.

Grazie. Perché?
 
Ivan_Invanov:
Grazie. E perché?

Perché non si rimuove da solo.

 
Dmitry Fedoseev:

Perché non si rimuove da solo.

E se si chiude il terminale, rimane?
 
Ivan_Invanov:
E se si chiude il terminale, rimarrà?

Penso che sarà rimosso, ma non con certezza. Non si faccia illusioni. Lo crei e lo cancelli.

 
Dmitry Fedoseev:

Penso che sarà rimosso, ma non con certezza. Non si faccia illusioni. Lo crei e lo cancelli.

È cancellato, esattamente, hanno solo bisogno di controllare gli oggetti creati. Questo è necessario per un programmatore per sapere cosa e dove crea e cancella, riduce la probabilità di errori associati a perdite di memoria durante il funzionamento dei programmi.
 
Grazie a tutti per le vostre risposte.
 
Si prega di chiarire la situazione con gli operatori == e != . Se le variabili comparabili sono rappresentate come vere quando hanno un qualsiasi valore non zero (in aiuto è scritto così). Come vengono rappresentati gli array allora? E perché in questo esempio c'è un confronto "non uguale a due", perché esattamente due, se qualsiasi valore non zero è vero, se non c'è differenza, se fosse 1, perché dice esattamente 2? Ecco il codice dell'esempio ufficiale (da Moving Average 2009-2017 v1.00 linea 132).
MqlRates rt[2];
//--- go trading only for first ticks of new bar
   if(CopyRates(_Symbol,_Period,0,2,rt)!=2)
     {
      Print("CopyRates of ",_Symbol," failed, no history");
      return;
     }

1. È vero che qualsiasi valore non nullo è vero se confrontato negli operatori "==" , "!=" ?

2. Come viene rappresentato un array? Come può essere paragonato a un numero?

3. Perché c'è un "2" nel confronto? Se secondo l'aiuto la verità è un qualsiasi valore non zero, allora è logico scrivere "1".

4. La condizione se CopyRates ha ottenuto un errore?