MetaEditor build 1490 - page 4

 
Andrey Dik:

Non, ce n'est pas normal.

Il y a une position. Nous allons lancer le conseiller expert sur le graphique. Il n'y a pas d'historique des transactions pour le poste sélectionné. Qu'est-ce qui est normal ici ?))

La position est ouverte depuis plusieurs secondes, et le nombre de transactions est toujours nul ?
 
fxsaber:
Une position est ouverte depuis quelques secondes et le nombre de transactions est toujours nul ?
Exactement.
 
Andrey Dik:
Exactement.
Alors c'est très mauvais pour tous ceux qui font du commerce dans MT5. Comment le reproduisez-vous ?
 
fxsaber:
Dans ce cas, c'est très mauvais pour quiconque effectue des transactions dans MT5. Comment se reproduire ?
ouvrir des positions sans et avec un EA sur un graphique, ajouter à une position, couper une position, retourner une position. le bug n'est pas toujours et pas immédiatement apparent. j'ai expérimenté sur un compte de démonstration fibo, build 1490
 
Andrey Dik:
Le bug n'est pas toujours et pas immédiatement apparent. Je l'ai essayé sur un compte de démonstration fibo, build 1490.
Ne pas reproduire
void OnTick ()
{
  const int Total = PositionsTotal();
  
  for (int i = 0; i < Total; i++)
  {
    const ulong Ticket = PositionGetTicket(i);
    
    if (PositionSelectByTicket(Ticket) && HistorySelectByPosition(PositionGetInteger(POSITION_IDENTIFIER)) && (HistoryDealsTotal() == 0))
      Alert(Ticket);
  }
}
 
fxsaber:
Impossible à reproduire.
void OnTick ()
{
  const int Total = PositionsTotal();
  
  for (int i = 0; i < Total; i++)
  {
    const ulong Ticket = PositionGetTicket(i);
    
    if (PositionSelectByTicket(Ticket) && HistorySelectByPosition(PositionGetInteger(POSITION_IDENTIFIER)) && (HistoryDealsTotal() == 0))
      Alert(Ticket);
  }
}
Votre poste est sélectionné différemment. Essayez mon code.
 
Andrey Dik:
Votre poste est sélectionné différemment. Essayez mon code.
Et ça ne se joue pas comme ça.
void OnInit()
{
  EventSetMillisecondTimer(1);
}

void OnTimer()
{
  const int Total = PositionsTotal();
  
  for (int i = 0; i < Total; i++)
    if ((PositionGetSymbol(i) == _Symbol) && HistorySelectByPosition(PositionGetInteger(POSITION_IDENTIFIER)) && (HistoryDealsTotal() == 0))
      Alert(PositionGetInteger(POSITION_TICKET));
}
 
fxsaber:
Et il ne joue pas.
void OnInit()
{
  EventSetMillisecondTimer(1);
}

void OnTimer()
{
  const int Total = PositionsTotal();
  
  for (int i = 0; i < Total; i++)
    if ((PositionGetSymbol(i) == _Symbol) && HistorySelectByPosition(PositionGetInteger(POSITION_IDENTIFIER)) && (HistoryDealsTotal() == 0))
      Alert(PositionGetInteger(POSITION_TICKET));
}

Avez-vous essayé mon code ?

Pour le reproduire de la même manière et obtenir les mêmes logs.

 
Andrey Dik:

Avez-vous essayé mon code ?

Pour le reproduire de la même manière et obtenir les mêmes logs.

J'ai essayé - le problème ne se reproduit pas.
 
fxsaber:
J'ai essayé - le problème n'est pas reproduit.

Strange.... Quel pourrait être le problème alors ?

Ici. Je fais ça. Démarrage de l'Expert Advisor sur un graphique. J'ai ouvert une position manuellement. J'ai ajouté deux fois et coupé une fois une position. Il montre 4 transactions correctement dans les décalages. Après cela, j'ai inversé la position et j'ai eu un problème : j'ai une position mais pas de marché.

Voici le journal après les deux dernières opérations.

2016.12.05 14:25:44.157 Obtenir la commission actuelle de la pos (GBPUSD,M5) 1

2016.12.05 14:25:44.157 Obtenir la commission actuelle de la pos (GBPUSD,M5) GBPUSD

2016.12.05 14:25:44.157 Obtenir la commission actuelle de la position (GBPUSD,M5) Position trouvée

2016.12.05 14:25:44.157 Obtenir la commission actuelle de la position (GBPUSD,M5) Total des transactions dans la position : 4

2016.12.05 14:25:44.670 Obtenir la commission actuelle de la position (GBPUSD,M5) 1

2016.12.05 14:25:44.670 Obtenir la commission actuelle de la position (GBPUSD,M5) GBPUSD

2016.12.05 14:25:44.670 Obtenir la commission actuelle de la position (GBPUSD,M5) Position trouvée

2016.12.05 14:25:44.670 Obtenir la commission actuelle de la position (GBPUSD,M5) Total des transactions dans la position : 0

On peut constater qu'aucune transaction n'est visible dans la position. L'EA est toujours accroché au graphique et il y a 0 dans le commentaire.

J'ai supprimé l'EA et l'ai réinitialisé sur le graphique, il ne voit pas les transactions d'une position, le commentaire est 0.

Raison: