Fehler, Irrtümer, Fragen - Seite 2766

 
Alexey Viktorov:

Die zweite Frage ist: Wie stelle ich den Tag ein, in welchem Format? Oder spielt es keine Rolle, welche Tageszeit eingestellt wird?

In MqlTradeRequest::expiration sollte die Nullzeit gesetzt werden

 
A100:

über ORDER_TIME_SPECIFIED und MqlTradeRequest::expiration

Sie hätten die Dokumentation schon vor langer Zeit lesen sollen.

Wieder einmal! Ich interessiere mich nicht für den Typ ORDER_TIME_SPECIFIED, ich interessiere mich für

AUFTRAGSZEIT_BESTIMMTER_TAG

Die Bestellung ist bis 23:59:59 Uhr des angegebenen Datums gültig. Fällt dieser Zeitpunkt nicht auf eine Handelssitzung, erfolgt der Verfall zum nächstliegenden Handelszeitpunkt.

Wenn ich mit TF W1 handle, möchte ich die Ablaufzeit auf Freitag setzen. Natürlich können wir die Zeit bis Freitag berechnen, ich kann nicht nur lesen, sondern auch bis 1000 zählen. Aber meine Frage ist die, an der ich interessiert bin. Ich möchte auch das Format für die Angabe des TAGES kennen. Oder ist es nicht wichtig, die genaue Tageszeit anzugeben, solange sie auf den gewünschten Tag fällt? Was passiert mit Ihrem Auftrag, wenn Sie ihn z.B. am Freitag um 21:00 Uhr schließen und der Auftrag am Montag eröffnet wird? Das sollte der erste Verfall oder die erste Aktivierung sein.

 
A100:

Die Nullzeit sollte eingestellt werden.

Vielen Dank, dass Sie die Nachricht gelöscht haben, für deren Beantwortung ich so lange gebraucht habe.

Sind Sie sich da sicher? Ich würde es als Vorsichtsmaßnahme tun. Aber ich würde es gerne genau wissen.

 
Alexey Viktorov:

Vielen Dank, dass Sie die Nachricht gelöscht haben, für deren Beantwortung ich so lange gebraucht habe.

Sind Sie sich da sicher? Ich würde es natürlich als Vorsichtsmaßnahme tun. Aber ich möchte sicher sein.

Sie müssen manuell einen schwebenden Auftrag mit Datum (ohne Uhrzeit) erteilen und die Werte von type_time und expiration programmatisch lesen.

Ich habe es nicht selbst erfunden, ich habe es so gemacht.

 
A100:

Manuelles Festlegen eines ausstehenden Auftrags, der an einem bestimmten Datum (ohne Uhrzeit) abläuft, und programmgesteuertes Lesen der Werte für type_time und expiration

Ich habe mir das nicht selbst ausgedacht, sondern ich habe es getan.

Danke für den Hinweis. Ich tausche überhaupt nicht die Hände und dachte nicht, dass es auf diese Weise überprüft werden könnte. Ich habe es auf eine etwas andere Weise gemacht. Hier ist der Code

  trade.OrderOpen(_Symbol, ORDER_TYPE_SELL_STOP, 0.1, 0, 1.24000, 0.0, 0.0, ORDER_TIME_SPECIFIED_DAY, D'2020.06.03 23:41:02');

und diese Reihenfolge.


Es stellt sich heraus, dass die Zeit nicht berücksichtigt wird.

Aber wir haben noch eine zweite Frage. Was wird zuerst ausgeführt, das Verfallsdatum oder die Auftragsaktivierung...

Das Einzige, was ich befürchte, ist ein unterschiedliches Verhalten in der Testversion und in der realen oder Demo-Version. Und selbst in der Demo können Sie warten, bis Sie verblüfft sind...
 
Alexey Viktorov:

Aber ohne Klärung gibt es eine zweite Frage. Was wird zuerst ausgeführt oder aktiviert den Auftrag...

Es kommt auf den Makler und den menschlichen Faktor an - wie die Dinge dort organisiert sind. Mir ist aufgefallen, dass der Tagesauftrag vom Freitag bis zur Handelssitzung am Montag in der Schwebe blieb (sogar während der Börsensitzung war er noch in der Schwebe).

Eines Abends rief ich die Bank im Handelsraum an und fragte, warum mein Auftrag nicht ausgeführt wurde. Sie sagten: "Wir sehen es nicht! Wie können Sie das nicht sehen? Hier ist es in meinem MetaTrader - ich habe es vor ein paar Stunden platziert und der Preis war schon vor einer Stunde da. Wir arbeiten mit einem anderen Programm. Morgens kommt ein neuer Mitarbeiter, um Daten von MetaTrader herunterzuladen, und wir werden alles sehen.

Ihre Aufträge unterhalb des Schwellenwerts sind also für niemanden von Interesse (und oberhalb des Schwellenwerts werden sie im Preis-auf-Nachfrage-Modus gehandelt), da sie nirgendwo ausgegeben werden und der Händler bestenfalls eine aggregierte Position erhält

 

Das Terminal wurde auf das Gebäude 2470 im Freien aufgerüstet

Und siehe da, der Roboter zeigte im Testgerät schlechtere Ergebnisse als vor dem Update.

Ich habe angefangen, mich damit zu befassen, und das habe ich gesehen.

Als ich den Roboter im normalen Modus durch die Historie laufen ließ, rief er am Ende ein Diagramm auf, das alle meine Trades zeigte, und ich scrollte nach unten und war überrascht, was dort vor sich ging

Wie Sie aus dem Diagramm ersehen können, eröffnet der Öl-Future in einem Netting-Konto einige Positionen, obwohl der Roboter keine Mittelwertbildung, Skalierung usw. hat. Es gibt nur eine Position Stop and Take, nach der Eröffnung der Position wird der Entry-Algorithmus deaktiviert.


Aber ich habe den gleichen Test gemacht, aber nur mit visuellen Tests, die visuellen Tests, alles ist gut.


Bitte sagen Sie mir, wenn es ein Bug-Update, in der Regel alle nach dem Update gestreut, nehmen und stoppen wurde zuvor auf den Preis Ask und Bid separate Methode, nachdem der Markt wird Position erscheinen, jetzt begannen sie zu kleben und bewegen sich zusammen mit den Preisen, musste ich wieder und legte den Preis und die Haltestelle auf den Eröffnungskurs einer Position und fügen Sie die Ausbreitung der Einzug.

Was ist zu tun, wo ist zu graben?

 
Konstantin Seredkin:

Das Terminal wurde auf das Gebäude 2470 im Freien aufgerüstet

Und hier liegt das Problem: Der Roboter zeigte im Testgerät schlechtere Ergebnisse als vor dem Update.

...

Was ist zu tun?

Dig to check "Läuft der Expert Advisor im Test?

 
Artyom Trishkin:

Prüfen Sie "Führt der richtige EA den Test aus?

Es ist das einzige im Terminal, es gibt keine weiteren, selbst die Standard-Terminals wurden entfernt.

 
Konstantin Seredkin:

Es ist das einzige im Terminal, es gibt keine weiteren, selbst die Standard-Terminals wurden entfernt.

Nach dem von Ihnen beschriebenen Verhalten zu urteilen, handelt es sich um einen anderen EA mit einem völlig anderen Algorithmus.