Logging de estrategias

La clase Strategy implementa la interfaz ILogSource. Por lo tanto, las estrategias se pueden pasar a LogManager.Sources, y todos sus mensajes llegarán automáticamente a LogManager.Listeners.

Requisitos previos

Estrategias de trading

Logging en un archivo de prueba

  1. Primero, necesita crear el administrador especial:

    var logManager = new LogManager();
    
  2. Después necesita crear un logger de archivo, pasándole el nombre del archivo, y agregarlo a LogManager.Listeners:

    var fileListener = new FileLogListener("{0}_{1:00}_{2:00}.txt".Put(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day));
    logManager.Listeners.Add(fileListener);
    
  3. Para registrar mensajes, debe agregar una estrategia a LogManager.Sources:

    logManager.Sources.Add(lkohSmaStrategy);
    
  4. Después de agregar la estrategia al administrador de logging, todos sus mensajes se registrarán en el archivo.

Reproducción de sonido

  1. Cree un logger y pásele el nombre del archivo de sonido:

    var soundListener = new SoundLogListener("error.mp3");
    
    logManager.Listeners.Add(soundListener);
    logManager.Sources.Add(lkohSmaStrategy);
    
  2. Configure el filtro para que el sonido se reproduzca solo cuando el tipo de mensaje sea LogLevels.Error:

    soundListener.Filters.Add(msg => msg.Level == LogLevels.Error);
    

Envío de correo electrónico

  1. Cree el logger y pásele los parámetros de las cartas enviadas:

    var emailListener = new EmailLogListener("from@stocksharp.com", "to@stocksharp.com");
    logManager.Listeners.Add(emailListener);
    logManager.Sources.Add(lkohSmaStrategy);
    
  2. Configure el filtro para el envío de mensajes de los tipos LogLevels.Error y LogLevels.Warning:

    emailListener.Filters.Add(msg => msg.Level == LogLevels.Error);
    emailListener.Filters.Add(msg => msg.Level == LogLevels.Warning);
    

Logging en LogWindow

  1. Cree el logger GuiLogListener:

     // cada estrategia tendrá sus propias ventanas
    var guiListener = new GuiLogListener();
    logManager.Listeners.Add(guiListener);
    logManager.Sources.Add(lkohSmaStrategy);
    
  2. Esta es la ventana de log cuando la estrategia está funcionando: strategylogging

Contenido recomendado

Componentes visuales de logging