TradePipeline

StockSharp.Algo.Strategies

Trade processing. Handles deduplication, PnL calculation, commission/slippage accumulation.

コンストラクター

TradePipeline
public TradePipeline(IPnLManager pnlManager, IStatisticManager stats, Action<MyTrade> feedSecurity)
tradePipeline = TradePipeline(pnlManager, stats, feedSecurity)

Trade processing. Handles deduplication, PnL calculation, commission/slippage accumulation.

pnlManager
PnL manager.
stats
Statistic manager.
feedSecurity
Pushes the traded security's valuation snapshot into the PnL manager.

プロパティ

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

Total accumulated commission.

MyTrades
public IEnumerable<MyTrade> MyTrades { get; }
value = tradePipeline.MyTrades

All tracked trades.

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

Total accumulated slippage.

メソッド

Contains
public bool Contains(MyTrade trade)
result = tradePipeline.Contains(trade)

Check whether the trade is already tracked.

Reset
public void Reset()
tradePipeline.Reset()

Clear all data.

SetPnLManager
public void SetPnLManager(IPnLManager pnlManager)
tradePipeline.SetPnLManager(pnlManager)

Swap the PnL manager (used when PnLManager is reassigned).

pnlManager
The new PnL manager.
SetStatisticManager
public void SetStatisticManager(IStatisticManager stats)
tradePipeline.SetStatisticManager(stats)

Swap the statistic manager (used when StatisticManager is reassigned).

stats
The new statistic manager.
TryAdd
public bool TryAdd(MyTrade trade)
result = tradePipeline.TryAdd(trade)

Try to add a trade. Returns false if duplicate. Processes PnL, commission, slippage.

イベント

CommissionChanged
public event Action CommissionChanged
tradePipeline.CommissionChanged += handler

Fires when commission changes.

PnLChanged
public event Action<DateTime> PnLChanged
tradePipeline.PnLChanged += handler

Fires when PnL changes due to a trade.

SlippageChanged
public event Action SlippageChanged
tradePipeline.SlippageChanged += handler

Fires when slippage changes.

TradeAdded
public event Action<MyTrade> TradeAdded
tradePipeline.TradeAdded += handler

Fires when a new trade is successfully added.