StrategyPositionManager

StockSharp.Algo.Strategies

Gestiona posiciones de estrategia (por instrumento financiero + Cartera) y calcula la cantidad de posición, precio promedio, realizado PnL y comisiona incrementalmente desde ejecuciones de pedidos. Además mantiene agregados cachés por posición (cuenta de volumen bloqueado y pedidos activos de compra/venta) a través de actualizaciones incrementales (O(1) por actualización de pedidos, no recans).

Constructores

StrategyPositionManager
public StrategyPositionManager(Func<string> strategyIdGetter)
strategyPositionManager = StrategyPositionManager(strategyIdGetter)

Gestiona posiciones de estrategia (por instrumento financiero + Cartera) y calcula la cantidad de posición, precio promedio, realizado PnL y comisiona incrementalmente desde ejecuciones de pedidos. Además mantiene agregados cachés por posición (cuenta de volumen bloqueado y pedidos activos de compra/venta) a través de actualizaciones incrementales (O(1) por actualización de pedidos, no recans).

strategyIdGetter
Delegado devolviendo la identificación de estrategia para sellar a StrategyId@.

Propiedades

Positions
public Position[] Positions { get; }
value = strategyPositionManager.Positions

Conjunto de funciones gestionadas (copia segura de lectura).

StrategyIdGetter
public Func<string> StrategyIdGetter { get; }
value = strategyPositionManager.StrategyIdGetter

Estrategia de retorno de delegados id para asignar en nuevas posiciones.

TrackedAggsCount
public int TrackedAggsCount { get; }
value = strategyPositionManager.TrackedAggsCount
TrackedOrderExecInfosCount
public int TrackedOrderExecInfosCount { get; }
value = strategyPositionManager.TrackedOrderExecInfosCount
TrackedOrderTracksCount
public int TrackedOrderTracksCount { get; }
value = strategyPositionManager.TrackedOrderTracksCount

Métodos

ProcessOrder
public OrderResults ProcessOrder(Order order)
result = strategyPositionManager.ProcessOrder(order)

Orden de proceso cambio de estado (inscripción, cambio de equilibrio, ejecución parcial/completa, cancelación, hecho).

order
Orden de procesar.

Devuelve: OrderResults@

Reset
public void Reset()
strategyPositionManager.Reset()

Reiniciar todos los caches internos (posiciones, información de ejecución, agregados, pistas de orden).

SetPosition
public void SetPosition(Security security, Portfolio portfolio, decimal value, DateTime time)
strategyPositionManager.SetPosition(security, portfolio, value, time)

Establecer el valor de posición actual explícitamente (utility para la restauración manual / anulaciones).

security
instrumento financiero.
portfolio
Portafolio.
value
Nueva cantidad firmada.
time
Horarios para asignar a LocalTime y ServerTime si se crea una nueva posición.
TryGetPosition
public Position TryGetPosition(Security security, Portfolio portfolio)
result = strategyPositionManager.TryGetPosition(security, portfolio)

Pruebe obtener la instancia de posición existente para y .

security
instrumento financiero.
portfolio
Portafolio.

Devuelve: Posición existente o .

UpdateAggregates
private void UpdateAggregates(Order order, Position position)
strategyPositionManager.UpdateAggregates(order, position)

Actualizar agregados increíblemente para el orden ( volumen bloqueado y cuenta) y empujarlos en el .

UpdateCurrentPrice
public void UpdateCurrentPrice(SecurityId secId, decimal price, DateTime serverTime, DateTime localTime)
strategyPositionManager.UpdateCurrentPrice(secId, price, serverTime, localTime)

Actualizar el precio actual (mercado) para todas las posiciones de la especificada .

secId
identificador de instrumentos financieros cuyas posiciones necesitan actualización de precios.
price
Nuevo precio de mercado.
serverTime
Tiempo de servidor de la instantánea de precio.
localTime
Hora local cuando el precio fue procesado.

Eventos

PositionProcessed
public event Action<Position, bool> PositionProcessed
strategyPositionManager.PositionProcessed += handler

Occurs después de que se tramitó la posición (creado o actualizado por una ejecución de orden o cambio de estado que afecta a los agregados).