IMarginController
Interfaz para controlar la lógica de comercio del margen. El palanca es per-posición (Leverage). Los niveles de llamada/detengación de la margin son per-portfolio (MarginCallLevel, StopOutLevel).
Métodos
public decimal CheckMarginLevel(IPortfolio portfolio, decimal unrealizedPnL)
result = iMarginController.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.
public decimal GetRequiredMargin(decimal price, decimal volume, PositionInfo position)
result = iMarginController.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.
public bool IsMarginCall(IPortfolio portfolio, decimal unrealizedPnL)
result = iMarginController.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.
public bool IsStopOut(IPortfolio portfolio, decimal unrealizedPnL)
result = iMarginController.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.
public InvalidOperationException ValidateOrder(IPortfolio portfolio, decimal price, decimal volume, PositionInfo position)
result = iMarginController.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.