MarginController

StockSharp.MatchingEngine

A implementação padrão de IMarginController. A alavancagem é retirada da alavancagem (padrão 1). Os níveis de chamada/parada de margem são retirados do IPortfolio.

Implementa: IMarginController

Métodos

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

Calcular o nível de margem atual para uma carteira.

portfolio
Portfólio.
unrealizedPnL
Atual não realizada PnL.

Retorna: Razão de nível de margem (equidade / bloqueada). Retorna MaxValuese não houver dinheiro bloqueado.

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

Calcular a margem necessária para uma ordem, usando alavancagem de nível de posição.

price
Preço de encomenda.
volume
Volume de encomenda.
position
Informação da posição (para alavancagem). Pode ser nulo (usa a alavancagem padrão 1).

Retorna: Montante da margem exigida.

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

Verifique se o portfólio está em estado de chamada de margem. Use MarginCallLevel.

portfolio
Portfólio.
unrealizedPnL
Atual não realizada PnL.

Retorna: Verdadeiro se o nível de margem estiver abaixo ou abaixo do limiar de valor de cobertura de margem.

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

Verifique se o portfólio está em estado de parada. Usa EnableStopOut e StopOutLevel.

portfolio
Portfólio.
unrealizedPnL
Atual não realizada PnL.

Retorna: Verdadeiro se o stop-out estiver habilitado e o nível de margem estiver abaixo ou abaixo do limiar de stop-out.

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

Validar essa carteira tem fundos suficientes para a ordem.

portfolio
Portfólio para verificar.
price
Preço de encomenda.
volume
Volume de encomenda.
position
Informação da posição (para alavancagem). Pode ser nula.

Retorna: Erro se fundos insuficientes, nulo caso contrário.