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(IPortfolio portfolio, decimal unrealizedPnL)
result = marginController.CheckMarginLevel(portfolio, unrealizedPnL)

Calcular el nivel actual del margen para una cartera.

portfolio
Portafolio.
unrealizedPnL
Actual no realizado PnL.

Devuelve: Tasa de nivel de margin (equity / blocked). Regresa MaxValue si no hay dinero bloqueado.

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(IPortfolio portfolio, decimal unrealizedPnL)
result = marginController.IsMarginCall(portfolio, unrealizedPnL)

Compruebe si la cartera está en estado de llamada al margen. Usos MarginCallLevel.

portfolio
Portafolio.
unrealizedPnL
Actual no realizado PnL.

Devuelve: Es cierto si el nivel de margen está en o debajo del umbral de llamada.

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

Compruebe si la cartera está en estado de desembarque. Usos EnableStopOuty StopOutLevel@.

portfolio
Portafolio.
unrealizedPnL
Actual no realizado PnL.

Devuelve: Es cierto que si se activa el paro y el nivel del margen está en o debajo del umbral de parada.

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

Validar esa cartera tiene fondos suficientes para el orden.

portfolio
Cartera para comprobar.
price
Precio del pedido.
volume
Volumen de pedido.
position
Información de posición (para apalancamiento). Puede ser nula.

Devuelve: Error si no hay fondos suficientes, nulo de lo contrario.