Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
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 ?))
Une position est ouverte depuis quelques secondes et le nombre de transactions est toujours nul ?
Exactement.
Dans ce cas, c'est très mauvais pour quiconque effectue des transactions dans MT5. Comment se reproduire ?
Le bug n'est pas toujours et pas immédiatement apparent. Je l'ai essayé sur un compte de démonstration fibo, build 1490.
{
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);
}
}
Impossible à reproduire.
{
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.
{
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));
}
Et il ne joue pas.
{
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.
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 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.