Merkmale der Sprache mql5, Feinheiten und Techniken - Seite 73

 
Kirill Belousov:

Suchen Sie zum Schlusskurs die Kerze in einem unbeeinflussten Brokerhaus in der Historie, wo Sie den GMTOffset kennen. Die Differenz zwischen den Candlestick-Zeiten ergibt die Differenz zwischen den GCs. Addieren Sie zu der Differenz die GMT des bekannten Ortes und Sie erhalten die GMT-Differenz des unbekannten Ortes.

Man weiß nie, wie lange der Handelsserver braucht. Sie kennen nur den Zeitpunkt der letzten Notierung des Symbols.

Die Kerzenständer sind höchstwahrscheinlich eine Stunde lang.

Nun, das ist keine seriöse Art, es zu finden, gehen Sie zu einem anderen Terminal.

Welche anderen Varianten gibt es?

 
Vitaly Muzichenko:

Nun, das ist keine seriöse Art, es zu finden, gehen Sie zu einem anderen Terminal.

welche anderen Optionen7

Rufen Sie den Makler an oder schauen Sie auf der Website nach

Wahrscheinlich können Sie die Kopplung der Karten über das Web aufheben, ohne ein anderes Terminal zu verwenden.

P.S. Was genau ist das Problem, bei dem Sie die Zeit eines unbekannten Maklers benötigen?

 
Kirill Belousov:

Rufen Sie den Makler an oder schauen Sie auf der Website nach

Ich muss das auf Software-Ebene herausfinden)

 
Vitaly Muzichenko:

Ich muss das auf Software-Ebene herausfinden)

Und was ist die Aufgabe, für die Sie die Zeit eines unbekannten Maklers benötigen?

 
Kirill Belousov:

Für welche konkrete Aufgabe benötigen Sie die Zeit eines unbekannten Maklers?

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Eigenheiten von mql5, Tipps und Tricks

Vitaly Muzichenko, 2018.03.25 21:34

Aber so zeigen Candlesticks auch die Serverzeit an.

Angenommen, ich habe jetzt das Terminal von einem beliebigen Händler aus gestartet, es gibt keine Kurse, aber es gibt den letzten in derMarktübersicht um 23:58 Uhr aufgezeichneten, aber mit welchem GMT-Offset er arbeitet - ist nicht bekannt.

Oder bin ich bereits dumm und man kann es sehr leicht herausfinden?

P.S. Angenommen, ich verliere mich in der Zeit und unterscheide nicht mehr zwischen Tag/Nacht, Wochentagen und Zeit.

Wie kann man herausfinden, dass es keine Angebote gibt, weil Wochenende ist, oder zum Beispiel am Donnerstag kein Angebot, weil der Server im Handelsraum hängt?

Ich sehe eine solche Lösung, aber ich weiß nicht, wie ich sie umsetzen soll, wenn ich keine Zeit auf dem Handelsserver habe:

if( TimeCurrent()<TimeServer()-60 ) return( "нет котировок уже 1 минуту" );

 
Vitaly Muzichenko:

Starten Sie einen Timer und überprüfen Sie, wie es mit den Kursen steht.

Wenn sie sich schon lange nicht mehr geändert haben, bedeutet das, dass die Maklerfirma aufgelegt hat, oder es ist Donnerstag oder Wochenende.)

 
Kirill Belousov:

Starten Sie einen Timer und überprüfen Sie, wie es mit den Kursen steht.

Wenn sich seit längerer Zeit nichts geändert hat, bedeutet dies, dass entweder BC aufgehängt ist oder dass Donnerstag oder Wochenende ist ))

Der Timer ist gestartet, es gibt TimeCurrent(). Was ist als nächstes zu tun, was zu vergleichen? Es kann in Ontika mit der Zeit des letzten Tickes geschrieben und mit ihm verglichen werden.

Gibt es keine andere Lösung?

PS.TimeServer() // Die Zeit des Handelsservers wäre sehr hilfreich
 
Vitaly Muzichenko:

Der Timer läuft, TimeCurrent() ist verfügbar. Aber was kommt als nächstes, womit kann man es vergleichen? Es ist möglich, den Zeitpunkt des letzten Tickens in Ontic zu notieren und mit diesem zu vergleichen.

Gibt es keine andere Lösung?

PS.TimeServer() // Die Zeit des Handelsservers wäre sehr hilfreich

TimeCurrent() in OnTimer() zeigt die Zeit des letzten Ticks von allen Market Watch Instrumenten an.

In OnTick() wird der Zeitpunkt des letzten Kurses des aktuellen Symbols angezeigt.

Sie legen die Tatsache der Änderung in globalen Variablen fest.

Und bei jedem Aufruf von OnTimer() vergleichen Sie es.

Wenn ein anderer Timer gestartet wird und sich der Zeitpunkt des Angebots nicht geändert hat, beginnen Sie mit der Zählung der Zeit ohne Angebot.

Sie ziehen Schlussfolgerungen und reagieren.

Außerdem haben Sie Notierungen und Handelssitzungen für jedes Instrument. Von dort aus können Sie herausfinden, ob es eine Handelszeit ist oder nicht.

P.S. Soweit ich verstanden habe, benötigen Sie keine Serverzeit. Sie müssen das Fehlen von Anführungszeichen festlegen.

 
Kirill Belousov:

TimeCurrent() innerhalb von OnTimer() zeigt die Ankunftszeit des letzten Ticks von allen Market Watch Instrumenten an.

Sie legen die Tatsache der Änderung in globalen Variablen fest.

Und bei jedem Aufruf von OnTimer() vergleichen Sie es.

Wenn der Timer gestartet ist und sich der Zeitpunkt der Angebotsabgabe nicht geändert hat, starten Sie den Countdown für den Zeitpunkt, an dem kein Angebot vorliegt.

Sie ziehen Schlussfolgerungen und reagieren.

Außerdem haben Sie Notierungen und Handelssitzungen für jedes Instrument. Von dort aus können Sie herausfinden, ob es eine Handelszeit ist oder nicht.

P.S. Soweit ich verstanden habe, benötigen Sie keine Serverzeit. Sie müssen die Tatsache des Fehlens von Zitaten festlegen.

Das ist sehr teuer in Bezug auf die Produktivität.

Oft werden ihnen die Augen verbunden.


 
Ich habe es nicht überprüft.

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Deals Geschichte innerhalb OnTesterPass

Anthony Garot, 2018.03.29 02:34

Ich habe mich heute ein wenig mehr damit beschäftigt.

Es scheint, dass bei der Verwendung von lokalen Netzwerk-Farmagenten eine Datei im OnTester()-Ereignis nicht geöffnet werden kann.

Ich weiß, dass OnTester() ausgelöst wird, weil die in OnTester() festgelegten Daten von den Agenten über Frames an OnTesterPass() zurückgegeben werden.

Mein Ansatz, Daten aus OnTester() in eine Datei zu dumpen, funktioniert also nur für lokale Agenten, nicht für lokale Netzwerk-Farm-Agenten und vermutlich auch nicht für MQL5-Cloud-Netzwerk-Agenten.

Grund der Beschwerde: