DecomposedStrategy
La clase base para todas las estrategias comerciales.
Hereda de: BaseLogReceiver
Implementa: IStrategyHost, IPositionProvider, INotifyPropertyChangedEx, INotifyPropertyChanged, ITimeProvider
Constructores
public DecomposedStrategy()
decomposedStrategy = DecomposedStrategy()
Inicia una nueva instancia DecomposedStrategy.
public DecomposedStrategy(IPnLManager pnlManager, IStatisticManager stats)
decomposedStrategy = DecomposedStrategy(pnlManager, stats)
Inicia una nueva instancia DecomposedStrategy.
- pnlManager
- PnLmanager.
- stats
- Director estadístico.
Propiedades
public bool CancelOrdersWhenStopping { get; set; }
value = decomposedStrategy.CancelOrdersWhenStopping
decomposedStrategy.CancelOrdersWhenStopping = value
Cancele órdenes activas cuando la estrategia se detenga.
public StrategyCommentModes CommentMode { get; set; }
value = decomposedStrategy.CommentMode
decomposedStrategy.CommentMode = value
Modo de comentario.
public decimal? Commission { get; }
value = decomposedStrategy.Commission
Comisión acumulada total (de pedidos + oficios).
public IConnector Connector { get; set; }
value = decomposedStrategy.Connector
decomposedStrategy.Connector = value
Connector@ (a través de interfaz para testabilidad).
public StrategyEngine Engine { get; }
value = decomposedStrategy.Engine
Máquina estatal + mensaje de enrutamiento.
public LogLevels ErrorState { get; set; }
value = decomposedStrategy.ErrorState
decomposedStrategy.ErrorState = value
Estado de error.
public virtual bool IsFormed { get; }
value = decomposedStrategy.IsFormed
Ya sea que se forme la estrategia.
public bool IsOnline { get; private set; }
value = decomposedStrategy.IsOnline
decomposedStrategy.IsOnline = value
Está en línea.
public TimeSpan? Latency { get; set; }
value = decomposedStrategy.Latency
decomposedStrategy.Latency = value
Latency.
public OrderPipeline Orders { get; }
value = decomposedStrategy.Orders
Seguimiento y procesamiento de pedidos.
public TimeSpan OrdersKeepTime { get; set; }
value = decomposedStrategy.OrdersKeepTime
decomposedStrategy.OrdersKeepTime = value
El tiempo para guardar pedidos en memoria.
public Portfolio Portfolio { get; set; }
value = decomposedStrategy.Portfolio
decomposedStrategy.Portfolio = value
Portafolio.
public Subscription PortfolioLookup { get; }
value = decomposedStrategy.PortfolioLookup
Suscripción de búsqueda de cartera.
public decimal Position { get; set; }
value = decomposedStrategy.Position
decomposedStrategy.Position = value
Posición actual (instrumento financiero primario).
public PositionPipeline Positions { get; }
value = decomposedStrategy.Positions
Manejo de eventos de posición.
public IReadOnlyDictionary<ValueTuple<SecurityId, string>, decimal> PositionsList { get; }
value = decomposedStrategy.PositionsList
Todas las posiciones rastreadas.
public ProcessStates ProcessState { get; }
value = decomposedStrategy.ProcessState
Estado actual del proceso.
public IRiskManager RiskManager { get; set; }
value = decomposedStrategy.RiskManager
decomposedStrategy.RiskManager = value
Director de Riesgo.
public Security Security { get; set; }
value = decomposedStrategy.Security
decomposedStrategy.Security = value
instrumento financiero.
public decimal? Slippage { get; }
value = decomposedStrategy.Slippage
Total de deslizamiento acumulado.
public DateTime StartedTime { get; private set; }
value = decomposedStrategy.StartedTime
decomposedStrategy.StartedTime = value
La estrategia comienza el tiempo.
public IStatisticManager StatisticManager { get; }
value = decomposedStrategy.StatisticManager
Director de estadísticas.
public SubscriptionRegistry Subscriptions { get; }
value = decomposedStrategy.Subscriptions
Gestión de suscripciones.
public TimeSpan TotalWorkingTime { get; private set; }
value = decomposedStrategy.TotalWorkingTime
decomposedStrategy.TotalWorkingTime = value
Tiempo de trabajo total.
public TradePipeline Trades { get; }
value = decomposedStrategy.Trades
Procesamiento comercial y PnL.
public StrategyTradingModes TradingMode { get; set; }
value = decomposedStrategy.TradingMode
decomposedStrategy.TradingMode = value
Modo de negociación.
public bool UnsubscribeOnStop { get; set; }
value = decomposedStrategy.UnsubscribeOnStop
decomposedStrategy.UnsubscribeOnStop = value
Dessubscribir datos del mercado cuando la estrategia se detiene.
public decimal Volume { get; set; }
value = decomposedStrategy.Volume
decomposedStrategy.Volume = value
Volumen de pedido predeterminado.
public bool WaitAllTrades { get; set; }
value = decomposedStrategy.WaitAllTrades
decomposedStrategy.WaitAllTrades = value
Espera a todos los oficios.
Métodos
public Order BuyLimit(decimal price, decimal? volume)
result = decomposedStrategy.BuyLimit(price, volume)
Comprar a precio límite.
public Order BuyMarket(decimal? volume)
result = decomposedStrategy.BuyMarket(volume)
Comprar a precio de mercado.
protected virtual bool CanAttach(Order order)
result = decomposedStrategy.CanAttach(order)
Si el orden puede ser adjuntado (atracado) por esta estrategia.
- order
- Orden de comprobarlo.
Devuelve: si el orden pertenece a esta estrategia.
public void CancelActiveOrders()
decomposedStrategy.CancelActiveOrders()
Cancela todas las órdenes activas.
public void CancelOrder(Order order)
decomposedStrategy.CancelOrder(order)
Cancelar pedido vía connector.
protected virtual bool CanTrade(Security security, Portfolio portfolio, Sides side, decimal volume, string noTradeReason)
result = decomposedStrategy.CanTrade(security, portfolio, side, volume, noTradeReason)
Compruebe si puede cambiar con la información del pedido.
- security
- instrumento financiero al comercio.
- portfolio
- Cartera al comercio.
- side
- Ordene el lado.
- volume
- Volumen de pedido.
- noTradeReason
- Razón por la que no se permite el comercio.
Devuelve: Es verdad si se permite el comercio.
public Order ClosePosition()
result = decomposedStrategy.ClosePosition()
Cerca de la posición actual.
public Order CreateOrder(Sides side, decimal price, decimal? volume)
result = decomposedStrategy.CreateOrder(side, price, volume)
Cree un objeto de orden inicializado.
- side
- Ordene el lado.
- price
- Precio. 0 para el orden de mercado.
- volume
- Volumen. Si nulo, el volumen se utiliza.
Devuelve: Orden.
public void EditOrder(Order order, Order changes)
decomposedStrategy.EditOrder(order, changes)
Editar un pedido a través de connector.
- order
- Orden original.
- changes
- Cambios en el orden.
public decimal GetPositionValue(Security sec, Portfolio pf)
result = decomposedStrategy.GetPositionValue(sec, pf)
Obtenga valor de posición para instrumentos financieros específicos y cartera.
protected virtual void OnCurrentPriceUpdated(SecurityId secId, decimal price, DateTime serverTime, DateTime localTime)
decomposedStrategy.OnCurrentPriceUpdated(secId, price, serverTime, localTime)
Llamado cuando el precio actual se actualiza de los datos del mercado.
protected virtual void OnError(Exception error)
decomposedStrategy.OnError(error)
El procesamiento de errores se produjo como resultado de la operación de estrategia.
- error
- Error.
public ValueTask OnNewMessage(Message msg, CancellationToken ct)
result = decomposedStrategy.OnNewMessage(msg, ct)
Maneje nuevo mensaje saliente de connector.
protected virtual void OnNewMyTrade(MyTrade trade)
decomposedStrategy.OnNewMyTrade(trade)
Llamado cuando se recibió el nuevo comercio.
- trade
- Nuevo comercio.
protected virtual void OnNewPosition(Position position)
decomposedStrategy.OnNewPosition(position)
Llamado cuando aparece nueva posición.
- position
- Nueva posición.
public void OnOrderCancelFailReceived(Subscription sub, OrderFail fail)
decomposedStrategy.OnOrderCancelFailReceived(sub, fail)
Fallo de cancelación de pedidos de mano de connector.
protected virtual void OnOrderChanged(Order order)
decomposedStrategy.OnOrderChanged(order)
Llamado cuando el estado del orden cambió.
- order
- Orden cambiado.
public void OnOrderEditFailReceived(Subscription sub, OrderFail fail)
decomposedStrategy.OnOrderEditFailReceived(sub, fail)
Fallo de edición de pedidos de mano de connector.
public void OnOrderReceived(Subscription sub, Order order)
decomposedStrategy.OnOrderReceived(sub, order)
Orden de mano recibida de connector.
protected virtual void OnOrderRegistered(Order order)
decomposedStrategy.OnOrderRegistered(order)
Llamado cuando se registró el pedido (transitionado desde la Pending a Active/Done).
- order
- Orden registrada.
protected virtual void OnOrderRegisterFailed(OrderFail fail)
decomposedStrategy.OnOrderRegisterFailed(fail)
Llamado cuando el registro de pedidos falla.
- fail
- Información de fallos de orden.
public void OnOrderRegisterFailReceived(Subscription sub, OrderFail fail)
decomposedStrategy.OnOrderRegisterFailReceived(sub, fail)
Fallo de registro de pedidos de mano de connector.
protected virtual void OnPositionChanged(Position position)
decomposedStrategy.OnPositionChanged(position)
Llamado cuando cambia la posición.
- position
- Cambio de posición.
public void OnPositionReceived(Subscription sub, Position pos)
decomposedStrategy.OnPositionReceived(sub, pos)
Posición de mano recibida de connector.
protected virtual void OnStateChanged(ProcessStates state)
decomposedStrategy.OnStateChanged(state)
Llamado cuando el proceso cambia el estado.
- state
- Nuevo estado.
public void OnTradeReceived(Subscription sub, MyTrade trade)
decomposedStrategy.OnTradeReceived(sub, trade)
Comercio de manijas recibido de connector.
public void RegisterOrder(Order order)
decomposedStrategy.RegisterOrder(order)
Registre un pedido a través de connector.
public void ReRegisterOrder(Order oldOrder, Order newOrder)
decomposedStrategy.ReRegisterOrder(oldOrder, newOrder)
Re-register (cancel + registre nuevo) un pedido a través de connector.
- oldOrder
- Orden de cancelar.
- newOrder
- Nuevo orden de registro.
public void Reset()
decomposedStrategy.Reset()
Reset all state (orders, trades, positions, PnL@, subscriptions).
public Order SellLimit(decimal price, decimal? volume)
result = decomposedStrategy.SellLimit(price, volume)
Vender a precio límite.
public Order SellMarket(decimal? volume)
result = decomposedStrategy.SellMarket(volume)
Vender a precio de mercado.
public ValueTask StartAsync(CancellationToken cancellationToken)
result = decomposedStrategy.StartAsync(cancellationToken)
Comience la estrategia.
public void StartProtection(Unit takeProfit, Unit stopLoss, bool isStopTrailing, TimeSpan? takeTimeout, TimeSpan? stopTimeout, bool useMarketOrders, bool isLocalStop)
decomposedStrategy.StartProtection(takeProfit, stopLoss, isStopTrailing, takeTimeout, stopTimeout, useMarketOrders, isLocalStop)
Comience la protección de la posición.
- takeProfit
- Coge la compensación.
- stopLoss
- Para de compensar.
- isStopTrailing
- Ya sea para usar una técnica de seguimiento.
- takeTimeout
- Plazo. Si la protección no ha funcionado para este momento, la posición será cerrada en el mercado.
- stopTimeout
- Plazo. Si la protección no ha funcionado para este momento, la posición será cerrada en el mercado.
- useMarketOrders
- Ya sea para usar pedidos de mercado.
- isLocalStop
- Forzar el procesamiento de paradas local sin importar las capacidades de adaptador.
public ValueTask StopAsync(CancellationToken cancellationToken)
result = decomposedStrategy.StopAsync(cancellationToken)
Detenga la estrategia.
public ValueTask StopAsync(Exception error, CancellationToken cancellationToken)
result = decomposedStrategy.StopAsync(error, cancellationToken)
Detenga la estrategia con error.
- error
- El error que causó la parada.
- cancellationToken
- Cancelación token.
Eventos
public event Action<Subscription, ExchangeBoard> BoardReceived
decomposedStrategy.BoardReceived += handler
Valor de la Junta recibido.
public event Action<Subscription, ICandleMessage> CandleReceived
decomposedStrategy.CandleReceived += handler
Valor de la vela recibido.
public event Action CommissionChanged
decomposedStrategy.CommissionChanged += handler
La Comisión cambió de evento.
public event Action ConnectorChanged
decomposedStrategy.ConnectorChanged += handler
Connectorcambió el evento.
public event Action<Subscription, DataType> DataTypeReceived
decomposedStrategy.DataTypeReceived += handler
Valor de tipo de datos recibido.
public event Action<DecomposedStrategy> IsOnlineChanged
decomposedStrategy.IsOnlineChanged += handler
El estado en línea cambió.
public event Action LatencyChanged
decomposedStrategy.LatencyChanged += handler
Latency cambió el evento.
public event Action<Subscription, Level1ChangeMessage> Level1Received
decomposedStrategy.Level1Received += handler
Valor de nivel 1.
public event Action<Subscription, News> NewsReceived
decomposedStrategy.NewsReceived += handler
Valor de noticias recibido.
public event Action<Subscription, IOrderBookMessage> OrderBookReceived
decomposedStrategy.OrderBookReceived += handler
Valor de libro de pedidos recibido.
public event Action<OrderFail> OrderCancelFailed
decomposedStrategy.OrderCancelFailed += handler
La cancelación de la orden falló.
public event Action<Subscription, OrderFail> OrderCancelFailReceived
decomposedStrategy.OrderCancelFailReceived += handler
Ordene cancelar el fallo.
public event Action<Order> OrderCanceling
decomposedStrategy.OrderCanceling += handler
El pedido está a punto de ser cancelado.
public event Action<long, Order> OrderEdited
decomposedStrategy.OrderEdited += handler
Orden editado.
public event Action<long, OrderFail> OrderEditFailed
decomposedStrategy.OrderEditFailed += handler
La edición de pedidos falló.
public event Action<Subscription, OrderFail> OrderEditFailReceived
decomposedStrategy.OrderEditFailReceived += handler
Fallo de edición de pedidos.
public event Action<Subscription, IOrderLogMessage> OrderLogReceived
decomposedStrategy.OrderLogReceived += handler
Valor de registro de pedidos recibido.
public event Action<Subscription, Order> OrderReceived
decomposedStrategy.OrderReceived += handler
Valor de pedido recibido.
public event Action<OrderFail> OrderRegisterFailed
decomposedStrategy.OrderRegisterFailed += handler
El registro de la orden falló.
public event Action<Subscription, OrderFail> OrderRegisterFailReceived
decomposedStrategy.OrderRegisterFailReceived += handler
Fallo de registro de pedidos.
public event Action<Order> OrderRegistering
decomposedStrategy.OrderRegistering += handler
El orden está a punto de ser registrado.
public event Action<Order, Order> OrderReRegistering
decomposedStrategy.OrderReRegistering += handler
El orden está a punto de ser re-registrado.
public event Action<Subscription, MyTrade> OwnTradeReceived
decomposedStrategy.OwnTradeReceived += handler
Valor comercial propio recibido.
public event Action ParametersChanged
decomposedStrategy.ParametersChanged += handler
Los parámetros de estrategia cambiaron el evento.
public event Action PnLChanged
decomposedStrategy.PnLChanged += handler
PnLcambió el evento.
public event Action<Subscription> PnLReceived
decomposedStrategy.PnLReceived += handler
PnL recibido evento.
public event Action<Subscription, Portfolio, DateTime, decimal, decimal?, decimal?> PnLReceived2
decomposedStrategy.PnLReceived2 += handler
PnL recibido evento.
public event Action<Subscription, Portfolio> PortfolioReceived
decomposedStrategy.PortfolioReceived += handler
Valor de cartera recibido.
public event Action PositionChanged
decomposedStrategy.PositionChanged += handler
La posición cambió.
public event Action<Subscription, Position> PositionReceived
decomposedStrategy.PositionReceived += handler
Valor de posición recibido.
public event PropertyChangedEventHandler PropertyChanged
decomposedStrategy.PropertyChanged += handler
El elemento de diagrama valora el evento del cambio.
public event Action Reseted
decomposedStrategy.Reseted += handler
Acto de reajuste de la estrategia.
public event Action<Subscription, Security> SecurityReceived
decomposedStrategy.SecurityReceived += handler
valor de los instrumentos financieros recibidos.
public event Action SlippageChanged
decomposedStrategy.SlippageChanged += handler
El evento cambió de página.
public event Action<Subscription, Exception, bool> SubscriptionFailed
decomposedStrategy.SubscriptionFailed += handler
La suscripción falló.
public event Action<Subscription> SubscriptionOnline
decomposedStrategy.SubscriptionOnline += handler
La suscripción está en línea.
public event Action<Subscription, object> SubscriptionReceived
decomposedStrategy.SubscriptionReceived += handler
Valor de suscripción recibido.
public event Action<Subscription> SubscriptionStarted
decomposedStrategy.SubscriptionStarted += handler
La suscripción se inicia.
public event Action<Subscription, Exception> SubscriptionStopped
decomposedStrategy.SubscriptionStopped += handler
La suscripción se detiene.
public event Action<Subscription, ITickTradeMessage> TickTradeReceived
decomposedStrategy.TickTradeReceived += handler
Valor comercial de la moneda recibida.