Additionally, I output statistics onStrategyStop using this code:
Code:
protected override void OnStrategyStop()
{
Portfolio portfolio = Portfolio;
//show ParentStatistic
if (false)
portfolio = Portfolio.Parent;
string timeFmt = "dd.MM.yyyy HH:mm:ss.fff";
string message = "******************** " + Instrument + " Length1: " + Length1 + " Length2: " + Length2 + " Time: " + framework.Clock.DateTime.ToString(timeFmt) + "\r\n";
var maxDrawdownStatistics = portfolio.Statistics.Items.GetByType(PortfolioStatisticsType.MaxDrawdown);
int maxDrawdownCount = maxDrawdownStatistics.TotalValues.Count;
double maxDrawdown = Math.Round(maxDrawdownStatistics.TotalValue, 2);
message += "MaxDrawdown: " + maxDrawdown + " itemsCount: " + maxDrawdownCount + "\r\n";
var sharpeRatioStatistics = portfolio.Statistics.Items.GetByType(PortfolioStatisticsType.SharpeRatio);
int sharpeRatioCount = sharpeRatioStatistics.TotalValues.Count;
double sharpeRatio = Math.Round(sharpeRatioStatistics.TotalValue, 2);
message += "SharpeRatio: " + sharpeRatio + " itemsCount: " + sharpeRatioCount + "\r\n";
double equity = Math.Round(portfolio.Value, 2);
message += "Equity: " + equity + "\r\n";
message.Trim();
Console.WriteLine(message);
}