Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1744

 
Dites-moi, mql5, un Expert Advisor a parfois besoin d'écrire une valeur temporelle pour la lire, mais il peut y avoir un crash, etc. et le temps sera effacé. Je peux écrire datetime dans une variable globale dans le terminal, mais c'est double, pas de problèmes ? Merci !
 
Fast235 #:

Pour les pros, il est plus rapide de demander, c'est-à-dire d'engager un tuteur pour ainsi dire. Croyez-moi, c'est moins cher et plus rapide.

mais il faut un professionnel enthousiaste pour tutorer, pas seulement un pro profond, il faut expliquer la base correctement et c'est tout. les 10k autres pages. information hétérogène....

Merci pour le conseil !

 

Pouvez-vous me dire ce qui est le mieux :

Tout écrire dans un seul bloc OnTick ou le séparer par fonction ? C'est-à-dire, pour avoir seulement des appels de fonction dans OnTick

(ma question porte principalement sur l'optimisation du code et sur certaines perspectives et pièges)
 
freelancerAntonyan variable globale dans le terminal, mais c'est double, pas de problèmes ? Merci !
Rien ne sera écrit en cas de crash, GV aussi. Et en principe, il n'y a aucun problème. Il suffit d'appliquer une conversion de type explicite lors de l'écriture et lors de la lecture également.
 
freelancerAntonyan variable globale dans le terminal, mais il est double, pas de problèmes, ou une autre façon est mieux ? Merci !

tout type peut être écrit et relu à partir de double via l'union.

 
Ivan Butko appels de fonction dans OnTick(La question porte principalement sur l'optimisation du code et les perspectives et pièges éventuels).

Les appels de fonction sont plus corrects.

Seules les fonctions doivent être logiquement complètes et compréhensibles, de sorte que vous puissiez comprendre la logique de OnTick à partir du code.

 
MakarFX #:
Donnez-moi le fichier ici. C'est quelque chose de nouveau, je n'avais pas encore entendu ça.

Renommez n'importe quel fichier *.mq4 en n'importe quelle extension et essayez de le compiler, cela ne fonctionnera pas, le compilateur essaiera de le compiler comme s'il s'agissait de MT5.

Ce que j'ai écrit à l'intérieur du fichier, comme(

#ifdef __MQL4__

#else

#endif

ne fonctionne pas tant que je ne renomme pas le fichier en *.mq4.

Comment le contourner, quelqu'un parmi les pros le saurait-il ?

 
Valeriy Yastremskiy #:

Les appels de fonction sont plus corrects.

Seules les fonctions doivent être logiquement complètes et compréhensibles, afin que vous puissiez comprendre la logique de l'opération dans OnTick à partir du code.

Merci, je veux dire
 
Sergey Zhukov #:

Renommez n'importe quel fichier *.mq4 en n'importe quelle extension et essayez de le compiler, cela ne fonctionnera pas, le compilateur essaiera de le compiler comme s'il s'agissait de MT5.

Ce que j'ai écrit à l'intérieur du fichier, comme(

ne fonctionne pas tant que je ne renomme pas le fichier en *.mq4.

Comment puis-je contourner ce problème ? Quelqu'un parmi les professionnels peut-il me renseigner ?

Il ne compile pas du tout !

Lancez le fichier. Vous pouvez supprimer toutes les fonctions à l'intérieur de

 
Sergey Zhukov #:

Renommer tout fichier *.mq4

Sergey, je ne sais pas vraiment pourquoi il faut renommer le fichier, mais cela fonctionne de cette façon :
.


include1.mqh :

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

script1.mq4 et script1.mq5 :

#include <include1.mqh>

void OnStart()
   {
   go();
   }


Je l'ai, c'est le problème :

__MQL4__

il n'y a pas de telle chose dans la langue maintenant.