首页
数据字典 (opens new window)
  • 内置Python
  • 原生Python
  • VBA
投研服务平台 (opens new window)
迅投官网 (opens new window)

    暂无数据

    策略服务 (opens new window) 迅投知识库 迅投知识库
    首页
    数据字典 (opens new window)
    • 内置Python
    • 原生Python
    • VBA
    投研服务平台 (opens new window)
    迅投官网 (opens new window)
      • 内置Python

        • 快速上手
        • 开始使用
        • 新建一个Python策略
        • Python API 手册

          • 版本说明
          • 手册说明
          • 使用说明
          • 获取数据
          • 交易函数
          • 成交回报实时主推函数
            • 引用函数
            • 绘图函数
          • 财务数据接口
          • 附录

          • 常见问题Q&A
          • 行情示例
          • 交易示例
          • 回测示例
          • 策略迁移

        ×
        当前文档查询 “ ” 关键字 0 个
        0/0
        • 内置Python
        • 内置Python
        • Python API 手册
        RZRK
        2022-08-08
        目录

        成交回报实时主推函数

        ×

        # 3.2.5. 实时主推函数

        # (1)资金账号状态变化主推 account_callback()

        提示

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

        用法: account_callback(ContextInfo, accountInfo)

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

        参数:

        • ContextInfo:特定对象
        • accountInfo:账号对象或信用账号对象

        返回: 无

        示例:

        def init(ContextInfo):
            # 设置对应的资金账号
            ContextInfo.set_account('6000000058')
        
        def handlebar(ContextInfo):
            pass
        
        def account_callback(ContextInfo, accountInfo):
            print('accountInfo')
            print(accountInfo.m_strStatus) # m_strStatus 为资金账号的属性之一,表示资金账号的状态
        
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10

        # (2)账号任务状态变化主推 task_callback()

        提示

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

        用法: task_callback(ContextInfo, taskInfo)

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

        参数:

        • ContextInfo:特定对象
        • taskInfo 任务对象

        返回: 无

        示例:

        def init(ContextInfo):
            # 设置对应的资金账号
            ContextInfo.set_account('6000000058')
            
        def handlebar(ContextInfo):
            pass
        
        def task_callback(ContextInfo, taskInfo):
            print('taskInfo')
        
        1
        2
        3
        4
        5
        6
        7
        8
        9

        # (3)账号委托状态变化主推 order_callback()

        提示

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

        用法: order_callback(ContextInfo, orderInfo)

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

        参数:

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

        返回: 无

        示例:

        def init(ContextInfo):
            # 设置对应的资金账号
            ContextInfo.set_account('6000000058')
            
        def handlebar(ContextInfo):
            pass
        
        def order_callback(ContextInfo, orderInfo):
            print('orderInfo')
        
        1
        2
        3
        4
        5
        6
        7
        8
        9

        # (4)账号成交状态变化主推 deal_callback()

        提示

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

        用法: deal_callback(ContextInfo, dealInfo)

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

        参数:

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

        返回: 无

        示例:

        def init(ContextInfo):
            # 设置对应的资金账号
            ContextInfo.set_account('6000000058')
            
        def handlebar(ContextInfo):
            pass
        
        def deal_callback(ContextInfo, dealInfo):
            print('dealInfo')
        
        1
        2
        3
        4
        5
        6
        7
        8
        9

        # (5)账号持仓状态变化主推 position_callback()

        提示

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

        用法: position_callback(ContextInfo, positonInfo)

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

        参数:

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

        返回: 无

        示例:

        def init(ContextInfo):
            # 设置对应的资金账号
            ContextInfo.set_account('6000000058')
            
        def handlebar(ContextInfo):
            pass
        
        def position_callback(ContextInfo, positonInfo):
            print('positonInfo')
        
        1
        2
        3
        4
        5
        6
        7
        8
        9

        # (6)账号异常下单主推 orderError_callback()

        提示

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

        用法: orderError_callback(ContextInfo,orderArgs,errMsg)

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

        参数:

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

        返回: 无

        示例:

        def init(ContextInfo):
            # 设置对应的资金账号
            ContextInfo.set_account('6000000058')
            
        def handlebar(ContextInfo):
            pass
        
        def orderError_callback(ContextInfo,orderArgs,errMsg):
            print('orderArgs')
            print(errMsg)
        
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10

        # (7)查询信用账户明细 query_credit_account()

        用法: query_credit_account(accountId,seq,ContextInfo)

        释义: 查询信用账户明细。本函数只能有一个查询,如果前面的查询正在进行中,后面的查询将会提前返回。本函数从服务器查询数据,建议平均查询时间间隔30s一次,不可频繁调用。

        参数:

        • accountId:string,查询的两融账号

        • seq:int,查询序列号,建议输入唯一值以便对应结果回调

        示例:

        query_credit_account(ContextInfo.accid,int(time.time()),ContextInfo);
        	# 查询accid账号某时刻资金账号详细
        
        1
        2

        # (8)查询信用账户明细回调 credit_account_callback()

        用法: credit_account_callback(ContextInfo,seq,result)

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

        参数:

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

        # (9)查询两融最大可下单量 query_credit_opvolume()

        用法: query_credit_opvolume(accountId,stockCode,opType,prType,price,seq,ContextInfo)

        释义: 查询两融最大可下单量。本函数一次最多查询200只股票的两融最大下单量,且同时只能有一个查询,如果前面的查询正在进行中,后面的查询将会提前返回。本函数从服务器查询数据,建议平均查询时间间隔30s一次,不可频繁调用。

        参数:

        • accountId:查询的两融账号
        • stockCode:需要查询的股票代码,stockCode为List的类型,可以查询多只股票
        • opType:两融下单类型,同passorder的下单类型
        • prType:报单价格类型,同passorder的报价类型
        • seq:查询序列号,int型,建议输入唯一值以便对应结果回调
        • price:报价(非限价单可以填任意值),如果stockCode为List类型,报价也需要为长度相同的List

        示例:

        query_credit_opvolume(ContextInfo.accid,'600000.SH',33,11,10,int(time.time()),ContextInfo);
        #查询accid账号担保品买入600000.SH限价10元的最大可下单量
        query_credit_opvolume(ContextInfo.accid,['600000.SH','000001.SZ'],33,11,[10,20],int(time.time()),ContextInfo);
        #查询accid账号担保品买入600000.SH限价10元,000001.SZ担保品买入限价20元的最大可下单量
        
        1
        2
        3
        4

        # (10)查询两融最大可下单量的回调 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:查询到的结果
        上次更新: 2023/10/12, 10:46:32
        上一章-交易函数
        下一章-引用函数

        ← 交易函数 引用函数→

        Copyright © 2022-2024 北京睿智融科控股股份有限公司 | 迅投官网
        请使用微信扫码联系客服
        请使用微信扫码联系客服
        点击这里给我发消息
        • 跟随系统
        • 浅色模式
        • 深色模式
        • 阅读模式