Wünsche für MT5 - Seite 39

 
sergey1294:

Ich habe diesen Code geschrieben, um diese Situation abzufangen, aber in der Testversion weigert er sich kategorisch zu funktionieren, während er auf einem Demokonto gut funktioniert

Ich möchte Ihnen nicht glauben. Ihre Funktion wird immer true zurückgeben. Sie können dies überprüfen, indem Sie es als Skript erstellen und es jetzt (am Wochenende) auf einem beliebigen Instrument ausführen, und Sie erhalten "true".

Damit es wie gewünscht funktioniert, sollten Sie TimeCurrent() durch TimeTradeServer() ersetzen. Dann wird es auch im Testgerät funktionieren.

Aber das Problem eines geschlossenen Marktes ist damit noch nicht gelöst, denn es gibt auch Feiertage. So endet beispielsweise die erste Woche um 22:00 Uhr, die zweite Woche um 23:00 Uhr, während die Spezifikationen das Ende des Handels um 24:00 Uhr angeben.

 
Valmars:

Ich möchte Ihnen nicht glauben. Ihre Funktion wird immer true zurückgeben. Sie können es überprüfen, indem Sie es als Skript erstellen und es jetzt (am Wochenende) auf einem beliebigen Instrument ausführen, es wird true zurückgeben.

Damit es wie gewünscht funktioniert, sollten Sie TimeCurrent() durch TimeTradeServer() ersetzen. Dann wird es auch im Tester funktionieren.

Aber das Problem eines geschlossenen Marktes ist damit noch nicht gelöst, denn es gibt auch Feiertage. Die erste Woche endet beispielsweise um 22:00 Uhr, die zweite Woche um 23:00 Uhr, und die Spezifikation enthält das Handelsende um 24:00 Uhr.

Ich stimme Ihnen zu, dass das vollständig angeführte Beispiel das Problem mit dem geschlossenen Markt nicht löst. Natürlich möchte ich eine Standardeigenschaft für das Symbol eines geschlossenen Marktes haben, um das Ausstellen von Schecks in dieser Richtung zu erleichtern. Ich hoffe, die Entwickler werden diese Funktion hinzufügen.
 

Ich würde gerne mehrere Timer in einem Expert Advisor laufen lassen können.

Verbesserung von EventSetTimer(), so dass neben der Frequenz auch der Name des Timers angegeben wird und OnTimer() einen Parameter für den Timernamen hat.

So wäre es möglich, mehrere OnTimer() aufzurufen.

 
Urain:

Ich würde gerne mehrere Timer in einem Expert Advisor laufen lassen können.

Ich möchte EventSetTimer() so verbessern, dass neben der Frequenz auch der Name des Timers angegeben wird und OnTimer() den Namen des Timers als Parameter hat.

So wäre es möglich, mehrere OnTimer() aufzurufen.


Das ist Unsinn. Stellen Sie den Timer auf 1 Sekunde ein und verteilen Sie die benutzerdefinierten Ereignisse mit der Funktion EventChartCustom nach beliebigen Intervallen, die Sie vom OnTimer benötigen.

Документация по MQL5: Работа с событиями / EventChartCustom
Документация по MQL5: Работа с событиями / EventChartCustom
  • www.mql5.com
Работа с событиями / EventChartCustom - Документация по MQL5
 
stringo:

Das ist Unsinn. Setzen Sie den Timer auf 1 Sekunde und geben Sie mit der Funktion EventChartCustom aus dem OnTimer heraus in beliebigen Abständen benutzerdefinierte Ereignisse aus

Hmmm, danke für den Tipp.
 
stringo:

Das ist Unsinn. Setzen Sie den Timer auf 1 Sekunde und verteilen Sie die benutzerdefinierten Ereignisse aus dem OnTimer in beliebigen Zeitintervallen mit der Funktion EventChartCustom

Nein, ein OnTimer() wird von einem Thread verarbeitet und mehrere Threads von mehreren,

Sie können beliebige lange Berechnungen darin unterbringen und sie parallel dazu durchführen.

 
Urain:

Nein, ein OnTimer() wird von einem Thread und mehreren Threads bearbeitet,

Man kann beliebig lange Berechnungen darin unterbringen und sie trotzdem parallelisieren.

Es wird nicht funktionieren. Der Expert Advisor wird in ein und demselben Thread rotieren und Ereignisse aus der Warteschlange auswählen. Anders als in Fours, wo jedes Mal, wenn ein Thread erstellt wurde, ein Start ausgeführt wurde und der Thread dann beendet wurde.

Parallelisierung von Berechnungen zwischen verschiedenen EAs.

 

Ein Beispiel: Es gibt zwei unabhängige Ereignisse, von denen eines 10 Sekunden und das andere 15 Sekunden lang zählt.

Worauf sollte ein Ereignis warten, damit das andere zählt?

Sie können natürlich alles in den Indikator eingeben, aber der Indikator funktioniert nicht mit einem Timer,

Wenn Sie einen zeitgesteuerten Indikator einführen würden, wäre die Frage gelöst.

Ich habe eine Idee, die es erlaubt, zu wählen, ob OnTick oder OnTimer in einem Indikator verwendet werden soll.

 
Urain:

Sie könnten natürlich alles in den Indikator eingeben, aber der Indikator funktioniert nicht mit dem Timer,

Wenn Sie den Indikator mit einer Zeitschaltuhr betreiben könnten, wäre das Problem gelöst.

Tun Sie es einfach. Versuchen Sie es.
 
Urain:

Ein Beispiel: Es gibt zwei unabhängige Ereignisse, von denen eines 10 Sekunden und das andere 15 Sekunden lang zählt.

Warum soll das eine Ereignis warten, bis das andere zählt?


Die Synchronisierung wurde jedoch nicht abgebrochen. Sie erledigen den Job und senden die Botschaft: "Sieh an, es ist erledigt."

Grund der Beschwerde: