输入/搜索内容
内置函数
Global
Log
Market
Trade
Account
Futures
Exchange
IO
Network
Storage
Threads
exchange.Go
EventLoop
ctx.subscribe
ctx.poll
Subscription
Subscription.book
Subscription.positions
Subscription.balances
Subscription.unsubscribe
threading
Thread
ThreadLock
ThreadEvent
ThreadCondition
ThreadDict
Server
TA
Talib
OS
结构体
内置变量与常量
通用约定
交易所

订阅对象,由ctx.subscribe返回,代表一路推送订阅。可以直接传给ctx.poll,只接收这一路订阅的事件。订阅对象归属于创建它的线程:该路订阅的事件只投递给该线程,也只有该线程能够退订。批量订阅(symbol传入数组)时返回订阅对象数组,调用数组的unsubscribe()可一次性退订全部元素;该数组也可以直接传给ctx.poll()。

订阅对象具有以下只读属性,JSON.stringify(sub)的结果仅包含这些属性:

属性类型说明
idnumber事件流ID,该路订阅所产生事件的ev.stream等于此值。同一线程中身份相同的订阅,其id相同
exnumber账户在exchanges数组中的索引
channelstring频道:ticker、bbo、depth、trade、kline、tickers、private
symbolstring品种代码;tickers、private订阅时为空字符串
depthnumberdepth订阅的档位数(0表示使用交易所默认档位数),其他订阅为0
intervalnumberkline订阅的周期(秒),其他订阅为0

方法:book读取该路深度订阅的订单簿;positions、balances读取私有订阅维护的最新持仓和余额;unsubscribe用于退订。

Python中为Subscription对象,属性相同且只读,info()返回由这些属性组成的字典;批量订阅返回SubscriptionList(list的子类),其unsubscribe()可退订全部元素。Rust中对应ctx::subscribe()(批量为ctx::subscribe_many())返回的ctx::Sub,属性以方法形式提供:id()、ex()、channel()、depth()、interval()。

本章内容整章阅读

名称描述
Subscription.book读取本路深度订阅自身维护的订单簿,仅适用于channel为depth的订阅。
Subscription.positions读取私有订阅根据推送维护的最新持仓,仅适用于channel为private的订阅。
Subscription.balances读取私有订阅根据推送维护的最新余额,仅适用于channel为private的订阅。
Subscription.unsubscribe退订:释放此订阅对象持有的引用;只有最后一个引用被释放时,才真正向交易所退订。