订阅接口列表

大约 4 分钟

订阅接口列表

订阅接口使用注意事项

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

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

订阅接口通用调用方法:

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

  1. 实现回调接口

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

  2. 构造认证类

    构造认证类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);
    
  3. 生成client

    初始化WebSocketClient:

    WebSocketClient client = WebSocketClient.getInstance().clientConfig(clientConfig).apiComposeCallback(new DefaultApiComposeCallback());
    
  4. 连接接口

    调用WebSocketClient.connect(),可实现ApiComposeCallback类中的回调方法来响应连接的结果

  5. 调用服务

    通过下方列表中的WebSocketClient的方法来调用相应的对应服务,如WebSocketClient.subscribe()

  6. 关闭服务 通过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)心跳回调
上次编辑于: