EmulatedPortfolio
StockSharp.MatchingEngine
模拟投资组合的执行,跟踪职位和货币内幕。
实现: IPortfolio
构造函数
EmulatedPortfolio
public EmulatedPortfolio(string name)
emulatedPortfolio = EmulatedPortfolio(name)
初始化一个新实例。
- name
- 组合名.
属性
AvailableMoney
public decimal AvailableMoney { get; }
value = emulatedPortfolio.AvailableMoney
可用资金(现款-被冻结).
CurrentMoney
public decimal CurrentMoney { get; }
value = emulatedPortfolio.CurrentMoney
现用货币(开始+PnL).
EnableStopOut
public bool EnableStopOut { get; set; }
value = emulatedPortfolio.EnableStopOut
emulatedPortfolio.EnableStopOut = value
停止时启用自动位置清算 。
MarginCallLevel
public decimal MarginCallLevel { get; set; }
value = emulatedPortfolio.MarginCallLevel
emulatedPortfolio.MarginCallLevel = value
边际呼叫级别阈值。 当边际级别降入此值时, 将触发警告 。
StopOutLevel
public decimal StopOutLevel { get; set; }
value = emulatedPortfolio.StopOutLevel
emulatedPortfolio.StopOutLevel = value
停止关闭的临界值。当差值降至这一值时,将清理职位。
方法
CalculateUnrealizedPnL
public decimal CalculateUnrealizedPnL(Func<SecurityId, decimal?> getCurrentPrice)
result = emulatedPortfolio.CalculateUnrealizedPnL(getCurrentPrice)
计算所有职位未实现的PnL。
- getCurrentPrice
- 获取金融工具当前市场价格的功能。 如果价格无法使用, 则返回无效 。
返回值: Total unrealized PnL.
GetAllPositions
public IEnumerable<PositionInfo> GetAllPositions()
result = emulatedPortfolio.GetAllPositions()
获取所有位置信息对象 。
GetPosition
public PositionInfo GetPosition(SecurityId securityId)
result = emulatedPortfolio.GetPosition(securityId)
获得金融工具的地位。
- securityId
- 金融工具标识。
返回值: 位置信息或无效 。
GetPositions
public IEnumerable<ValueTuple<SecurityId, decimal, decimal>> GetPositions()
result = emulatedPortfolio.GetPositions()
都给我准备好
返回值: 数取所位.
ProcessOrderCancellation
public void ProcessOrderCancellation(SecurityId securityId, Sides side, decimal volume, decimal price)
emulatedPortfolio.ProcessOrderCancellation(securityId, side, volume, price)
流程订单取消(解冻资金).
- securityId
- 金融工具标识。
- side
- 秩序一边.
- volume
- 已取消的音量 。
- price
- 用于比值计算的价格。
ProcessOrderRegistration
public void ProcessOrderRegistration(SecurityId securityId, Sides side, decimal volume, decimal price)
emulatedPortfolio.ProcessOrderRegistration(securityId, side, volume, price)
流程订单登记(区块基金)。
- securityId
- 金融工具标识。
- side
- 秩序一边.
- volume
- 序卷出. 师曰.
- price
- 差值计算定出价.
ProcessTrade
public TradeProcessingResult ProcessTrade(SecurityId securityId, Sides side, decimal price, decimal volume, decimal? commission)
result = emulatedPortfolio.ProcessTrade(securityId, side, price, volume, commission)
处理交易执行。
- securityId
- 金融工具标识。
- side
- 贸易方面。
- price
- 贸易价格。
- volume
- 贸易量.
- commission
- 佣金数额。
返回值: 贸易加工结果。
SetPosition
public void SetPosition(SecurityId securityId, decimal volume, decimal avgPrice)
emulatedPortfolio.SetPosition(securityId, volume, avgPrice)
设起起起入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入..
- securityId
- 金融工具标识。
- volume
- 位置音量.
- avgPrice
- 入场价格平均.