Монитор стратегий

StrategiesDashboard - таблица одновременно работающих стратегий. В одной строке показывает инструмент, портфель, состояние, позицию, прибыль, число заявок и сделок, а также кнопки управления.
Основные свойства
- StrategiesDashboard.Items - список строк монитора.
- StrategiesDashboard.SecurityProvider - поставщик инструментов для колонки инструмента.
- StrategiesDashboard.Portfolios - источник портфелей для колонки портфеля.
Строка монитора - это IStrategiesDashboardItem, а не сама стратегия: кнопки запуска, остановки, закрытия позиции, настроек и правил риска работают через команды этого интерфейса. Поэтому монитор одинаково подходит и для локальных стратегий, и для работающих на сервере.
Ниже показаны фрагменты кода с его использованием:
<Window x:Class="Sample.DashboardWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:xaml="http://schemas.stocksharp.com/xaml"
Height="400" Width="1100">
<xaml:StrategiesDashboard x:Name="Dashboard" />
</Window>
// Задаем источники для колонок инструмента и портфеля
Dashboard.SecurityProvider = _connector;
Dashboard.Portfolios = new PortfolioDataSource(_connector);
// Добавляем строки монитора по своим стратегиям
foreach (var strategy in _strategies)
Dashboard.Items.Add(new StrategyDashboardItem(strategy));
// Убираем остановленную стратегию из монитора
Dashboard.Items.Remove(Dashboard.Items.First(i => i.ProcessState == ProcessStates.Stopped));