交易品种标识符

S# 中来自不同来源的交易品种具有 Security.Id 统一标识符。这样做的目的是使交易算法代码不依赖于连接类型(OpenECryRithmicInteractive Brokers 等)。对于交易品种标识符,使用以下语法 - [交易品种代码]@[交易板代码]。例如,苹果公司股票的标识符将是 AAPL@NASDAQ。对于衍生品,交易板代码应为该合约实际交易所在交易板的代码。例如,ES 指数六月期货合约可标识为 ESM5@CME

Tip

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

标识符生成算法重写

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

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

    connector.SecurityIdGenerator = new CustomSecurityIdGenerator();