
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Das liegt daran, dass der Pip-Wert für verschiedene Paare unterschiedlich ist...
Ich denke, der Pip-Wert ist im Anzeigemodus "Gewinn in Pips" überflüssig.
Ich denke, der Punktwert ist im Anzeigemodus "Gewinn in Pips" überflüssig.
Störungen....
1) Wenn Sie unnötige Instrumente aus Market Watch entfernen und dann wieder hinzufügen, ergibt sich eine interessante Situation.
Klicken Sie mit der rechten Maustaste auf ein Instrument und wählen Sie "Chartfenster", um einen Chart zu öffnen.
Dadurch wird ein Diagramm eines anderen Instruments geöffnet als das, das Sie ausgewählt haben!!!
Damit dieser Fehler auftritt, müssen Sie ein anderes Werkzeug als das soeben hinzugefügte auswählen. (siehe Screenshots Bild1, Bild2, Bild3)
2) In meinem Screenshot können Sie sehen, dass das Instrument USDCHF im Fenster "Symbole" als ausgewählt markiert ist, obwohl es nicht in der "Marktbeobachtung" ist. (Bild 4)
Möglicherweise ist die erste Störung eine Folge der zweiten, weil die Nummerierung der Instrumente im Market Watch falsch ist.
Ich habe sehr schlechtes Internet, deshalb sind alle Screenshots im Archiv.
Hier ist der Linkhttp://www.sendspace.com/file/tbav73
Störungen....
1) Wenn Sie unnötige Instrumente aus Market Watch entfernen und dann wieder hinzufügen, ergibt sich eine interessante Situation.
Klicken Sie mit der rechten Maustaste auf ein Instrument und wählen Sie "Chartfenster", um einen Chart zu öffnen.
Dadurch wird ein Diagramm eines anderen Werkzeugs geöffnet als das, das Sie ausgewählt haben!!!
Heute (oder eher gestern) am Morgen hatte ich eine seltsame Panne in MT4 - OrderSelect fand keine Order nach Ticketnummer in einem Expert Advisor.
Im EA werden zwei schwebende Orders platziert - BUY_STOP und SELL_STOP, auf gegenüberliegenden Seiten des aktuellen Kurses. Die Tickets dieser Bestellungen werden in t1 und t2 gespeichert. Der Code, bei dem der Fehler aufgetreten ist, wie unten gezeigt, macht Folgendes: Wenn einer dieser schwebenden Aufträge geöffnet wird, wird der zweite gelöscht und der nächste schwebende Auftrag mit der Nummer t3 wird stattdessen platziert. Wenn bei der ursprünglichen Vergabe von t1 und t2 ein Fehler aufgetreten ist, sollte das fehlerhafte Ticket nicht in der Auftragsliste erscheinen. Dies wird mit if (OrderSelect ...) überprüft und im Falle eines Fehlers schreiben wir eine Meldung in das Log und beenden die Serie mit restart().
Heute öffnete t1 um 6:30 Uhr. Die Order t2 wurde vom Expert Advisor sofort gelöscht (sie wurde aus dem Markt gelöscht, blieb aber in der Historie erhalten - "storniert", habe ich überprüft). Danach wurde t3 platziert. Diese Ereignisse sind alle in den Protokollen von MT und EA enthalten. Dann gibt die Prüfung "OrderSelect(t2, SELECT_BY_TICKET)" FALSE zurück und die Serie bricht mit dem Fehler "Unknown order t2" ab. Das ist seltsam, denn t2 wurde ohne Fehler gesetzt und gelöscht und blieb in der Historie. Der Verlaufsmodus in MT ist "Gesamter Verlauf". Wie konnte OrderSelect es nicht finden?
Der Computer ist eigenständig und wird nur für den Handel verwendet, für nichts anderes. Niemand außer mir fasst sie an. Die CPU-Last beträgt durchschnittlich 10 %. Arbeitsspeicher, Festplattenplatz usw. sind groß genug.
Die Version von MT4 ist 402. Seit einigen Monaten arbeitet der Expert Advisor in verschiedenen Varianten in Echtzeit auf einem Demokonto in einem MT parallel zu drei verschiedenen Paaren (auf drei Charts). Bis heute Morgen gab es keine Probleme mit diesem Teil des Codes. Danach ging es am Nachmittag und Abend für andere Paare auf demselben EA reibungslos weiter. Das heißt, der Fehler kann nicht beliebig reproduziert werden.
Frage: Wie konnte das passieren? Ist es ein Fehler in MT oder etwas, das ich im Code nicht berücksichtigt habe?
Dieser Code verwendet die Funktionen OrderDeleteX und OrderSendX - Wrapper für die Standardfunktionen OrderDelete und OrderSend, die einen Handelsthread daraufhin überprüfen, ob er nicht ausgelastet ist, und Ereignisse wie "Order löschen ..." und "Order senden ..." im Log des EAs registrieren.
Ich habe die Preisberechnungen entfernt, um den Code einfacher und übersichtlicher zu gestalten.
Bestellnummern in Variablen:
t2 = 119732180
t3 = 119733656
Ich kann keinen Auftrag finden. Aus dem DC-Bericht geht hervor, dass der Auftrag 67930924 offen war...
Dies sind geschlossene Geschäfte in der Kontohistorie ab dem 08.06.11. Wie wir sehen können, ist dieser Auftrag nicht hier.
Es muss sich also um einen offenen Handel handeln. Das Bild unten, offene Handelsgeschäfte.
Aber auch hier ist es nicht der Fall. Ich bin gespannt, welchen Bericht DC morgen vorlegen wird, aber ich möchte die Version der Softwareentwickler hören, wie es sein kann.
Und noch etwas, vielleicht ist es nicht wichtig, aber mein Datum ist nicht gespeichert, ich speichere es nicht und wähle den Zeitraum immer im Mai.
Ich kann keinen Auftrag finden. Aus dem DC-Bericht geht hervor, dass der Auftrag 67930924 offen war...
Dies sind geschlossene Geschäfte in der Kontohistorie seit dem 08.06.11. Wie wir sehen können, ist dieser Auftrag nicht hier.
Es muss sich also um einen offenen Handel handeln. Das Bild unten, offene Handelsgeschäfte.
Aber auch hier ist es nicht der Fall. Ich frage mich, was Bericht wird morgen von DC gesendet werden, aber ich möchte die Version der Software-Entwickler zu hören, wie es sein kann.
Und noch etwas, vielleicht ist es nicht wichtig, aber mein Datum ist nicht gespeichert und ich habe keine Informationen darüber.
Als Fortsetzung des Themas "OrderSelect hat keine Bestellung nach Ticketnummer gefunden".
Heute Morgen trat derselbe Fehler in demselben Expert Advisor bei einem anderen Paar auf. Die schwebende Order t2=#119899844 wurde erfolgreich platziert, dann wurde sie ebenfalls erfolgreich gelöscht, danach wurde die schwebende Order t3=#119903758 platziert, und danach wurde t2 von der OrderSelect-Funktion nicht gefunden.
Zwischen dem gestrigen und dem heutigen Fehler hat der in meiner vorherigen Nachricht angegebene Code im Expert Advisor mehrmals erfolgreich und ohne Fehler funktioniert, und die gelöschten Aufträge wurden ohne Probleme gefunden.
Zuvor hatte der Expert Advisor mehrere Monate lang in der Version MT4 229 gearbeitet. So etwas wurde zuvor noch nie beobachtet. Am Wochenende vor 4 Tagen habe ich auf Version 402 umgestellt. Ich weiß nicht, ob die Fehler mit der neuen Version zusammenhängen. Ich kann nicht zur alten Version zurückkehren, weil Alpari, wo dieser Expert Advisor gehandelt wird, die Zeitzone der Kurse geändert hat und nur die Version 402 diese Änderungen korrekt wiedergibt (so behauptet Alpari).
Die Fragen blieben offen:
Wie konnte das passieren, warum hat OrderSelect den Auftrag in der Historie nicht gefunden, während die Historie in ihrer Gesamtheit angezeigt wird und der verlorene Auftrag darin sichtbar ist? Ist dies ein MT-Fehler oder übersehe ich etwas im Code?
Es gibt eine in Delphi7 geschriebene DLL. Es hat nur eine Funktion - zu prüfen, ob die Datei unter dem angegebenen Pfad existiert.
Hier ist der Code.
Nichts Kompliziertes, nichts Besonderes, nur eine Funktion.
Hier ist der Code des Expert Advisors, der diese Funktion verwendet:
und hier ist der Code der Header-Datei
Hier ist der Code der Header-Datei. Wenn es nur einen Expert Advisor im Terminal gibt, läuft alles wie am Schnürchen.
Wenn ich zwei von ihnen im Terminal in verschiedenen Fenstern habe und sie diese Funktion aufrufen, dann arbeiten beide EAs alle paar Stunden nicht mehr und es erscheinen Meldungen im Journal