Erreurs, bugs, questions - page 1490

 
tout est éteint
 
Vladislav Andruschenko:
tout est éteint.
Un agent est compréhensible. Les tâches les plus complexes dans le monde sont résolues par des agents.
 
Messieurs les administrateurs et les utilisateurs expérimentés de Metatrader4, veuillez m'aider une fois de plus.
Un abonné de mon signal s'est plaint qu'une de ses transactions était dupliquée, alors qu'il n'y en avait qu'une seule sur mon compte. Que doit-il faire dans son terminal pour éviter un tel scénario à l'avenir ?
 
Artem Prischepa:
Messieurs les administrateurs et les utilisateurs expérimentés de Metatrader4, veuillez m'aider une fois de plus.
Un abonné de mon signal s'est plaint qu'une de ses transactions était dupliquée, alors qu'il n'y en avait qu'une seule sur mon compte. Que dois-je ajuster dans mon terminal pour éviter un tel scénario à l'avenir ?
Du côté de l'abonné, l'ouverture de deux terminaux entraîne une duplication du signal reçu.
 
lilita bogachkova:
Du côté de l'abonné, l'ouverture de deux terminaux entraîne une duplication du signal reçu.
Si possible, veuillez expliquer cela plus en détail. Si un seul terminal est abonné au signal, comment le fait d'avoir un 2e terminal ouvert peut-il dupliquer l'ouverture d'une position?
 
Maxim Khrolenko:
J'aimerais en savoir plus à ce sujet. Si un seul terminal est abonné au signal, comment la présence d'un 2ème terminal ouvert peut-elle dupliquer l'ouverture d'une position?

Il y avait un signal gratuit, je me suis inscrit. J'ai laissé mon ordinateur en marche et j'ai ouvert un terminal sur un autre ordinateur pour tester des stratégies (même compte), les deux terminaux fonctionnent avec des portables. Je regarde le compte, une transaction s'est ouverte, puis une autre, puis une autre, et le côté signal est à moitié éteint. J'ai fermé un terminal et les transactions ont cessé de se dupliquer.

 

MT4. Je souhaite attirer l'attention sur la différence dans l'ordre d'initialisation des variables globales et des variables externes. Il n'est pas mentionné dans la documentation.

La variable extern est située dans la portée globale et par le type de variable (globale ou locale) fait référence à la globale, comme il est écrit dans la documentation et dans le tutoriel de Kovalev.

Puisque la documentation ne dit rien sur l'ordre d'initialisation de extern, il est logique de conclure que l'ordre d'initialisation de extern est le même que celui de la variable globale elle-même.

En fait, les différences sont significatives. Les variables globales a et b sont initialisées une fois avant l'exécution de la première fonction init ; elles conservent leurs valeurs initiales (ou sont modifiées dans le code) si le cadre temporel ou le symbole sur le graphique a été modifié.

La variable extern int c n'enregistre pas la valeur modifiée dans le code et, si l'horizon temporel ou l'instrument du graphique a été modifié, elle reprend la valeur initiale spécifiée. Le code ci-dessous le montre.

Il est important de le savoir pour comprendre pourquoi, toutes choses égales par ailleurs, les résultats du code exécuté à partir de la fenêtre "Propriétés" ou de la recompilation diffèrent des résultats du code exécuté en changeant d'horizon temporel ou de symbole.

Voici le code qui le montre. En changeant plusieurs fois de période ou d'instrument, nous pouvons constater que a et b augmentent, tandis que c conserve sa valeur initiale.

extern int c=1;
int a=1,b=1;
void  OnInit()
  {Print(" a=",a," b=",b," c=",c);
  a++;b++;c++;
  }


 
Yuri Evseenkov:

MT4. Je souhaite attirer l'attention sur la différence dans l'ordre d'initialisation des variables globales et des variables externes. Il n'est pas mentionné dans la documentation.

Oui, c'est vrai.

#property strict
extern int c=1;
int a=1,b=1;
int OnInit()
  {
   Print(" a=",a," b=",b," c=",c); a++;b++;c++;
   return(INIT_SUCCEEDED);
  }
void OnDeinit(const int reason) { }
void OnTick() { }


 
Existe-t-il une option sur le serveur MT4 pour désactiver la fonction CloseBy ?
 
Comment faire glisser la fenêtre du graphique vers un autre moniteur ?
Raison: