MarginController

StockSharp.MatchingEngine

Implementación predeterminada de IMarginController. Leverage es tomado de Leverage (por defecto 1). Los niveles de llamada/detenimiento de la margin se toman de IPortfolio.

Implementa: IMarginController

Métodos

CheckMarginLevel
public decimal CheckMarginLevel(EmulatedPortfolio portfolio, decimal unrealizedPnL)
result = marginController.CheckMarginLevel(portfolio, unrealizedPnL)

Calculate current margin level for a portfolio.

portfolio
Portfolio.
unrealizedPnL
Current unrealized PnL.

Devuelve: Margin level ratio (equity / blocked). Returns MaxValue if no blocked money.

GetRequiredMargin
public decimal GetRequiredMargin(decimal price, decimal volume, PositionInfo position)
result = marginController.GetRequiredMargin(price, volume, position)

Calcular el margen requerido para un pedido, utilizando el apalancamiento de nivel de posición.

price
Precio del pedido.
volume
Volumen de pedido.
position
Información de posición (para apalancamiento). Puede ser null (utiliza el apalancamiento por defecto 1).

Devuelve: Cantidad de margen requerida.

IsMarginCall
public bool IsMarginCall(EmulatedPortfolio portfolio, decimal unrealizedPnL)
result = marginController.IsMarginCall(portfolio, unrealizedPnL)

Check if portfolio is in margin call state. Uses MarginCallLevel.

portfolio
Portfolio.
unrealizedPnL
Current unrealized PnL.

Devuelve: True if margin level is at or below margin call threshold.

IsStopOut
public bool IsStopOut(EmulatedPortfolio portfolio, decimal unrealizedPnL)
result = marginController.IsStopOut(portfolio, unrealizedPnL)

Check if portfolio is in stop-out state. Uses EnableStopOut and StopOutLevel.

portfolio
Portfolio.
unrealizedPnL
Current unrealized PnL.

Devuelve: True if stop-out is enabled and margin level is at or below stop-out threshold.

ValidateOrder
public InvalidOperationException ValidateOrder(EmulatedPortfolio portfolio, decimal price, decimal volume, PositionInfo position)
result = marginController.ValidateOrder(portfolio, price, volume, position)

Validate that portfolio has sufficient funds for order.

portfolio
Portfolio to check.
price
Order price.
volume
Order volume.
position
Position info (for leverage). Can be null.

Devuelve: Error if insufficient funds, null otherwise.