交易品种标识符

S# 中来自不同来源的工具具有 Security.Id 统一标识符。这样做的目的是使交易算法代码不依赖于连接类型(OpenECryRithmicInteractive Brokers 等)。对于工具标识符,使用以下语法 - [instrument code]@[board code]。例如,苹果公司股票的标识符将是 AAPL@NASDAQ。对于衍生品市场工具,交易板为 NYSE(或 AAPL 期货交易的其他板名称)。例如,对于 ES 指数六月份期货,其标识符将是 ESM5@NYSE

Tip

Hydra 市场数据下载应用程序使用相同机制枚举具有历史记录的文件夹。

标识符生成算法重写

  1. 要在自己的算法中生成交易品种标识符,您必须创建 SecurityIdGenerator 类的子类,并重写 SecurityIdGenerator.GenerateId(System.String secCode, System.String boardCode ) 方法:

    class CustomSecurityIdGenerator : SecurityIdGenerator
    {
       public override string GenerateId(string secCode, ExchangeBoard board)
       {
          // 将以 CODE--BOARD 形式生成
          return secCode + "--" + board.Code;
       }
    }
    
  2. 然后,创建的生成器必须传递给连接器:

    connector.SecurityIdGenerator = new CustomSecurityIdGenerator();