TimeTradeServer analog für MT4 - Seite 4

 

Das ist ein guter Punkt, man muss die Serverzeit an Wochenenden kennen. Denn die Serverzeit bleibt stehen und gibt immer den Freitag frei.
Benötigt eine Möglichkeit, Wochenenden für Kopierer zu identifizieren, ohne dll zu verwenden

Der TimeTradeServer funktioniert perfekt in MT5, fügen Sie ihn zu mt4 hinzu und das würde die Probleme mit der Zeitanalyse auf einmal lösen.

 
Alexandr Gavrilin:

Es ist ein guter Punkt, dass Sie die Serverzeit am Wochenende kennen müssen. Denn die Serverzeit bleibt stehen und gibt immer den Freitag frei.
Wir brauchen eine Möglichkeit, das Wochenende für Kopierer zu identifizieren, ohne dll

TimeTradeServer funktioniert perfekt in MT5, fügen Sie es zu mt4 hinzu und es würde die Probleme mit der Zeitanalyse auf einmal lösen.

Wenn die Funktion OrderSend() auf den Fehler "Markt ist geschlossen" stößt (so etwas gibt es), stoppen Sie alle Handelsversuche und warten Sie auf eine Preisänderung, was bedeutet, dass der Markt geöffnet wurde.

 
Dmitry Fedoseev:

Wenn die Funktion OrderSend() auf den Fehler "Markt geschlossen" stößt (so etwas gibt es), stoppen wir alle Handelsversuche und warten auf eine Preisänderung, was bedeutet, dass der Markt geöffnet wurde.

und "als nicht angetroffen" wird die gesamte Historie mit ausstehenden Aufträgen geladen)

 
fxsaber:

Vitaly hat einen Link zu dieser Funktion angegeben. Ich weiß nicht mehr, worauf die Idee beruht. Aber ich muss es beim Schreiben überprüft haben. Probieren Sie es aus.

Die Idee basiert auf der Suche nach Last-Minute-Kursen für das gebräuchlichste Symbol (in diesem Fall EURUSD) und einer Art Berechnung der Zeitverschiebung zwischen Server und GMT. Aber hier gibt es so viele "Wenns", dass es leider keine Lösung für das Problem ist.

Ich habe es auf Alpari überprüft, es funktioniert nicht:


 
Ihor Herasko:

Ich habe es bei Alpari überprüft, es funktioniert nicht:

Wird es also Wiedergabedaten geben?

 
fxsaber:

Es wird also Daten geben, die reproduziert werden können?

Ich habe ein Bild gegeben. Vielleicht können Sie es nicht sehen?

 
Taras Slobodyanik:

und "wie ich nicht rüberkam", die ganze Geschichte ist mit Pausen gespickt)

Können Sie das genauer erläutern?

 
Ihor Herasko:

Ich habe eine Zeichnung gemacht.

Wie kann man eine Zeichnung vervielfältigen?

 
Ihor Herasko:

Die Idee basiert auf der Suche nach den Last-Minute-Kursen für das gängigste Symbol (in diesem Fall EURUSD) und einer Art Berechnung des Serverzeit-Offsets von GMT aus. Aber hier gibt es so viele "Wenns", dass es leider keine Lösung für das Problem ist.

Ich habe es auf Alpari überprüft, es funktioniert nicht:


Sie sollten nicht auf die letzte (23:59) Minute beim EURUSD achten, sondern auf die Nacht beim Gold. Gold wird ausschließlich nach Amsterdam gehandelt, Währungen nach Serverzeit. Hier finden Sie den GMT-Offset des Servers
 

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Eigenheiten von mql4, Tipps und Tricks

Ivan Titov, 2019.08.12 16:19

Wollen Sie damit sagen, dass es nicht funktioniert, wenn keine Forex-Zeichen in der Geschichte vorhanden sind?

Auch hier ist ein Beispiel für Forex auf Alpari-Demo EURUSD,H1 im Tester:

Für 2019.02.19 14:00:00 Rückgabe 2019.02.19 11:00:00

Für 2019.06.19 14:00:00-Rückkehr 2019.06.19 11:00:00

Im Winter sollte es jedoch GMT+2 und im Sommer GMT+3 (EET) sein.

// Аналог по серверному времени - https://www.mql5.com/ru/docs/dateandtime/timegmtoffset
// Работает для FOREX-символов, когда M1-история доступна за ближайшую неделю
int TimeServerGMTOffset( const bool SummerTime = false )
{
  const datetime Sunday = GetTimeDayOfWeek();
  
  return(((int)MathRound((double)MathMin(Sunday - DAY - GetBarTime(Sunday), Sunday + DAY - GetBarTime(Sunday, true)) / HOUR) - SummerTime - 2) * HOUR);
}

Wenn Sie eine solche Änderung vornehmen, wird sie funktionieren. Ich habe die Sommer- und Winterdefinition nicht gemacht, aber das wird schon jemand machen.