Fehler, Irrtümer, Fragen - Seite 2943

 
Wie in MQL, ohne Rückgriff auf WinAPI, wie kann ich wissen, wenn das Terminal Benutzer Fokus hat (d.h. der Benutzer hat ein aktives Fenster)? Einige Funktionen, wie z.B. das Auslesen des Tastaturstatus (z.B. TerminalInfoInteger(TERMINAL_KEYSTATE_CAPSLOCK)), geben nun je nach Aktivität des Fensters mit demselben Tastaturstatus unterschiedliche Werte zurück. Das ist eine Schande.
 
Alexandr Sokolov:

MT5 Build 2755

Das Terminal zählt nicht alle Ticks

Warum haben Sie eine solche Schlussfolgerung gezogen?

 
Alexandr Sokolov:

MT5 Build 2755

Das Terminal zählt nicht alle Ticks



Probieren Sie es so

datetime st = 0;
int tics = 0;

//------------------------------------------------------------------

int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
   
   if(prev_calculated == 0)
{
 ArraySetAsSeries(time,true);
 ArraySetAsSeries(tick_volume,true);
 st = time[0];
}   
   else if(time[0] != st)
     {
      tics++;
      Alert("T - ",tics," TV - ",tick_volume[0]);
     };
   
  //-----------------------------------------------------------------
   return(rates_total);
  }
 
Renat Fatkhullin:

Warum haben Sie diese Schlussfolgerung gezogen?

Denn wie ich bemerkt habe, wird OnCalculate aufgerufen, wenn sich Ask- und Bid-Kurse ändern, aber tick_volume[] zählt nur Bid-Änderungen

 

Folgendes Problem: Ich hatte einen Expert Advisor auf einem Netting-Konto, der Positionen eröffnete und schloss. Ich fügte der vom Roboter eröffneten Position manuell einen Kontrakt hinzu und nach einer Weile zeigte das Log des Expert Advisors Fehler:

Fehler beim Öffnen einer Position: 4753 - Position nicht gefunden

Das Interessanteste daran ist, dass die Position geschlossen, der automatische Handeldeaktiviert und der EA aus dem Diagramm gelöscht wurde, aber weiterhin Fehler auftreten.


 
Alexandr Sokolov:

Ich habe nämlich festgestellt, dass OnCalculate bei Änderungen des Ask- und Bid-Preises aufgerufen wird, aber tick_volume[] zählt nur Änderungen des Bid-Preises

OnTick wird bei jeder Preisänderung aufgerufen und nicht nur dann (das Terminal kann bei vielen Gelegenheiten eine Neuberechnung erfordern, z. B. wenn zusätzliche Daten heruntergeladen oder historische Datensätze neu verteilt werden).

DasTick-Volumen sowie die Grafik basieren auf der Veränderung des Geldkurses. Bei der Börsenausführung wird ein separater realer Volumenzähler verwendet, in dem alle Kauf- und Verkaufstransaktionen verbucht werden.

 
Sayberix:

Folgendes Problem: Ich hatte einen Expert Advisor auf einem Netting-Konto, der Positionen eröffnete und schloss. Ich fügte der vom Roboter eröffneten Position manuell einen Kontrakt hinzu und nach einer Weile zeigte das Log des Expert Advisors Fehler:

Fehler beim Öffnen einer Position: 4753 - Position nicht gefunden

Das Interessanteste daran ist, dass die Position geschlossen, der automatische Handeldeaktiviert und der Expert Advisor aus dem Chart gelöscht wird.


Dies hängt von der Logik des Expert Advisors ab.

Er kann sich nur an seine eigenen Operationen erinnern und denken, und Ihre manuellen Eingriffe können die Logik des Expert Advisors stören.

 
Renat Fatkhullin:

Das hängt von der Logik des EA selbst ab.

Er kann sich nur an seine eigenen Operationen erinnern und darüber nachdenken, und Ihre manuellen Eingriffe können die Logik des Expert Advisors durcheinander bringen.

Ich verstehe, aber warum ist dieser Fehler im Terminal geblieben? Ich habe Ihnen gesagt, dass alle Positionen geschlossen sind, der automatische Handel deaktiviert ist, der Expert Advisor entladen ist und sogar das Terminal neu gestartet wurde!

 
Der K-meleon Browser gibt den Text in privaten Nachrichten nicht wieder (siehe Screenshot). Aber verletzend! Irgendwie nur unter vier Augen. Der Browser ist der einfachste und schnellste, aber nicht weit verbreitet und Moz fehlt eine Schriftart? Hilfe, wer weiß. Die Hardware ist alt und schwere Browser schlecht zieht.
Dateien:
 
Sayberix:

Ich verstehe, aber warum ist dieser Fehler im Terminal geblieben? Ich habe Ihnen gesagt, dass alle Positionen geschlossen sind, der automatische Handel ausgeschaltet ist, der Expert Advisor entladen ist und ich sogar das Terminal neu gestartet habe!

Wunder gibt es nicht. Ihr Expert Advisor läuft auf einem der Charts.

Grund der Beschwerde: