订阅接口列表
订阅接口列表
订阅接口使用注意事项
订阅接口通过WebSocketClient
对象实现,首先初始化WebSocketClient
,再使用client中的方法调用相应的服务。关于WebSocketClient类的具体描述见对象列表。订阅推送相关的请求均为异步处理,故需要用户自定义回调函数,与中间函数进行绑定。某个事件发生,或有最新信息更新被服务器推送时,程序会自动调用用户自定义的回调函数并传入返回接口返回的数据,由用户自定义的回调函数来处理数据。
推送订阅数据的策略是同一个tigerId的订阅数据只会给推送一份。因此,同一个tigerId只能建立唯一的一个有效长连接,如果尝试创建多个长连接,最后创建的长连接将生效,之前的长连接会被踢出。量化策略如果是多机部署的,建议只在一个实例上订阅行情,内部共享数据。
订阅接口通用调用方法:
订阅接口通用调用方法步骤如下:
实现回调接口
实现
ApiComposeCallback
类的对应回调方法,并在初始化时传入WebSocketClient
对象。由于订阅类为异步API,必须实现回调方法用于响应接口返回的数据。具体的回调接口及实现示例请参考各个接口的详细说明页面构造认证类
构造认证类
ApiAuthentication
,并在初始化WebSocketClient
时传入,用于身份验证 示例如下:ClientConfig clientConfig = ClientConfig.DEFAULT_CONFIG; // The tiger_openapi_config.properties file is stored in your local directory. clientConfig.configFilePath = "your local directory"; // clientConfig.isSslSocket = true; // default is true ApiAuthentication authentication = ApiAuthentication.build(clientConfig.tigerId, clientConfig.privateKey);
生成client
初始化
WebSocketClient
:WebSocketClient client = WebSocketClient.getInstance().clientConfig(clientConfig).apiComposeCallback(new DefaultApiComposeCallback());
连接接口
调用WebSocketClient.connect(),可实现
ApiComposeCallback
类中的回调方法来响应连接的结果调用服务
通过下方列表中的
WebSocketClient
的方法来调用相应的对应服务,如WebSocketClient.subscribe()
关闭服务 通过
WebSocketClient.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) | 心跳回调 |