QMT Python API

成交回报实时主推函数

实时主推函数

资金账号状态变化主推 - account_callback

提示

  1. 仅在实盘运行模式下生效。
  2. 需要先在init里调用ContextInfo.set_account后生效。

用法: account_callback(ContextInfo, accountInfo)

释义: 当资金账号状态有变化时,这个函数被客户端调用

参数:

返回:

示例:

qmt://docs/python
Python
1#coding:gbk
2def show_data(data):
3 tdata = {}
4 for ar in dir(data):
5 if ar[:2] != 'm_':continue
6 try:
7 tdata[ar] = data.__getattribute__(ar)
8 except:
9 tdata[ar] = '<CanNotConvert>'
10 return tdata
11 
12def init(ContextInfo):
13 # 设置对应的资金账号
14 # 示例需要在策略交易界面运行
15 ContextInfo.set_account(account)
16
17def after_init(ContextInfo):
18 # 在策略交易界面运行时,account的值会被赋值为策略配置中的账号,编辑器界面运行时,需要手动赋值
19 # 编译器界面里执行的下单函数不会产生实际委托
20 passorder(23, 1101, account, "000001.SZ", 5, 0, 100, "示例", 2, "投资备注",ContextInfo)
21 pass
22 
23def account_callback(ContextInfo, accountInfo):
24 print(show_data(accountInfo))
25 

账号任务状态变化主推 - task_callback

提示

  1. 仅在实盘运行模式下生效。
  2. 需要先在init里调用ContextInfo.set_account后生效。

用法: task_callback(ContextInfo, taskInfo)

释义: 当账号任务状态有变化时,这个函数被客户端调用

参数:

返回:

示例:

qmt://docs/python
Python
1#coding:gbk
2def show_data(data):
3 tdata = {}
4 for ar in dir(data):
5 if ar[:2] != 'm_':continue
6 try:
7 tdata[ar] = data.__getattribute__(ar)
8 except:
9 tdata[ar] = '<CanNotConvert>'
10 return tdata
11 
12def init(ContextInfo):
13 # 设置对应的资金账号
14 # 示例需要在策略交易界面运行
15 ContextInfo.set_account(account)
16
17def after_init(ContextInfo):
18 # 在策略交易界面运行时,account的值会被赋值为策略配置中的账号,编辑器界面运行时,需要手动赋值
19 # 编译器界面里执行的下单函数不会产生实际委托
20 passorder(23, 1101, account, "000001.SZ", 5, 0, 100, "示例", 2, "投资备注",ContextInfo)
21 pass
22 
23def task_callback(ContextInfo, taskInfo):
24 print(show_data(taskInfo))

账号委托状态变化主推 - order_callback

提示

  1. 仅在实盘运行模式下生效。
  2. 需要先在init里调用ContextInfo.set_account后生效。

用法: order_callback(ContextInfo, orderInfo)

释义: 当账号委托状态有变化时,这个函数被客户端调用

参数:

  • ContextInfo:特定对象
  • orderInfo:委托

返回:

示例:

qmt://docs/python
Python
1#coding:gbk
2def show_data(data):
3 tdata = {}
4 for ar in dir(data):
5 if ar[:2] != 'm_':continue
6 try:
7 tdata[ar] = data.__getattribute__(ar)
8 except:
9 tdata[ar] = '<CanNotConvert>'
10 return tdata
11 
12def init(ContextInfo):
13 # 设置对应的资金账号
14 # 示例需要在策略交易界面运行
15 ContextInfo.set_account(account)
16
17def after_init(ContextInfo):
18 # 在策略交易界面运行时,account的值会被赋值为策略配置中的账号,编辑器界面运行时,需要手动赋值
19 # 编译器界面里执行的下单函数不会产生实际委托
20 passorder(23, 1101, account, "000001.SZ", 5, 0, 100, "示例", 2, "投资备注",ContextInfo)
21 pass
22 
23def order_callback(ContextInfo, orderInfo):
24 print(show_data(orderInfo))

账号成交状态变化主推 - deal_callback

提示

  1. 仅在实盘运行模式下生效。
  2. 需要先在init里调用ContextInfo.set_account后生效。

用法: deal_callback(ContextInfo, dealInfo)

释义: 当账号成交状态有变化时,这个函数被客户端调用

参数:

  • ContextInfo:特定对象
  • dealInfo:成交

返回:

示例:

qmt://docs/python
Python
1#coding:gbk
2def show_data(data):
3 tdata = {}
4 for ar in dir(data):
5 if ar[:2] != 'm_':continue
6 try:
7 tdata[ar] = data.__getattribute__(ar)
8 except:
9 tdata[ar] = '<CanNotConvert>'
10 return tdata
11 
12def init(ContextInfo):
13 # 设置对应的资金账号
14 # 示例需要在策略交易界面运行
15 ContextInfo.set_account(account)
16
17def after_init(ContextInfo):
18 # 在策略交易界面运行时,account的值会被赋值为策略配置中的账号,编辑器界面运行时,需要手动赋值
19 # 编译器界面里执行的下单函数不会产生实际委托
20 passorder(23, 1101, account, "000001.SZ", 5, 0, 100, "示例", 2, "投资备注",ContextInfo)
21 pass
22 
23def deal_callback(ContextInfo, dealInfo):
24 print(show_data(dealInfo))

账号持仓状态变化主推 - position_callback

提示

  1. 仅在实盘运行模式下生效。
  2. 需要先在init里调用ContextInfo.set_account后生效。

用法: position_callback(ContextInfo, positonInfo)

释义: 当账号持仓状态有变化时,这个函数被客户端调用

参数:

  • ContextInfo:特定对象
  • positonInfo:持仓

返回:

示例:

qmt://docs/python
Python
1#coding:gbk
2def show_data(data):
3 tdata = {}
4 for ar in dir(data):
5 if ar[:2] != 'm_':continue
6 try:
7 tdata[ar] = data.__getattribute__(ar)
8 except:
9 tdata[ar] = '<CanNotConvert>'
10 return tdata
11 
12def init(ContextInfo):
13 # 设置对应的资金账号
14 # 示例需要在策略交易界面运行
15 ContextInfo.set_account(account)
16
17def after_init(ContextInfo):
18 # 在策略交易界面运行时,account的值会被赋值为策略配置中的账号,编辑器界面运行时,需要手动赋值
19 # 编译器界面里执行的下单函数不会产生实际委托
20 passorder(23, 1101, account, "000001.SZ", 5, 0, 100, "示例", 2, "投资备注",ContextInfo)
21 pass
22 
23def position_callback(ContextInfo, positionInfo):
24 print(show_data(positionInfo))
25 

账号异常下单主推 - orderError_callback

提示

  1. 仅在实盘运行模式下生效。
  2. 需要先在init里调用ContextInfo.set_account后生效。

用法: orderError_callback(ContextInfo,orderArgs,errMsg)

释义: 当账号下单异常时,这个函数被客户端调用

参数:

  • ContextInfo:特定对象
  • orderArgs:下单参数
  • errMsg:错误信息

返回:

示例:

qmt://docs/python
Python
1#coding:gbk
2def show_data(data):
3 tdata = {}
4 for ar in dir(data):
5 if ar[:2] != 'm_':continue
6 try:
7 tdata[ar] = data.__getattribute__(ar)
8 except:
9 tdata[ar] = '<CanNotConvert>'
10 return tdata
11 
12def init(ContextInfo):
13 # 设置对应的资金账号
14 # 示例需要在策略交易界面运行
15 ContextInfo.set_account(account)
16
17def after_init(ContextInfo):
18 # 在策略交易界面运行时,account的值会被赋值为策略配置中的账号,编辑器界面运行时,需要手动赋值
19 # 编译器界面里执行的下单函数不会产生实际委托
20 passorder(23, 1101, account, "000001.SZ", 11, 0, 100, "示例", 2, "投资备注",ContextInfo)
21 pass
22 
23def orderError_callback(ContextInfo,orderArgs,errMsg):
24 print(show_data(orderArgs))
25 print(errMsg)
26 

其他主推函数

查询信用账户明细回调 - credit_account_callback

用法: credit_account_callback(ContextInfo,seq,result)

释义: 查询信用账户明细回调

参数:

  • ContextInfo:策略模型全局对象
  • seq:query_credit_account时输入查询seq
  • result: 信用账户明细

查询两融最大可下单量的回调 - credit_opvolume_callback

用法: credit_opvolume_callback(ContextInfo,accid,seq,ret,result)

释义: 查询两融最大可下单量的回调。

参数:

  • ContextInfo:策略模型全局对象
  • accid:查询的账号
  • seq:query_credit_opvolume时输入查询seq
  • ret:查询结果状态。正常返回:1,正在查询中-1,输入账号非法:-2,输入查询参数非法:-3,超时等服务器返回报错:-4
  • result:查询到的结果

示例query_credit_opvolume

智能助手

咨询式 AI · 带入当前文档

智能助手加载中...