Einzelnen Beitrag anzeigen
  #6 (permalink)  
Alt 08.06.20
Ca$hDigger Ca$hDigger ist offline
Premium Mitglied
 
Registriert seit: Jun 2013
Beiträge: 364
Ca$hDigger befindet sich auf einem aufstrebenden Ast
Standard

Wenn ich es richtig verstanden habe willst du einfach nur Code triggern unabhängig von Kursdaten etc. Die whileschleife als Endlosschleife sollte funktionieren, die kann man direkt in OnInit() (EA) bzw OnStart() (Skript) einfügen.

EA:
Code:
int z=0;
int OnInit()
  {
      while(1)
         {
            Sleep(1000); // Trigger jede Sekunde
            Print("TEST: ",  ++z);
         }     
   return(INIT_SUCCEEDED);
  }
SKRIPT:
Code:
int z=0;
void OnStart()
  {
      while(1)
         {
            Sleep(1000); // Trigger jede Sekunde
            Print("TEST: ",  ++z);
         }     
  }
Eine Endlos-Whileschleife funktioniert zwar, ist aber natürlich nicht besonders toller Programmierstil da beim Deinitialisieren eine "abnormal termination" auftreten kann.
Die sauberte Lösung wäre daher einen EventTimer zum künstlichen Triggern zu nutzen (dies geht nicht bei Skripten, nur EA und Indis)

Code:
int z=0;
int OnInit()
  {
   EventSetTimer(1);
   return(INIT_SUCCEEDED);
  }

void OnDeinit(const int reason)
  {
   EventKillTimer();
  }

void OnTimer()
  {
     Print("TEST: ",  ++z);
  }
Alle gezeigten Beispiele funktionieren. Das bei dir die Dinge zum Teil nicht laufen, liegt vielleicht daran, dass du entweder nicht korrekt in ein Konto eingeloggt bist bzw die Märkte nicht offen haben. Dein OnInit() beim EA wird ggf deshalb nie aufgerufen. Jedes beliebige Demokonto würde da Abhilfe schaffen