Strategietester übelst langsam (meiner Meinung nach)

 

Hallo zusammen,

ich teste aktuell viel mit dem ST auf meinem VPS (4 Kerne, 2,1 GHz, 8 GB RAM).
Bei meinem aktuellen Test mit Optimierung mit 1600 Durchläufen (EUR/USD im Daily) bekomme ich 188 Stunden angezeigt.

Ich hab das Gefühl dass es bei der Anzahl der Läufe schon mal viel schneller vorwärts ging. Ich kann mir nicht erklären warum es plötzlich mehrere Tage dafür dauern soll.

Kann mir jemand eventuell einen Tipp dazu geben?


Vielen Dank!

 
  1. Möglichkeit: Dein  Code ist langsam - bist Du schon mal mit dem  Profiler (Editor => Debug => Profiling...) 'drüber gegangen?
  2. Möglichkeit: Der VPS-Provider gesteht Dir nur einen kleinen Teil der Geamtperformance zu Verfügung. Ich bin da kein Experte, aber uU. könnte man das mit einer Uhr prüfen, die auf Basis der CPU-Ticks arbeitet.
  3. Möglichkeit: Unnötig große herunter zu ladende Datenmengen, wodurch RAM ausgelastet ist und hemmungslos Swappen beginnt.
 
Thorsten:

Hallo zusammen,

ich teste aktuell viel mit dem ST auf meinem VPS (4 Kerne, 2,1 GHz, 8 GB RAM).
Bei meinem aktuellen Test mit Optimierung mit 1600 Durchläufen (EUR/USD im Daily) bekomme ich 188 Stunden angezeigt.

Ich hab das Gefühl dass es bei der Anzahl der Läufe schon mal viel schneller vorwärts ging. Ich kann mir nicht erklären warum es plötzlich mehrere Tage dafür dauern soll.

Kann mir jemand eventuell einen Tipp dazu geben?


Vielen Dank!

Nutze den Profiler.

Finde die Funktionen die viel CPU Zeit brauchen und verschlanke diese.

Prüfe OnTick() genau .....was MUSS wirklich bei jedem Tick berechnet werden ?

Auslagern in OnTimer(1Min) den anderen kram.

 
Danke, da hab ich ja schon einige Möglichkeiten etwas zu prüfen und zu ändern, DANKE!

@Christian:
Lässt sich kurz erklären wie das mit dem Auslagern funktioniert..., aktuell klingt das für mich noch etwas zu profihaft :-)
 
Okay, hat sich erledigt, danke für Eure Tipps. Hab das alles gefunden was ihr geschrieben habt und ich schau mir das morgen in Ruhe an. 
 
Thorsten #:
Danke, da hab ich ja schon einige Möglichkeiten etwas zu prüfen und zu ändern, DANKE!

@Christian:
Lässt sich kurz erklären wie das mit dem Auslagern funktioniert..., aktuell klingt das für mich noch etwas zu profihaft :-)

Viele haben Berechnungen in der Funktion OnTick() die garnicht mit jedem Tick berechnet werden müssen.

Beispiele sind Drawdown vom Konto oder Indikatoren im 5 Min Chart werden dann mit jedem Tick abgefragt obwohl der Wert sich nur alle 5 Minuten einmal ändert.

Diese Sachen packst du dann in eine eigene Funktion OnTimer() die nur alle paar Minuten einmal Berechnet werden.

Teste erstmal den Profiler....poste die Ergebnisse ...wir versuchen zu Helfen.

 
Christian #:

Viele haben Berechnungen in der Funktion OnTick() die garnicht mit jedem Tick berechnet werden müssen.

Beispiele sind Drawdown vom Konto oder Indikatoren im 5 Min Chart werden dann mit jedem Tick abgefragt obwohl der Wert sich nur alle 5 Minuten einmal ändert.

Diese Sachen packst du dann in eine eigene Funktion OnTimer() die nur alle paar Minuten einmal Berechnet werden.

Teste erstmal den Profiler....poste die Ergebnisse ...wir versuchen zu Helfen.

Danke Dir!