Protokollierung

Für das Monitoring von in S# geschriebenen Handelsalgorithmen können Sie die spezielle Klasse LogManager verwenden. Diese Klasse empfängt Nachrichten LogMessage aus LogManager.Sources über das Ereignis ILogSource.Log und übergibt sie an die Listener LogManager.Listeners. Dadurch kann der Algorithmuscode Debug-Informationen übergeben (zum Beispiel über Fehler während der Ausführung oder zusätzliche Informationen zu mathematischen Berechnungen), und LogManager entscheidet, wie diese Informationen dem Operator angezeigt werden.

Normalerweise enthält S# die folgenden Implementierungen von ILogListener. Die Auswahl bestimmt, wohin von Strategien empfangene Nachrichten weitergeleitet werden:

  1. FileLogListener - schreibt Nachrichten in eine Textdatei. Empfohlen für bereits erstellte Algorithmen und für Logs in Fällen höherer Gewalt.
  2. ConsoleLogListener - gibt Nachrichten im Konsolenfenster aus (wenn der Algorithmus kein Fenster hat, wird es automatisch erstellt). Empfohlen zum Debuggen und Testen des Algorithmus.
  3. DebugLogListener - gibt Nachrichten im Debugfenster aus. Dieses Fenster kann über spezielle Programme wie DebugView angezeigt werden. Empfohlen zum Debuggen und Testen des Algorithmus.
  4. EmailLogListener - sendet Nachrichten an die angegebene E-Mail-Adresse. Empfohlen, wenn der Algorithmus auf einem nicht direkt kontrollierten Computer läuft (auf einem Server des Hosters).
  5. GuiLogListener - zeigt Nachrichten über das spezielle Fenster LogControl an. Kann in zwei Modi arbeiten: Ausgabe aller Nachrichten in einem einzelnen Fenster oder Erstellung eines separaten Fensters für jede ILogSource. Empfohlen, wenn der Algorithmus eine grafische Oberfläche hat.

LogListener kann über die Eigenschaft LogListener.Filters zum Filtern von Nachrichten konfiguriert werden. Über Filter können Sie beispielsweise festlegen, welche Nachrichtentypen verarbeitet werden sollen. Dies ist besonders nützlich bei Verwendung von EmailLogListener, um E-Mails nur in Notfällen (Fehler im Handelsalgorithmus) und nicht bei jeder Debug-Nachricht zu senden.

Nächste Schritte

Strategie-Logging

IConnector-Logging

Andere Logquellen

Visuelles Monitoring

ILogListener creating