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.
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.