交易品种标识符
S# 中来自不同来源的交易品种具有 Security.Id 统一标识符。这样做的目的是使交易算法代码不依赖于连接类型(OpenECry、Rithmic、Interactive Brokers 等)。对于交易品种标识符,使用以下语法 - [交易品种代码]@[交易板代码]。例如,苹果公司股票的标识符将是 AAPL@NASDAQ。对于衍生品,交易板代码应为该合约实际交易所在交易板的代码。例如,ES 指数六月期货合约可标识为 ESM5@CME。
Tip
Hydra 市场数据下载应用程序使用相同机制枚举具有历史记录的文件夹。
标识符生成算法重写
要在自己的算法中生成交易品种标识符,您必须创建 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; } }然后,创建的生成器必须传递给连接器:
connector.SecurityIdGenerator = new CustomSecurityIdGenerator();