protected override List<StrategyMetric> OnGetMetrics()
// We placed our code in OnGetMetrics method just for an example
// Iterate through all connected connections
foreach (Connection connection in Core.Connections.Connected)
// Display information about positions
foreach (Position pos in Core.Positions)
// Use positions only from current connection
if (pos.ConnectionId == connection.Id)
Log(quot;PositionID name: {pos.Id}, Position NetPnL: {pos.NetPnL.ToString()}");
Log(quot;Positions:", StrategyLoggingLevel.Trading);
// Display information about accounts
foreach (Account account in Core.Accounts)
// Use accounts only from current connection
if (account.ConnectionId == connection.Id)
Log(quot;Account name: {account.Name}, Account Balance: {account.Balance.ToString()}");
Log(quot;Accounts:", StrategyLoggingLevel.Trading);
// Display information about symbols
foreach (Symbol symbol in Core.Symbols)
// Use symbols only from current connection
if (symbol.ConnectionId == connection.Id)
Log(quot;Symbol name: {symbol.Name}, Symbol type: {symbol.SymbolType.ToString()}, Bid: {symbol.Bid}, Ask: {symbol.Ask}");
Log(quot;Symbols:", StrategyLoggingLevel.Trading);
// Display connection name
Log(quot;Information from '{connection.Name}' connection:", StrategyLoggingLevel.Error);
List<StrategyMetric> result = base.OnGetMetrics();