QMT Python API
成交回报实时主推函数
实时主推函数
资金账号状态变化主推 - account_callback
提示
- 仅在实盘运行模式下生效。
- 需要先在init里调用ContextInfo.set_account后生效。
用法: account_callback(ContextInfo, accountInfo)
释义: 当资金账号状态有变化时,这个函数被客户端调用
参数:
返回: 无
示例:
1
#coding:gbk2
def show_data(data):3
tdata = {}4
for ar in dir(data):5
if ar[:2] != 'm_':continue6
try:7
tdata[ar] = data.__getattribute__(ar)8
except:9
tdata[ar] = '<CanNotConvert>'10
return tdata11
12
def init(ContextInfo):13
# 设置对应的资金账号14
# 示例需要在策略交易界面运行15
ContextInfo.set_account(account)16
17
def after_init(ContextInfo):18
# 在策略交易界面运行时,account的值会被赋值为策略配置中的账号,编辑器界面运行时,需要手动赋值19
# 编译器界面里执行的下单函数不会产生实际委托 20
passorder(23, 1101, account, "000001.SZ", 5, 0, 100, "示例", 2, "投资备注",ContextInfo)21
pass22
23
def account_callback(ContextInfo, accountInfo):24
print(show_data(accountInfo)) 25
账号任务状态变化主推 - task_callback
提示
- 仅在实盘运行模式下生效。
- 需要先在init里调用ContextInfo.set_account后生效。
用法: task_callback(ContextInfo, taskInfo)
释义: 当账号任务状态有变化时,这个函数被客户端调用
参数:
- ContextInfo:特定对象
- taskInfo 任务对象
返回: 无
示例:
1
#coding:gbk2
def show_data(data):3
tdata = {}4
for ar in dir(data):5
if ar[:2] != 'm_':continue6
try:7
tdata[ar] = data.__getattribute__(ar)8
except:9
tdata[ar] = '<CanNotConvert>'10
return tdata11
12
def init(ContextInfo):13
# 设置对应的资金账号14
# 示例需要在策略交易界面运行15
ContextInfo.set_account(account)16
17
def after_init(ContextInfo):18
# 在策略交易界面运行时,account的值会被赋值为策略配置中的账号,编辑器界面运行时,需要手动赋值19
# 编译器界面里执行的下单函数不会产生实际委托 20
passorder(23, 1101, account, "000001.SZ", 5, 0, 100, "示例", 2, "投资备注",ContextInfo)21
pass22
23
def task_callback(ContextInfo, taskInfo):24
print(show_data(taskInfo))账号委托状态变化主推 - order_callback
提示
- 仅在实盘运行模式下生效。
- 需要先在init里调用ContextInfo.set_account后生效。
用法: order_callback(ContextInfo, orderInfo)
释义: 当账号委托状态有变化时,这个函数被客户端调用
参数:
- ContextInfo:特定对象
- orderInfo:委托
返回: 无
示例:
1
#coding:gbk2
def show_data(data):3
tdata = {}4
for ar in dir(data):5
if ar[:2] != 'm_':continue6
try:7
tdata[ar] = data.__getattribute__(ar)8
except:9
tdata[ar] = '<CanNotConvert>'10
return tdata11
12
def init(ContextInfo):13
# 设置对应的资金账号14
# 示例需要在策略交易界面运行15
ContextInfo.set_account(account)16
17
def after_init(ContextInfo):18
# 在策略交易界面运行时,account的值会被赋值为策略配置中的账号,编辑器界面运行时,需要手动赋值19
# 编译器界面里执行的下单函数不会产生实际委托 20
passorder(23, 1101, account, "000001.SZ", 5, 0, 100, "示例", 2, "投资备注",ContextInfo)21
pass22
23
def order_callback(ContextInfo, orderInfo):24
print(show_data(orderInfo))账号成交状态变化主推 - deal_callback
提示
- 仅在实盘运行模式下生效。
- 需要先在init里调用ContextInfo.set_account后生效。
用法: deal_callback(ContextInfo, dealInfo)
释义: 当账号成交状态有变化时,这个函数被客户端调用
参数:
- ContextInfo:特定对象
- dealInfo:成交
返回: 无
示例:
1
#coding:gbk2
def show_data(data):3
tdata = {}4
for ar in dir(data):5
if ar[:2] != 'm_':continue6
try:7
tdata[ar] = data.__getattribute__(ar)8
except:9
tdata[ar] = '<CanNotConvert>'10
return tdata11
12
def init(ContextInfo):13
# 设置对应的资金账号14
# 示例需要在策略交易界面运行15
ContextInfo.set_account(account)16
17
def after_init(ContextInfo):18
# 在策略交易界面运行时,account的值会被赋值为策略配置中的账号,编辑器界面运行时,需要手动赋值19
# 编译器界面里执行的下单函数不会产生实际委托 20
passorder(23, 1101, account, "000001.SZ", 5, 0, 100, "示例", 2, "投资备注",ContextInfo)21
pass22
23
def deal_callback(ContextInfo, dealInfo):24
print(show_data(dealInfo))账号持仓状态变化主推 - position_callback
提示
- 仅在实盘运行模式下生效。
- 需要先在init里调用ContextInfo.set_account后生效。
用法: position_callback(ContextInfo, positonInfo)
释义: 当账号持仓状态有变化时,这个函数被客户端调用
参数:
- ContextInfo:特定对象
- positonInfo:持仓
返回: 无
示例:
1
#coding:gbk2
def show_data(data):3
tdata = {}4
for ar in dir(data):5
if ar[:2] != 'm_':continue6
try:7
tdata[ar] = data.__getattribute__(ar)8
except:9
tdata[ar] = '<CanNotConvert>'10
return tdata11
12
def init(ContextInfo):13
# 设置对应的资金账号14
# 示例需要在策略交易界面运行15
ContextInfo.set_account(account)16
17
def after_init(ContextInfo):18
# 在策略交易界面运行时,account的值会被赋值为策略配置中的账号,编辑器界面运行时,需要手动赋值19
# 编译器界面里执行的下单函数不会产生实际委托 20
passorder(23, 1101, account, "000001.SZ", 5, 0, 100, "示例", 2, "投资备注",ContextInfo)21
pass22
23
def position_callback(ContextInfo, positionInfo):24
print(show_data(positionInfo))25
账号异常下单主推 - orderError_callback
提示
- 仅在实盘运行模式下生效。
- 需要先在init里调用ContextInfo.set_account后生效。
用法: orderError_callback(ContextInfo,orderArgs,errMsg)
释义: 当账号下单异常时,这个函数被客户端调用
参数:
- ContextInfo:特定对象
- orderArgs:下单参数
- errMsg:错误信息
返回: 无
示例:
1
#coding:gbk2
def show_data(data):3
tdata = {}4
for ar in dir(data):5
if ar[:2] != 'm_':continue6
try:7
tdata[ar] = data.__getattribute__(ar)8
except:9
tdata[ar] = '<CanNotConvert>'10
return tdata11
12
def init(ContextInfo):13
# 设置对应的资金账号14
# 示例需要在策略交易界面运行15
ContextInfo.set_account(account)16
17
def after_init(ContextInfo):18
# 在策略交易界面运行时,account的值会被赋值为策略配置中的账号,编辑器界面运行时,需要手动赋值19
# 编译器界面里执行的下单函数不会产生实际委托 20
passorder(23, 1101, account, "000001.SZ", 11, 0, 100, "示例", 2, "投资备注",ContextInfo)21
pass22
23
def 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时输入查询seqret:查询结果状态。正常返回:1,正在查询中-1,输入账号非法:-2,输入查询参数非法:-3,超时等服务器返回报错:-4result:查询到的结果