MetaTrader 5 ouvre des positions sans l'indiquer dans les logs?

 

Bonjour, je travaille actuellement sur un EA et en analysant les logs, j'ai l'impression que des positions sont ouvertes sans que cela soit indiqué dans les logs.



A chaque ouverture de position, j'affiche des logs pour me le faire savoir, notamment le log "--- Ouverture position achat pour EURUSD..." mais il y a également les logs de MetaTrader 5 (cf rectangle vert).


Dans ma capture d'écran, j'ouvre une position d'achat le 26/01/2017 à 03:00, le ticket #6.

Après l'ouverture de cette position, je vérifie combien de positions ouvertes il y a (rectangle bleu) et la réponse est 1.

Le 30/01/2017 (rectangle marron), je vérifie le nombre de positions ouvertes et je m'aperçois qu'il y en a 2 (Nb : 2), la première est le ticket #6 ouvert le 26/01/2017 à 03:00 (rectangle vert) mais également une deuxième position, le ticket #7 qui a été ouvert 30/01/2017 à 13h52 (les positions ouvertes sont séparés par "///" dans les logs).


C'est pour cela que je m'interroge sur le fait que MetaTrader 5 ouvre des positions sans avertir surtout que je n'ai qu'une seule méthode qui ouvre des positions et elle est censée afficher des logs.


Voici le code que j'utilise pour récupérer le nombre de positions ouvertes (normalement, rien d'extraordinaire):

int getNbPositionsBySymbolAndMagicNumber(string symbolName, ulong magicNumber){
   int result = 0;
   
   for(int i = 0; i < PositionsTotal(); i++){
      ulong ticket = PositionGetTicket(i);

      if(PositionSelectByTicket(ticket) && PositionGetString(POSITION_SYMBOL) == symbolName && PositionGetInteger(POSITION_MAGIC) == magicNumber){
          result++;
      }
   }
   
   return result;
}


Suis-je le seul à avoir cela?

 

Tu as trouvé une solution à ton problème ?