MetaEditor Build 1490 - Seite 4

 
Andrey Dik:

Nein, das ist nicht normal.

Es gibt eine Position. Wir werden den Expert Advisor auf den Chart werfen. Für die ausgewählte Position gibt es keine Geschäftshistorie. Was ist hier normal?))

Die Position ist seit einigen Sekunden offen, und die Anzahl der Geschäfte ist immer noch Null?
 
fxsaber:
Eine Position ist seit ein paar Sekunden offen und die Anzahl der Abschlüsse ist immer noch Null?
Ganz genau.
 
Andrey Dik:
Ganz genau.
Dann ist es sehr schlecht für jeden, der mit MT5 handelt. Wie kann man sie reproduzieren?
 
fxsaber:
Dann ist es sehr schlecht für jeden, der mit MT5 handelt. Wie kann man sich fortpflanzen?
Positionen ohne und mit einem EA auf einem Chartöffnen, eine Position aufstocken, eine Position abbauen, eine Position umdrehen. Der Fehler tritt nicht immer und nicht sofort auf. Ich habe mit einem Fibo-Demokonto, Build 1490, experimentiert.
 
Andrey Dik:
Der Fehler ist nicht immer und nicht sofort ersichtlich. Ich habe es mit einem Fibo-Demokonto, Build 1490, ausprobiert.
Nicht reproduzieren
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:
Kann nicht reproduziert werden.
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);
  }
}
Ihre Position wird anders gewählt. Probieren Sie meinen Code aus.
 
Andrey Dik:
Ihre Position wird anders gewählt. Probieren Sie meinen Code aus.
Und so spielt es sich auch nicht.
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:
Und es wird nicht gespielt.
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));
}

Haben Sie meinen Code ausprobiert?

Um es auf die gleiche Weise zu reproduzieren und die gleichen Protokolle zu erhalten.

 
Andrey Dik:

Haben Sie meinen Code ausprobiert?

Um es auf die gleiche Weise zu reproduzieren und die gleichen Protokolle zu erhalten.

Ich habe es versucht - das Problem lässt sich nicht reproduzieren.
 
fxsaber:
Ich habe es versucht - das Problem ist nicht reproduzierbar.

Fremde.... Worin könnte dann das Problem bestehen?

Hier. Dies zu tun. Starten Sie den Expert Advisor auf einem Chart. Ich habe eine Position manuell eröffnet. Ich habe eine Position zweimal hinzugefügt und einmal gekürzt. Es werden 4 Trades korrekt in Lags angezeigt. Danach kehrte ich die Position um und bekam ein Problem: Ich habe eine Position, aber keine Geschäfte.

Hier ist das Protokoll nach den letzten beiden Vorgängen.

2016.12.05 14:25:44.157 Erhalte aktuelle Kommission von pos (GBPUSD,M5) 1

2016.12.05 14:25:44.157 Erhalte aktuelle Kommission von pos (GBPUSD,M5) GBPUSD

2016.12.05 14:25:44.157 Erhalte aktuelle Provision von pos (GBPUSD,M5) Position gefunden

2016.12.05 14:25:44.157 Abfrage der aktuellen Provision der Position (GBPUSD,M5) Total Trades in Position: 4

2016.12.05 14:25:44.670 Erhalte aktuelle Kommission von pos (GBPUSD,M5) 1

2016.12.05 14:25:44.670 Abfrage der aktuellen Provision von pos (GBPUSD,M5) GBPUSD

2016.12.05 14:25:44.670 Erhalte aktuelle Provision von pos (GBPUSD,M5) Position gefunden

2016.12.05 14:25:44.670 Abfrage der aktuellen Provision der Position (GBPUSD,M5) Total Trades in Position: 0

Es ist zu erkennen, dass in der Position keine Trades zu sehen sind. EA hängt immer noch auf dem Chart und im Kommentar steht 0.

Ich entfernte den EA und setzte ihn auf den Chart zurück, er sieht keine Trades einer Position, der Kommentar ist 0.