Número da transação

Ao trabalhar com ordens, o identificador principal é Order.TransactionId, e não Order.Id. Isto acontece porque Order.Id é gerado pela bolsa. Por este motivo, imediatamente após a execução do método Connector.RegisterOrder(StockSharp.BusinessEntities.Order order ), Order.Id pode permanecer por algum tempo sem ser inicializado. Portanto, logo após o envio da transação, o programa de negociação gera Order.TransactionId.

Order.TransactionId é gerado automaticamente pela classe IdGenerator. Esta é uma classe abstrata que tem duas implementações padrão:

  • IncrementalIdGenerator - instalada por predefinição. Aumenta o número em 1. O valor inicial é definido através da propriedade IncrementalIdGenerator.Current e, por predefinição, é igual ao número de milissegundos desde o início do dia.
  • MillisecondIdGenerator. Gera o número da transação, que é igual ao número de milissegundos desde o momento em que o gerador foi criado.