订阅接口列表

大约 4 分钟

订阅接口列表

订阅接口使用注意事项

订阅接口通过PushClient对象实现,首先初始化PushClient,再使用client中的方法调用相应的服务。关于PushClient类的具体描述见对象列表。订阅推送相关的请求均为异步处理,故需要用户自定义回调函数,与中间函数进行绑定。某个事件发生,或有最新信息更新被服务器推送时,程序会自动调用用户自定义的回调函数并传入返回接口返回的数据,由用户自定义的回调函数来处理数据。

推送订阅数据的策略是同一个tigerId的订阅数据只会给推送一份。因此,同一个tigerId只能建立唯一的一个有效长连接,如果尝试创建多个长连接,最后创建的长连接将生效,之前的长连接会被踢出。量化策略如果是多机部署的,建议只在一个实例上订阅行情,内部共享数据。

订阅接口通用调用方法:

订阅接口通用调用方法步骤如下:

  1. 实现回调接口

    实现IApiComposeCallback类的对应回调方法,并在初始化时传入PushClient对象。由于订阅类为异步API,必须实现回调方法用于响应接口返回的数据。具体的回调接口及实现示例请参考各个接口的详细说明页面

  2. 配置TigerConfig类

    构造认证类TigerConfig,并在初始化PushClient时传入 示例如下:

      TigerConfig.LogDir = "/data0/logs/tiger-openapi-cs";
      config = new TigerConfig()
      {
        // The tiger_openapi_config.properties file is stored in your local directory.
        ConfigFilePath = "your local directory",
        // IsSslSocket = true;         // default is true
        FailRetryCounts = 2, // (optional) range:[1, 5],  default is 2
        Language = Language.en_US,   // (optional) default is en_US
        TimeZone = CustomTimeZone.HK_ZONE  // (optional) default is HK_ZONE
      };
    
  3. 生成client

    初始化PushClient:

       IApiComposeCallback callback = new DefaultApiComposeCallback();
       PushClient client = PushClient.GetInstance().Config(config)
         .ApiComposeCallback(callback);
    
  4. 连接接口

    调用client.Connect(),可实现IApiComposeCallback类中的回调方法来响应连接的结果

  5. 调用服务

    通过下方列表中的PushClient的方法来调用相应的订阅服务,如PushClient.SubscribeQuote()

  6. 关闭服务 通过PushClient.Disconnect()如果没有后续操作可以停止服务,之后将不会再收到异步消息推送。主动发起Disconnect()会同时取消已订阅的行情

支持的订阅接口的完整列表如下:

账户变动

接口功能描述回调接口
Subscribe订阅账户变动SubscribeEnd, OrderStatusChange, PositionChange, AssetChange, OrderTransactionChange
CancelSubscribe取消订阅账户变动CancelSubscribeEnd

行情订阅

接口功能描述回调接口
SubscribeQuote订阅行情数据SubscribeEnd, QuoteChange, QuoteAskBidChange
CancelSubscribeQuote取消订阅行情CancelSubscribeEnd
SubscribeOption订阅期权行情SubscribeEnd, OptionChange, OptionAskBidChange
CancelSubscribeOption取消订阅期权行情CancelSubscribeEnd
SubscribeFuture订阅期货行情SubscribeEnd, FutureChange, futureAskBidChange
CancelSubscribeFuture取消订阅期货行情CancelSubscribeEnd
SubscribeDepthQuote订阅深度行情SubscribeEnd, DepthQuoteChange
CancelSubscribeDepthQuote取消订阅深度行情CancelSubscribeEnd
SubscribeTradeTick订阅逐笔成交数据SubscribeEnd, TradeTickChange
CancelSubscribeTradeTick取消订阅逐笔成交数据CancelSubscribeEnd
SubscribeStockTop订阅股票行情榜单数据SubscribeEnd, StockTopPush
CancelSubscribeStockTop取消订阅股票行情榜单数据CancelSubscribeEnd
SubscribeOptionTop订阅期权行情榜单数据SubscribeEnd, OptionTopPush
CancelSubscribeOptionTop取消订阅期权行情榜单数据CancelSubscribeEnd
SubscribeTradeTick订阅全量逐笔成交数据SubscribeEnd, FullTickChange
SubscribeKline订阅分钟K线数据SubscribeEnd, KlineChange
CancelSubscribeKline取消订阅分钟K线数据CancelSubscribeEnd
GetSubscribedSymbols查询已订阅标的GetSubscribedSymbolEnd

其他事件响应方法

回调接口功能描述
void ConnectAck()连接成功
void ConnectionClosed()连接已关闭
void Error(String errorMsg)异常回调
void Error(int id, int errorCode, String errorMsg)异常回调
void ConnectionKickout(int errorCode, String errorMsg)被另一个连接踢掉时触发,sdk会关闭本地tcp连接。请不要在这个方法里实现重连,会导致不断互踢,影响数据推送
void HearBeat(String s)心跳回调
上次编辑于: