Einzelnen Beitrag anzeigen
  #4 (permalink)  
Alt 31.05.21
Benutzerbild von AlgoTrading
AlgoTrading AlgoTrading ist offline
Neues Mitglied
 
Registriert seit: May 2021
Ort: Rosenheim
Beiträge: 7
AlgoTrading befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

ich weiß nicht ob das Thema noch aktuell ist. Aber die von mir programmierten EAs müssen ebenfalls jede Stunde etwas ausführen. Zudem wollte ich, dass nicht alle gleichzeitig zur gleichen Minute mit dieser Task aktiv werden. Ich habe daher folgenden Code in meine EAs eingefügt:

In der Variablen-Defintion:

static int NextCall = 0;

Unter "OnInit":

NextCall = TimeCurrent() + 3600;

Unter "OnTick":

if(TimeCurrent() > NextCall)
{
Do something

NextCall = TimeCurrent() + 3600;

Dies veranlasst den EA, alle 3600 Sekunden "Do something" aufzurufen. Da die Variable NextCall bei "OnInit" zum ersten Mal mit einem Wert versehen wird, erfolgt dieser "Do something" Aufruf für jeden EA zu einer anderen Zeit, aber immer im Abstand von einer Stunde.

Für meine Anwendung war das wichtig, weil ich sehr viele EAs gleichzeitig laufen habe und vermeiden wollte, dass sich alle zur gleichen Zeit jede Stunde beim Server melden. Durch diesen Code hat jeder EA seinen eigenen Zeitplan.

Lass mich wissen, wenn ich dir weiterhelfen kann.

Gruß

AlgoTrading