Merkmale der Sprache mql5, Feinheiten und Techniken - Seite 192

 
traveller00:

Aus der Statistik: ca. 200-300 Geschäfte pro Tag. Selbst bei normalen Kontrollen, aber ohne wirklich knifflige Kontrollen, habe ich im Durchschnitt 2-3 Mal pro Woche eine doppelte Losöffnung erwischt. Berechnen Sie die Wahrscheinlichkeit und beurteilen Sie, ob Sie eine solche Wahrscheinlichkeit benötigen oder bereit sind, sie zu akzeptieren. Ich persönlich habe meine Schecks bis zum Maximum ausgeschöpft.

Ich danke Ihnen. Wie hoch ist Ihr Ping?
 
Vasiliy_Saharov:
Danke. Und wie hoch ist Ihr Ping?

Er springt im Bereich von 55-60 ms. Aber es geht nicht um den Ping. Wie gesagt, das gilt auch für normale Kontrollen. Hier war die Wartezeit bereits angemessen, etwa 1 Sekunde. Aber das war der Punkt, an dem es selbst bei Entfernungen, die den Ping um Größenordnungen übersteigen, herausflog.

P.S. Interessanter Test für Phantomaufträge im Fach https://www.mql5.com/ru/forum/1111/page2220#comment_7834585
Ошибки, баги, вопросы
Ошибки, баги, вопросы
  • 2018.06.20
  • www.mql5.com
Общее обсуждение: Ошибки, баги, вопросы
 
Vasiliy_Saharov:
Wenn Sie einen Algorithmus haben, um 0,1 Lose zu machen, dann gibt es eine Wahrscheinlichkeit, 0,1 zweimal zu machen, und da ich denke, dass diese Wahrscheinlichkeit gegen Null tendiert, und dreimal, denke ich, ist unmöglich. Geschweige denn 20 Mal. Schließlich geht es hier um Anwendungsfragen. Als Faustregel gilt, dass der Server wahrscheinlich innerhalb von 10 Minuten antwortet (ist das richtig? Ich bin mir nicht sicher). Wie hoch ist Ihrer Meinung nach die Wahrscheinlichkeit, dass ein zweites Geschäft zustande kommt? Führen Sie diese Prüfung selbst durch? Kann es vorkommen, dass der Server lange braucht, um zu antworten?

Die Antwort des Servers mit dem Transaktionsergebnis kann sich aus sehr unterschiedlichen Gründen verzögern, und Sie können in jedem Fall nicht mit 10 ms rechnen (selbst wenn der Ping 1 ms beträgt)

Natürlich mache ich diese Prüfung. Genauer gesagt, verwende ich das fertige MT4Orders, das dies (und viele andere Dinge) berücksichtigt.

 
const int a=2;

void OnStart()
{
  int b[a];  //'[' - invalid index value
}

Ist dieses von C++ abweichende Verhalten ein Merkmal oder ein Fehler?

 
Igor Makanu:

im Indikator wird nicht auf das Ergebnis von CopyXXX warten

als Option im Timer im Indikator, um CopyXXX zu verarbeiten und diesen Indikator von EA aus aufzurufen

Es hat funktioniert, danke für die Idee!

 

Wie die Sommer-/Winterzeitumstellung MT5-Tester kaputt machen kann.

Am einfachsten lässt sich das Problem anhand eines Beispiels erklären. Es gibt ein Symbol mit diesen Einschränkungen für Kurssitzungen.

In der Kurshistorie sind jedoch Preise nach 22:15 Uhr bis 23:15 Uhr zu finden. Diese Preise sind gültig, obwohl sie außerhalb der Kurssitzung liegen.


Vor der Umstellung auf die Winterzeit lautete die Uhrzeit: 03:00 - 23:15 Uhr. Die Erklärung ist einfach. Der Handelsserver ändert die Uhrzeit, das Kurssymbol jedoch nicht. Zum Beispiel der Index. Dadurch ändert sich die Zeit der Sitzungen für das entsprechende Symbol auf dem Handelsserver.


Dieser Umstand führt zu sehr unangenehmen Konsequenzen im MT5-Tester. Sie können nicht zu gültigen Preisen zwischen 22:15 und 23:15 handeln und erhalten eine Ablehnung in Form von [Markt geschlossen]. D.h. der Handel fand dort wirklich statt, aber der Tester erlaubt es Ihnen nicht, dies zu tun.


Der Tester verzerrt den Handel, indem er wissentlich falsche Ergebnisse liefert. Es ist recht problematisch, diese Besonderheit zu bemerken. Um das Problem zu beheben, müssen Sie die Sitzungszeit selbst korrigieren.


Vergessen Sie dieses Problem (und einige andere), Sie können zu einem benutzerdefinierten Symbol wechseln, das automatisch die entsprechenden Sitzungszeiten berechnet/schreibt.


Auf dem oberen Screenshot der Symboleinstellungen gibt es eine untere Zeile "Zeitlimit verwenden". Wenn sie in Kraft tritt, können Sie dieses Problem vielleicht noch umgehen.


Im Moment gilt die Regel, dass benutzerdefinierte Symbole die Wahrscheinlichkeit, dass die Ergebnisse des MT5-Testers korrekt sind, deutlich erhöhen können.


Denken Sie daran, dass Sie sich bei der Abfrage des Kursverlaufs (CopyRates/CopyTicks) im Terminal nicht auf Kurssitzungen konzentrieren sollten.

 
fxsaber:

Wie die Sommer-/Winterzeitumstellung MT5-Tester kaputt machen kann.

Vielen Dank für die interessanten Beobachtungen - ich habe das Zeitproblem auch schon angesprochen, aber ich habe festgestellt, dass der Aufschlag in der Zukunft falsch ist, wenn der Preis auf den Balken kleiner als 0 ist.

Es stellt sich die Frage, ob es Situationen gibt, in denen es richtig ist, den Handel mit dem Tester überhaupt zu verbieten, oder zumindest, wenn es eine Notierung eines Instruments mit einem Verbot des Handels damit zu bestimmten Zeiten gibt. Ich verstehe, dass es verschiedene Indizes gibt, und es ist nicht klar, wie man den Gewinn auf sie zu zählen, aber in diesem Fall können Sie es zwangsweise in Punkten zu zählen und schreiben Sie einfach eine Meldung in das Protokoll, dass das Instrument nicht gehandelt wird, aber Sie können die TS überprüfen.

 
Aleksey Vyazmikin:

es Notierungen für ein Instrument gibt, für das ein Verbot besteht, zu bestimmten Zeiten mit ihm zu handeln?

Die erste Minute nach Mitternacht ist verboten. Wenn es wichtig sein könnte, setze ich einen Haken.

// true - торговые сессии совпадают с котировочными, false - иначе.
bool IsSessionsQuoteEqualTrade( const string Symb )
{
  bool Res = true;
  
  for (int i = 0; (i < 7) && Res; i++)
  {
    datetime FromQuote;
    datetime ToQuote;

    datetime FromTrade;
    datetime ToTrade;
    
    if (SymbolInfoSessionQuote(Symb, (ENUM_DAY_OF_WEEK)i, 0, FromQuote, ToQuote) && (FromQuote != ToQuote))
      Res = SymbolInfoSessionTrade(Symb, (ENUM_DAY_OF_WEEK)i, 0, FromTrade, ToTrade) &&
            (FromQuote == FromTrade) && (ToQuote == ToTrade);
  }
  
  return(Res);
}

Wenn mehrere Sitzungen an einem Tag stattfinden, kontrolliere ich sie nicht.

 
fxsaber:

Die erste Minute nach Mitternacht ist tabu. Wenn es wichtig sein könnte, überprüfe ich es.

Ich überprüfe nicht, ob es mehrere Sitzungen an einem Tag gibt.

Dies ist eine künstliche Situation, die von den Maklerunternehmen geschaffen wurde. Angenommen, es gibt Abschlüsse auf einer geschlossenen Auktion, aber sie sind notiert.

 
Aleksey Vyazmikin:

Dies ist eine künstliche Situation, die von der EZ geschaffen wurde, aber gibt es auch reale Beispiele? Nehmen wir an, in einer geschlossenen Auktion werden Geschäfte getätigt, die dennoch notiert werden.

Absolut alle Regeln sind künstlich.