需要写入日志的信息:
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,
等抽象方法,定义了,但是没有具体实现
1383

被折叠的 条评论
为什么被折叠?



