ReportSource

StockSharp.Reporting

Report data source that allows external code to add information and supports aggregation.

Implements: IReportSource

Constructors

ReportSource
public ReportSource()
reportSource = ReportSource()

Initializes a new instance of the ReportSource.

Properties

AggregationInterval
public TimeSpan AggregationInterval { get; set; }
value = reportSource.AggregationInterval
reportSource.AggregationInterval = value

Time interval for aggregation. Orders/trades within the same interval are grouped together. Default is 1 hour. Set to Zero to disable time-based grouping (items will be aggregated by count only when threshold is exceeded).

Commission
public decimal? Commission { get; set; }
value = reportSource.Commission
reportSource.Commission = value

Total commission.

Latency
public TimeSpan? Latency { get; set; }
value = reportSource.Latency
reportSource.Latency = value

Total latency.

MaxOrdersBeforeAggregation
public int MaxOrdersBeforeAggregation { get; set; }
value = reportSource.MaxOrdersBeforeAggregation
reportSource.MaxOrdersBeforeAggregation = value

Maximum number of orders before automatic aggregation is triggered. Default is 10000. Set to 0 to disable automatic aggregation.

MaxTradesBeforeAggregation
public int MaxTradesBeforeAggregation { get; set; }
value = reportSource.MaxTradesBeforeAggregation
reportSource.MaxTradesBeforeAggregation = value

Maximum number of trades before automatic aggregation is triggered. Default is 10000. Set to 0 to disable automatic aggregation.

Name
public string Name { get; set; }
value = reportSource.Name
reportSource.Name = value

Strategy name.

Orders
public IEnumerable<ReportOrder> Orders { get; }
value = reportSource.Orders

Orders collection.

OrdersCount
public int OrdersCount { get; }
value = reportSource.OrdersCount

Current orders count.

OwnTrades
public IEnumerable<ReportTrade> OwnTrades { get; }
value = reportSource.OwnTrades

Own trades collection.

Parameters
public IEnumerable<ValueTuple<string, object>> Parameters { get; }
value = reportSource.Parameters

Get strategy parameters as name-value pairs.

PnL
public decimal PnL { get; set; }
value = reportSource.PnL
reportSource.PnL = value

Total profit-loss.

Position
public decimal Position { get; set; }
value = reportSource.Position
reportSource.Position = value

Current position.

Positions
public IEnumerable<ReportPosition> Positions { get; }
value = reportSource.Positions

Position round-trips collection.

Slippage
public decimal? Slippage { get; set; }
value = reportSource.Slippage
reportSource.Slippage = value

Total slippage.

StatisticParameters
public IEnumerable<ValueTuple<string, object>> StatisticParameters { get; }
value = reportSource.StatisticParameters

Statistic parameters as name-value pairs.

TotalWorkingTime
public TimeSpan TotalWorkingTime { get; set; }
value = reportSource.TotalWorkingTime
reportSource.TotalWorkingTime = value

The total time of strategy operation.

TradesCount
public int TradesCount { get; }
value = reportSource.TradesCount

Current trades count.

Methods

AddOrder
public ReportSource AddOrder(long? id, long transactionId, SecurityId securityId, Sides side, DateTime time, decimal price, OrderStates? state, decimal? balance, decimal? volume, OrderTypes? type)
result = reportSource.AddOrder(id, transactionId, securityId, side, time, price, state, balance, volume, type)

Add an order with individual parameters.

AddOrder
public ReportSource AddOrder(ReportOrder order)
result = reportSource.AddOrder(order)

Add an order.

order
Order to add.

Returns: This instance for chaining.

AddOrders
public ReportSource AddOrders(IEnumerable<ReportOrder> orders)
result = reportSource.AddOrders(orders)

Add multiple orders.

orders
Orders to add.

Returns: This instance for chaining.

AddParameter
public ReportSource AddParameter(string name, object value)
result = reportSource.AddParameter(name, value)

Add a parameter.

name
Parameter name.
value
Parameter value.

Returns: This instance for chaining.

AddParameters
public ReportSource AddParameters(IEnumerable<ValueTuple<string, object>> parameters)
result = reportSource.AddParameters(parameters)

Add multiple parameters.

parameters
Parameters to add.

Returns: This instance for chaining.

AddPosition
public ReportSource AddPosition(ReportPosition position)
result = reportSource.AddPosition(position)

Add a position round-trip.

position
Position round-trip to add.

Returns: This instance for chaining.

AddPositions
public ReportSource AddPositions(IEnumerable<ReportPosition> positions)
result = reportSource.AddPositions(positions)

Add multiple position round-trips.

positions
Positions to add.

Returns: This instance for chaining.

AddStatisticParameter
public ReportSource AddStatisticParameter(string name, object value)
result = reportSource.AddStatisticParameter(name, value)

Add a statistic parameter.

name
Parameter name.
value
Parameter value.

Returns: This instance for chaining.

AddStatisticParameters
public ReportSource AddStatisticParameters(IEnumerable<ValueTuple<string, object>> parameters)
result = reportSource.AddStatisticParameters(parameters)

Add multiple statistic parameters.

parameters
Parameters to add.

Returns: This instance for chaining.

AddTrade
public ReportSource AddTrade(long? tradeId, long orderTransactionId, SecurityId securityId, DateTime time, decimal tradePrice, decimal orderPrice, decimal volume, Sides side, long? orderId, decimal? slippage, decimal? pnl, decimal? position)
result = reportSource.AddTrade(tradeId, orderTransactionId, securityId, time, tradePrice, orderPrice, volume, side, orderId, slippage, pnl, position)

Add a trade with individual parameters.

AddTrade
public ReportSource AddTrade(ReportTrade trade)
result = reportSource.AddTrade(trade)

Add a trade.

trade
Trade to add.

Returns: This instance for chaining.

AddTrades
public ReportSource AddTrades(IEnumerable<ReportTrade> trades)
result = reportSource.AddTrades(trades)

Add multiple trades.

trades
Trades to add.

Returns: This instance for chaining.

AggregateOrders
public ReportSource AggregateOrders(TimeSpan interval)
result = reportSource.AggregateOrders(interval)

Manually trigger orders aggregation.

interval
Time interval for grouping. Use Zero for no time grouping.

Returns: This instance for chaining.

AggregateTrades
public ReportSource AggregateTrades(TimeSpan interval)
result = reportSource.AggregateTrades(interval)

Manually trigger trades aggregation.

interval
Time interval for grouping. Use Zero for no time grouping.

Returns: This instance for chaining.

Clear
public ReportSource Clear()
result = reportSource.Clear()

Clear all data.

Returns: This instance for chaining.

ClearOrders
public ReportSource ClearOrders()
result = reportSource.ClearOrders()

Clear all orders.

Returns: This instance for chaining.

ClearParameters
public ReportSource ClearParameters()
result = reportSource.ClearParameters()

Clear all parameters.

Returns: This instance for chaining.

ClearPositions
public ReportSource ClearPositions()
result = reportSource.ClearPositions()

Clear all positions.

Returns: This instance for chaining.

ClearStatisticParameters
public ReportSource ClearStatisticParameters()
result = reportSource.ClearStatisticParameters()

Clear all statistic parameters.

Returns: This instance for chaining.

ClearTrades
public ReportSource ClearTrades()
result = reportSource.ClearTrades()

Clear all trades.

Returns: This instance for chaining.