Table of Contents

Отчеты

Для стратегий, построенных на базе Strategy, S# предоставляет механизм генерации отчетов. Отчет включает в себя такие вещи, как код инструмента (Strategy.Security), общее время работы (Strategy.TotalWorkingTime), проскальзывание (Connector.SlippageManager), P&L (Strategy.PnLManager) и т.д. Также, генерация отчетов включает детальную статистику по всем заявкам (Strategy.Orders) и сделкам (Strategy.MyTrades), которые были совершены в рамках работы стратегии.

Механизм отчетов построен на базе класса StrategyReport, который стандартно имеет следующие реализации:

  • ExcelStrategyReport - генерация отчета в формат Excel. При данной генерации можно использовать файл-шаблон (ExcelStrategyReport.Template), который уже содержит необходимые формулы и графики, опирающиеся на генерируемые данные. Данные из шаблона перед генерацией копируются в результирующий файл, имя которого передается через конструктор.

    По умолчанию, ExcelStrategyReport использует лист Excel с названием "отчет", куда записывает данные. Если такого листа в файле-шаблоне нет, то он будет автоматически создан.

  • XmlStrategyReport - генерация отчета в формат Xml. Данный формат удобен, когда необходимо передать параметры стратегии из торгового робота в другую программу.

  • CsvStrategyReport - генерация отчета в формат CSV. Упрощенная версия Excel отчета, поддерживается большим количеством сторонних программ.

Предварительные условия

Событийная модель

Добавление в SampleSMA генерации Excel отчета

  1. На форму необходимо добавить кнопку генерации отчета:

    <Button x:Name="Report" Grid.Column="0" Width="100" Grid.ColumnSpan="2" Grid.Row="11" IsEnabled="False" Content="Отчет" Click="Report_Click" />
    
  2. Сам код генерации (срабатывает при нажатии кнопки):

    private void Report_Click(object sender, RoutedEventArgs e)
    {
     // сгерерировать отчет по прошедшему тестированию
     new ExcelStrategyReport(_strategy, "sma.xls").Generate();
     // открыть отчет
     Process.Start("sma.xls");
    }
    
  3. В результате сгенерированный файл будет находится в папке рядом с SampleSMA.exe

Следующие шаги

Логирование