Получить результаты скрипта

Для расчета данных скрипта можно задействовать стандартный алгоритм, используя класс Perfomance.
Ниже приведен пример скрипта который, считает основные метрики и выводит их в лог. Для сокращения кода сам торговый алгоритм не приводится, вместо него поставьте любой свой или из примеров.
В блок Внешний скрипт надо добавить TSLab.ScriptEngine.dll.

using System.Text; using TSLab.Script; using TSLab.Script.Handlers; using TSLab.Script.Helpers; using TSLab.Script.Optimization; using TSLab.ScriptEngine; namespace MyLib { public class TestPerfomance : IExternalScript { public virtual void Execute(IContext ctx, ISecurity sec) { // Торговый алгоритм // .... // Расчет статистики выполняется в конце скрипта, после торгового алгоритма. // Не забыть добавить TSLab.ScriptEngine.dll в блок Внешний скрипт var list = new [] { (ISecurity2)sec }; var perfomance = new Perfomance(list, ((IRuntime2)ctx.Runtime).InitDeposit); perfomance.UpdateDataFromRuntime(); // Вывод в лог var sb = new StringBuilder(); sb.AppendLine($"AllTrades: {perfomance.AllTrades}"); sb.AppendLine($"WinTrades: {perfomance.WinTrades}"); sb.AppendLine($"LossTrades: {perfomance.LossTrades}"); sb.AppendLine($"MaxDrawdown: {perfomance.MaxDrawdown}"); sb.AppendLine($"MaxDrawdownPct: {perfomance.MaxDrawdownPct}"); sb.AppendLine($"ProfitFactor: {perfomance.ProfitFactor}"); sb.AppendLine($"RecoveryFactor: {perfomance.RecoveryFactor}"); ctx.Log(sb.ToString(), MessageType.Info, true); } }