Skip to content

Commit

Permalink
[Mod] 调整委托成交后的事件推送顺序
Browse files Browse the repository at this point in the history
  • Loading branch information
vnpy committed Dec 24, 2021
1 parent e035469 commit 4c8edd6
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 8 deletions.
3 changes: 2 additions & 1 deletion script/run.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from vnpy.trader.ui import MainWindow, create_qapp

from vnpy_hts import HtsGateway

from vnpy_optionmaster import OptionMasterApp

def main():
"""主入口函数"""
Expand All @@ -12,6 +12,7 @@ def main():
event_engine = EventEngine()
main_engine = MainEngine(event_engine)
main_engine.add_gateway(HtsGateway)
main_engine.add_app(OptionMasterApp)

main_window = MainWindow(main_engine, event_engine)
main_window.showMaximized()
Expand Down
17 changes: 10 additions & 7 deletions vnpy_hts/gateway/hts_gateway.py
Original file line number Diff line number Diff line change
Expand Up @@ -260,9 +260,11 @@ def __init__(self, gateway: HtsGateway) -> None:

def onFrontConnected(self) -> None:
"""服务器连接成功回报"""
self.login_server()
self.gateway.write_log(f"行情服务器连接成功")
self.connect_status = True

self.login_server()

def onFrontDisconnected(self, reason: int) -> None:
"""服务器连接断开回报"""
self.connect_status = False
Expand Down Expand Up @@ -420,9 +422,11 @@ def __init__(self, gateway: HtsGateway) -> None:

def onFrontConnected(self) -> None:
"""服务器连接成功回报"""
self.login_server()
self.gateway.write_log(f"交易服务器连接成功")
self.connect_status = True

self.login_server()

def onFrontDisconnected(self, reason: int) -> None:
"""服务器连接断开回报"""
self.connect_status = False
Expand Down Expand Up @@ -502,7 +506,6 @@ def onSOPTradeRtn(self, data: dict) -> None:
datetime=dt,
gateway_name=self.gateway_name
)
self.gateway.on_trade(trade)

# 获取缓存的委托信息
order: OrderData = self.orders.get(orderid, None)
Expand All @@ -521,6 +524,7 @@ def onSOPTradeRtn(self, data: dict) -> None:
order.datetime = trade.datetime

self.gateway.on_order(copy(order))
self.gateway.on_trade(trade)

# 更新持仓数据
if trade.offset == Offset.CLOSE:
Expand Down Expand Up @@ -575,7 +579,7 @@ def onRspSOPEntrustOrder(self, data: dict, error: dict) -> None:
dt: datetime = CHINA_TZ.localize(dt)
order.datetime = dt
order.status = Status.REJECTED
self.gateway.on_order(order)
self.gateway.on_order(copy(order))

self.gateway.write_error("期权委托错误", error)

Expand Down Expand Up @@ -613,8 +617,7 @@ def onRspSOPQryContactInfo(self, data: dict, error: dict, last: bool) -> None:
self.gateway.on_contract(contract)

if last:
msg: str = "期权交易合约信息获取完成"
self.gateway.write_log(msg)
self.gateway.write_log("期权交易合约信息获取成功")

def onRspSOPQryCapitalAccountInfo(self, data: dict, error: dict) -> None:
"""资金查询回报"""
Expand Down Expand Up @@ -710,7 +713,7 @@ def send_order(self, req: OrderRequest) -> str:

order: OrderData = req.create_order_data(orderid, self.gateway_name)
self.orders[orderid] = order
self.gateway.on_order(order)
self.gateway.on_order(copy(order))

return order.vt_orderid

Expand Down

0 comments on commit 4c8edd6

Please sign in to comment.