Número de transacción

Al trabajar con órdenes, el identificador principal es Order.TransactionId, no Order.Id. Esto se hace porque Order.Id lo genera el exchange. Debido a esto, inmediatamente después de la ejecución del método Connector.RegisterOrder(StockSharp.BusinessEntities.Order order ), durante algún tiempo Order.Id puede no estar inicializado. Por lo tanto, justo después del envío de la transacción, el programa de trading genera Order.TransactionId.

Order.TransactionId es generado automáticamente por la clase IdGenerator. Es una clase abstracta que tiene dos implementaciones estándar:

  • IncrementalIdGenerator - instalada de forma predeterminada. Incrementa el número en 1. El valor inicial se establece mediante la propiedad IncrementalIdGenerator.Current, y por defecto el valor es igual al número de milisegundos desde el inicio del día.
  • MillisecondIdGenerator. Genera el número de transacción, que es igual al número de milisegundos desde el momento en que se creó el generador.