订阅接口列表
订阅接口列表
订阅接口使用注意事项
订阅接口通过PushClient
对象实现,首先初始化PushClient
,再使用client中的方法调用相应的服务。关于PushClient类的具体描述见对象列表。订阅推送相关的请求均为异步处理,故需要用户自定义回调函数,与中间函数进行绑定。某个事件发生,或有最新信息更新被服务器推送时,程序会自动调用用户自定义的回调函数并传入返回接口返回的数据,由用户自定义的回调函数来处理数据。
推送订阅数据的策略是同一个tigerId的订阅数据只会给推送一份。因此,同一个tigerId只能建立唯一的一个有效长连接,如果尝试创建多个长连接,最后创建的长连接将生效,之前的长连接会被踢出。量化策略如果是多机部署的,建议只在一个实例上订阅行情,内部共享数据。
订阅接口通用调用方法:
订阅接口通用调用方法步骤如下:
实现回调接口
实现
IApiComposeCallback
类的对应回调方法,并在初始化时传入PushClient
对象。由于订阅类为异步API,必须实现回调方法用于响应接口返回的数据。具体的回调接口及实现示例请参考各个接口的详细说明页面配置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 };
生成client
初始化
PushClient
:IApiComposeCallback callback = new DefaultApiComposeCallback(); PushClient client = PushClient.GetInstance().Config(config) .ApiComposeCallback(callback);
连接接口
调用
client.Connect()
,可实现IApiComposeCallback
类中的回调方法来响应连接的结果调用服务
通过下方列表中的
PushClient
的方法来调用相应的订阅服务,如PushClient.SubscribeQuote()
关闭服务 通过
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) | 心跳回调 |