Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1744

 
Si prega di consigliare chi non è difficile, mql5, a volte l'Expert Advisor ha bisogno di scrivere il valore del tempo per poterlo leggere in seguito, ma ci può essere un crash, ecc. e il tempo verrà cancellato. Posso scrivere datetime in una variabile globale nel terminale, ma è doppia, senza problemi? Grazie!
 
Fast235 #:

Aiuto per i professionisti, è più veloce chiedere, cioè assumere un tutor per così dire. credetemi, è più economico e veloce.

ma hai bisogno di un professionista entusiasta per fare da tutor, non solo un professionista profondo, devi spiegare correttamente la base e questo è tutto. le altre 10k pagine. informazioni eterogenee....

Grazie per il consiglio!

 

Potete dirmi cosa è meglio:

Scrivere tutto in un blocco OnTick o separarlo per funzione? Cioè, per avere solo chiamate di funzioni in OnTick

(la mia domanda riguarda soprattutto l'ottimizzazione del codice e alcune prospettive e insidie)
 
freelancerAntonyan variabile globale nel terminale, ma è doppia, senza problemi? Grazie!
Niente sarà scritto in caso di incidente, GV pure. E in linea di principio non ci sono problemi. Basta applicare una conversione esplicita del tipo quando si scrive e anche quando si legge.
 
freelancerAntonyan variabile globale nel terminale, ma è doppia, senza problemi? Grazie!

qualsiasi tipo può essere scritto e riletto da double tramite l'unione.

 
Ivan Butko chiamate di funzioni in OnTick(La domanda riguarda soprattutto l'ottimizzazione del codice ed eventuali prospettive e insidie)

Le chiamate di funzione sono più corrette.

Solo le funzioni dovrebbero essere logicamente complete e comprensibili, in modo da poter capire la logica di OnTick dal codice.

 
MakarFX #:
Dammi il file qui. Questo è qualcosa di nuovo, non l'avevo ancora sentito.

Rinominate qualsiasi file *.mq4 con qualsiasi estensione e provate a compilarlo, non funzionerà, il compilatore cercherà di compilarlo come se fosse MT5.

Qualsiasi cosa abbia scritto lì dentro il file, come(

#ifdef __MQL4__

#else

#endif

non funziona finché non rinomino nuovamente il file in *.mq4.

Come aggirarlo, qualcuno dei professionisti può saperlo?

 
Valeriy Yastremskiy #:

Le chiamate di funzione sono più corrette.

Solo le funzioni dovrebbero essere logicamente complete e comprensibili, in modo da poter capire la logica dell'operazione in OnTick dal codice.

Grazie, voglio dire
 
Sergey Zhukov #:

Rinominate qualsiasi file *.mq4 con qualsiasi estensione e provate a compilarlo, non funzionerà, il compilatore cercherà di compilarlo come se fosse MT5.

Qualsiasi cosa abbia scritto lì dentro il file, come(

non funziona finché non rinomino nuovamente il file in *.mq4.

Come posso aggirare il problema, qualcuno dei professionisti può saperlo?

Non si compila affatto!

Lancia il file. è possibile rimuovere tutte le funzioni all'interno di

 
Sergey Zhukov #:

Rinominare qualsiasi file *.mq4

Sergey, non so bene perché rinominare il file, ma funziona così:


include1.mqh:

void go()
   {
   #ifdef __MQL5__
      printf("Это пятёрка");
   #else
      printf("Это четвёрка");
   #endif
   }

script1.mq4 e script1.mq5:

#include <include1.mqh>

void OnStart()
   {
   go();
   }


Capito, questo è il problema:

__MQL4__

non c'è una cosa del genere nella lingua ora.