tqsdk.multiaccount - 多账户

class tqsdk.multiaccount.TqMultiAccount(accounts: List = [])

天勤多账户 - TqMultiAccount

天勤多账户模块提供了单 api 同时操作不同账户及其组合的功能支持,目前已支持实盘账户、模拟账户和快期模拟账户的任意组合。 使用天勤多账户进行跨市场或跨账户交易时,可以在不引入多进程和多线程的前提下, 比较方便的传递账户信息进行策略编写, 同时, 也更方便对不同账户的交易数据进行统计分析。

注意

  • 多账户模式暂未支持回测模块

  • 多账户模式暂未支持 webgui

  • 多账户模式下, 对于 get_position,account,insert_order 等函数必须指定 account 参数

  • 多账户必须指定信易账户信息, 如 api = TqApi(TqMultiAccount(...), auth=TqAuth("信易账户", "账户密码"))

  • 多账户模式下, 实盘账户的数量受限于信易账户支持实盘账户数, 详见:更多的实盘交易账户数

创建 TqMultiAccount 实例

Args:

accounts (List): 多账户列表, 若未指定任何账户, 则表示多账户组合为单 sim 模块

Example:

from tqsdk import TqApi, TqMultiAccount

account1 = TqAccount("H海通期货", "123456", "123456")
account2 = TqAccount("H宏源期货", "654321", "123456")
api = TqApi(TqMultiAccount([account1, account2]), auth=TqAuth("信易账户", "账户密码"))
# 分别获取账户资金信息
order1 = api.insert_order(symbol="DCE.m2101", direction="BUY", offset="OPEN", volume=3, account=account1)
order2 = api.insert_order(symbol="SHFE.au2012C308", direction="BUY", offset="OPEN", volume=3, limit_price=78.0, account=account2)
while order1.status != "FINISHED" or order2.status != "FINISHED":
     api.wait_update()
# 分别获取账户资金信息
account_info1 = api.get_account(account=account1)
account_info2 = api.get_account(account=account2)

api.close()