Для изменения размера нажмите или перетащите
Отчеты

Для стратегий, построенных на базе Strategy, S# предоставляет механизм генерации отчетов. Отчет включает в себя такие вещи, как код инструмента (StrategySecurity), общее время работы (StrategyTotalWorkingTime), проскальзование (SlippageManager), P&L (StrategyPnLManager) и т.д. Также, генерация отчетов включает детальную статистику по всем заявкам (StrategyOrders) и сделкам (StrategyMyTrades), которые были совершены в рамках работы стратегии.

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

  • ExcelStrategyReport - генерация отчета в формат Excel. При данной генерации можно использовать файл-шаблон (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

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