Identificador de instrumento
En S#, los instrumentos de distintas fuentes usan un Security.Id unificado. Esto mantiene el código del algoritmo de trading independiente del tipo de conexión, como OpenECry, Rithmic o Interactive Brokers.
Los identificadores de instrumentos usan la siguiente sintaxis: [código del instrumento]@[código de plaza]. Para las acciones de Apple Inc., el identificador es AAPL@NASDAQ. Para derivados, el código de plaza es la plaza en la que se negocia el contrato. Por ejemplo, el contrato de futuros de junio sobre el índice ES se puede identificar como ESM5@NYSE.
Tip
Hydra usa el mismo mecanismo para nombrar carpetas con datos históricos de mercado.
Sustitución del algoritmo de generación del identificador
Para generar identificadores de instrumentos con su propio algoritmo, cree un descendiente de la clase SecurityIdGenerator y sobrescriba el método SecurityIdGenerator.GenerateId(System.String secCode, System.String boardCode ):
class CustomSecurityIdGenerator : SecurityIdGenerator { public override string GenerateId(string secCode, string boardCode) { // generar identificadores en formato CODE--BOARD return secCode + "--" + boardCode; } }Pase el generador creado al conector:
connector.SecurityIdGenerator = new CustomSecurityIdGenerator();