[Mod] improve code style
This commit is contained in:
parent
981c666f4d
commit
2e2b2f7510
@ -27,12 +27,9 @@ from vnpy.api.tap.vntap.ITapTrade import (
|
|||||||
TAPI_ORDER_STATE_QUEUED, TAPI_ORDER_STATE_PARTFINISHED,
|
TAPI_ORDER_STATE_QUEUED, TAPI_ORDER_STATE_PARTFINISHED,
|
||||||
TAPI_ORDER_STATE_FINISHED, TAPI_ORDER_STATE_CANCELED,
|
TAPI_ORDER_STATE_FINISHED, TAPI_ORDER_STATE_CANCELED,
|
||||||
TAPI_ORDER_STATE_SUBMIT, TAPI_ORDER_TYPE_MARKET,
|
TAPI_ORDER_STATE_SUBMIT, TAPI_ORDER_TYPE_MARKET,
|
||||||
TAPI_ORDER_TYPE_LIMIT,
|
TAPI_ORDER_TYPE_LIMIT, TAPI_ORDER_STATE_FAIL,
|
||||||
TapAPIOrderInfoNotice, TAPI_ORDER_STATE_ACCEPT, TAPI_ORDER_STATE_TRIGGERING,
|
TapAPIOrderInfoNotice
|
||||||
TAPI_ORDER_STATE_EXCTRIGGERING, TAPI_ORDER_STATE_CANCELING, TAPI_ORDER_STATE_MODIFYING,
|
)
|
||||||
TAPI_ORDER_STATE_LEFTDELETED, TAPI_ORDER_STATE_FAIL, TAPI_ORDER_STATE_DELETED,
|
|
||||||
TAPI_ORDER_STATE_SUPPENDED, TAPI_ORDER_STATE_DELETEDFOREXPIRE, TAPI_ORDER_STATE_EFFECT,
|
|
||||||
TAPI_ORDER_STATE_APPLY)
|
|
||||||
from vnpy.api.tap.error_codes import error_map
|
from vnpy.api.tap.error_codes import error_map
|
||||||
|
|
||||||
from vnpy.event import EventEngine
|
from vnpy.event import EventEngine
|
||||||
@ -85,41 +82,12 @@ DIRECTION_TAP2VT = {
|
|||||||
DIRECTION_VT2TAP = {v: k for k, v in DIRECTION_TAP2VT.items()}
|
DIRECTION_VT2TAP = {v: k for k, v in DIRECTION_TAP2VT.items()}
|
||||||
|
|
||||||
STATUS_TAP2VT = {
|
STATUS_TAP2VT = {
|
||||||
# 终端提交
|
|
||||||
TAPI_ORDER_STATE_SUBMIT: Status.SUBMITTING,
|
TAPI_ORDER_STATE_SUBMIT: Status.SUBMITTING,
|
||||||
# 已受理
|
|
||||||
TAPI_ORDER_STATE_ACCEPT: Status.NOTTRADED,
|
|
||||||
# 策略待触发
|
|
||||||
TAPI_ORDER_STATE_TRIGGERING: Status.NOTTRADED,
|
|
||||||
# 交易所待触发
|
|
||||||
TAPI_ORDER_STATE_EXCTRIGGERING: Status.NOTTRADED,
|
|
||||||
# 已排队
|
|
||||||
TAPI_ORDER_STATE_QUEUED: Status.NOTTRADED,
|
TAPI_ORDER_STATE_QUEUED: Status.NOTTRADED,
|
||||||
# 部分成交
|
|
||||||
TAPI_ORDER_STATE_PARTFINISHED: Status.PARTTRADED,
|
TAPI_ORDER_STATE_PARTFINISHED: Status.PARTTRADED,
|
||||||
# 完全成交
|
|
||||||
TAPI_ORDER_STATE_FINISHED: Status.ALLTRADED,
|
TAPI_ORDER_STATE_FINISHED: Status.ALLTRADED,
|
||||||
# 待撤消(排队临时状态)
|
|
||||||
TAPI_ORDER_STATE_CANCELING: 0, # todo: vnpy缺少本地canceling的状态,可能导致重复撤单
|
|
||||||
# 待修改(排队临时状态)
|
|
||||||
TAPI_ORDER_STATE_MODIFYING: 0,
|
|
||||||
# 完全撤单
|
|
||||||
TAPI_ORDER_STATE_CANCELED: Status.CANCELLED,
|
TAPI_ORDER_STATE_CANCELED: Status.CANCELLED,
|
||||||
# 已撤余单
|
TAPI_ORDER_STATE_FAIL: Status.REJECTED,
|
||||||
TAPI_ORDER_STATE_LEFTDELETED: 0,
|
|
||||||
# 指令失败
|
|
||||||
TAPI_ORDER_STATE_FAIL: Status.CANCELLED,
|
|
||||||
# 策略删除
|
|
||||||
TAPI_ORDER_STATE_DELETED: 0,
|
|
||||||
# 已挂起
|
|
||||||
TAPI_ORDER_STATE_SUPPENDED: 0,
|
|
||||||
# 到期删除
|
|
||||||
TAPI_ORDER_STATE_DELETEDFOREXPIRE: 0,
|
|
||||||
# 已生效——询价成功
|
|
||||||
TAPI_ORDER_STATE_EFFECT: 0,
|
|
||||||
# 已申请——行权、弃权、套利等申请成功
|
|
||||||
TAPI_ORDER_STATE_APPLY: 0,
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ORDERTYPE_TAP2VT = {
|
ORDERTYPE_TAP2VT = {
|
||||||
@ -159,7 +127,6 @@ class TapGateway(BaseGateway):
|
|||||||
self.quote_api = QuoteApi(self)
|
self.quote_api = QuoteApi(self)
|
||||||
self.trade_api = TradeApi(self)
|
self.trade_api = TradeApi(self)
|
||||||
|
|
||||||
|
|
||||||
set_async_callback_exception_handler(
|
set_async_callback_exception_handler(
|
||||||
self._async_callback_exception_handler)
|
self._async_callback_exception_handler)
|
||||||
|
|
||||||
@ -377,7 +344,6 @@ class TradeApi(ITapTradeAPINotify):
|
|||||||
self.sys_server_map = {}
|
self.sys_server_map = {}
|
||||||
self.cancel_reqs = {}
|
self.cancel_reqs = {}
|
||||||
|
|
||||||
|
|
||||||
def OnConnect(self):
|
def OnConnect(self):
|
||||||
""""""
|
""""""
|
||||||
self.gateway.write_log("交易服务器连接成功")
|
self.gateway.write_log("交易服务器连接成功")
|
||||||
@ -603,12 +569,12 @@ class TradeApi(ITapTradeAPINotify):
|
|||||||
symbol=info.CommodityNo + info.ContractNo,
|
symbol=info.CommodityNo + info.ContractNo,
|
||||||
exchange=EXCHANGE_TAP2VT.get(info.ExchangeNo, None),
|
exchange=EXCHANGE_TAP2VT.get(info.ExchangeNo, None),
|
||||||
orderid=info.ClientOrderNo,
|
orderid=info.ClientOrderNo,
|
||||||
type=ORDERTYPE_TAP2VT[info.OrderType],
|
type=ORDERTYPE_TAP2VT.get(info.OrderType, info.OrderType),
|
||||||
direction=DIRECTION_TAP2VT[info.OrderSide],
|
direction=DIRECTION_TAP2VT[info.OrderSide],
|
||||||
price=info.OrderPrice,
|
price=info.OrderPrice,
|
||||||
volume=info.OrderQty,
|
volume=info.OrderQty,
|
||||||
traded=info.OrderMatchQty,
|
traded=info.OrderMatchQty,
|
||||||
status=STATUS_TAP2VT[info.OrderState],
|
status=STATUS_TAP2VT.get(info.OrderState, info.OrderState),
|
||||||
time=info.OrderInsertTime,
|
time=info.OrderInsertTime,
|
||||||
gateway_name=self.gateway_name
|
gateway_name=self.gateway_name
|
||||||
)
|
)
|
||||||
@ -666,14 +632,18 @@ class TradeApi(ITapTradeAPINotify):
|
|||||||
self.write_log(f"找不到匹配的合约:{req.symbol}和{req.exchange.value}")
|
self.write_log(f"找不到匹配的合约:{req.symbol}和{req.exchange.value}")
|
||||||
return ""
|
return ""
|
||||||
|
|
||||||
|
if req.type not in ORDERTYPE_VT2TAP:
|
||||||
|
self.write_log(f"不支持的委托类型: {req.type.value}")
|
||||||
|
return ""
|
||||||
|
|
||||||
order_req = TapAPINewOrder()
|
order_req = TapAPINewOrder()
|
||||||
order_req.ExchangeNo = contract_info.exchange_no
|
order_req.ExchangeNo = contract_info.exchange_no
|
||||||
order_req.CommodityNo = contract_info.commodity_no
|
order_req.CommodityNo = contract_info.commodity_no
|
||||||
order_req.CommodityType = contract_info.commodity_type
|
order_req.CommodityType = contract_info.commodity_type
|
||||||
order_req.AccountNo = self.account_no
|
order_req.AccountNo = self.account_no
|
||||||
order_req.ContractNo = contract_info.contract_no
|
order_req.ContractNo = contract_info.contract_no
|
||||||
order_req.OrderType = ORDERTYPE_VT2TAP.get(req.type, "")
|
order_req.OrderType = ORDERTYPE_VT2TAP.get[req.type]
|
||||||
order_req.OrderSide = DIRECTION_VT2TAP.get(req.direction, "")
|
order_req.OrderSide = DIRECTION_VT2TAP.get[req.direction]
|
||||||
order_req.OrderPrice = req.price
|
order_req.OrderPrice = req.price
|
||||||
order_req.OrderQty = int(req.volume) # verify me: force float as int
|
order_req.OrderQty = int(req.volume) # verify me: force float as int
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user