追踪vnpy中TWS订单指令的执行过程

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

需要写入日志的信息:

vnpy/trader/ib_trade_xauusd.py中的orderRequest包含了订单的所有请求信息,需要把该信息存入日志,另外需要加上时间,账户信息,交易日志按月存储,send_order之后返回的TWS orderid也需要写入日志文件

gateway.send_order把orderRequest订单信息发送之后

ib_gateway中的send_order方法中调用client中的place_order方法,该方法被调用后,

gateway.on_order方法被调用后,启动对该订单的监听

对所有交易的监听都在vnpy/trade/gateway.py脚本中

在gateway中把订单信息上传到云服务器,

send_order_info_to_server

在on_order函数中被调用

对订单执行过程的监听函数在place_order函数被动用后启动,监听方法都在vnpy/trade/gateway.py中

交易执行成功的时候,

on_position持仓变动监听会被执行,其中包含当前持仓信息,在这里可以把实际持仓信息和理论持仓信息进行对比,出现异常时写入日志并通过短信通知人员进行处理

错误信息也会通过on_log函数捕获到,捕获到的日志信息可以写入本地日志文件

当一个订单被提交后,订单状态有如下几种:

status=<Status.SUBMITTING: '提交中'>,正在提交

status=<Status.NOTTRADED: '未成交'>,已提交,未成交

status=<Status.ALLTRADED: '全部成交'>

在ibapi/client.py中的

reqOpenOrders、reqAllOpenOrders方法被调用后,ibapi/wrapper中的openOrders会做出相应,返回当前打开客户端打开状态的订单
reqPositions被调用,wrapper中的position响应持仓状况

订单状态有以下几种:

PendingSubmit:已发出订单,但是系统还未接收到
PendingCancel:已发出取消订单请求,但是系统还未接收到
PreSubmitted:订单已被接受,但是还未轮到被选中执行
Submitted:订单被选中,并且正在被执行
Cancelled:订单已执行完成
Inactive:无效订单

trade/gateway.py中定义的是

BaseGateway基类

基类中定义了

query_account,
query_position,
query_history,

等抽象方法,定义了,但是没有具体实现

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值