MarginController
StockSharp.MatchingEngine
IMarginController 默认执行。 杠杆来自 Levarage (默认 1) 。 边缘呼叫/ 停止级别来自 IPortfolio 。
方法
CheckMarginLevel
public decimal CheckMarginLevel(IPortfolio portfolio, decimal unrealizedPnL)
result = marginController.CheckMarginLevel(portfolio, unrealizedPnL)
计算组合的当前比值水平 。
- portfolio
- 组合.
- unrealizedPnL
- Current unrealized PnL.
返回值: 边际级别比率(股本/ 被封禁) 。 如果没有被封存的钱, 返回 MaxValue 。
GetRequiredMargin
public decimal GetRequiredMargin(decimal price, decimal volume, PositionInfo position)
result = marginController.GetRequiredMargin(price, volume, position)
使用职位级杠杆计算命令所需的比值。
- price
- 订价.
- volume
- 序卷出. 师曰.
- position
- 位置信息( 用于杠杆) 。 可无效( 使用默认杠杆 1)。
返回值: 所需差值。
IsMarginCall
public bool IsMarginCall(IPortfolio portfolio, decimal unrealizedPnL)
result = marginController.IsMarginCall(portfolio, unrealizedPnL)
检查组合是否处于差值调用状态。 使用 MarginCallLevel 。
- portfolio
- 组合.
- unrealizedPnL
- Current unrealized PnL.
返回值: 如果差值水平处于或低于差值调用阈值,则为真.
IsStopOut
public bool IsStopOut(IPortfolio portfolio, decimal unrealizedPnL)
result = marginController.IsStopOut(portfolio, unrealizedPnL)
检查组合是否处于中途退出状态。 使用 & > EnableStopOut > 和 & > StopOutLevel+ > 。
- portfolio
- 组合.
- unrealizedPnL
- Current unrealized PnL.
返回值: 如果启用停用,且边距水平处于或低于停用阈值,则属实 。
ValidateOrder
public InvalidOperationException ValidateOrder(IPortfolio portfolio, decimal price, decimal volume, PositionInfo position)
result = marginController.ValidateOrder(portfolio, price, volume, position)
核实投资组合有足够的资金来维持秩序。
- portfolio
- 组合要检查。
- price
- 订价.
- volume
- 序卷出. 师曰.
- position
- 位置信息( 用于杠杆) 。 可无效 。
返回值: 如果资金不足,则错误无效。