[Add] support UserProductInfo in CtpGateway
This commit is contained in:
parent
01e7a54f32
commit
8fcccd8b1c
@ -131,7 +131,8 @@ class CtpGateway(BaseGateway):
|
|||||||
"交易服务器": "",
|
"交易服务器": "",
|
||||||
"行情服务器": "",
|
"行情服务器": "",
|
||||||
"产品名称": "",
|
"产品名称": "",
|
||||||
"授权编码": ""
|
"授权编码": "",
|
||||||
|
"产品信息": ""
|
||||||
}
|
}
|
||||||
|
|
||||||
exchanges = list(EXCHANGE_CTP2VT.values())
|
exchanges = list(EXCHANGE_CTP2VT.values())
|
||||||
@ -152,13 +153,14 @@ class CtpGateway(BaseGateway):
|
|||||||
md_address = setting["行情服务器"]
|
md_address = setting["行情服务器"]
|
||||||
appid = setting["产品名称"]
|
appid = setting["产品名称"]
|
||||||
auth_code = setting["授权编码"]
|
auth_code = setting["授权编码"]
|
||||||
|
product_info = setting["产品信息"]
|
||||||
|
|
||||||
if not td_address.startswith("tcp://"):
|
if not td_address.startswith("tcp://"):
|
||||||
td_address = "tcp://" + td_address
|
td_address = "tcp://" + td_address
|
||||||
if not md_address.startswith("tcp://"):
|
if not md_address.startswith("tcp://"):
|
||||||
md_address = "tcp://" + md_address
|
md_address = "tcp://" + md_address
|
||||||
|
|
||||||
self.td_api.connect(td_address, userid, password, brokerid, auth_code, appid)
|
self.td_api.connect(td_address, userid, password, brokerid, auth_code, appid, product_info)
|
||||||
self.md_api.connect(md_address, userid, password, brokerid)
|
self.md_api.connect(md_address, userid, password, brokerid)
|
||||||
|
|
||||||
self.init_query()
|
self.init_query()
|
||||||
@ -378,6 +380,7 @@ class CtpTdApi(TdApi):
|
|||||||
self.brokerid = 0
|
self.brokerid = 0
|
||||||
self.auth_code = ""
|
self.auth_code = ""
|
||||||
self.appid = ""
|
self.appid = ""
|
||||||
|
self.product_info = ""
|
||||||
|
|
||||||
self.frontid = 0
|
self.frontid = 0
|
||||||
self.sessionid = 0
|
self.sessionid = 0
|
||||||
@ -635,7 +638,16 @@ class CtpTdApi(TdApi):
|
|||||||
)
|
)
|
||||||
self.gateway.on_trade(trade)
|
self.gateway.on_trade(trade)
|
||||||
|
|
||||||
def connect(self, address: str, userid: str, password: str, brokerid: int, auth_code: str, appid: str):
|
def connect(
|
||||||
|
self,
|
||||||
|
address: str,
|
||||||
|
userid: str,
|
||||||
|
password: str,
|
||||||
|
brokerid: int,
|
||||||
|
auth_code: str,
|
||||||
|
appid: str,
|
||||||
|
product_info
|
||||||
|
):
|
||||||
"""
|
"""
|
||||||
Start connection to server.
|
Start connection to server.
|
||||||
"""
|
"""
|
||||||
@ -644,6 +656,7 @@ class CtpTdApi(TdApi):
|
|||||||
self.brokerid = brokerid
|
self.brokerid = brokerid
|
||||||
self.auth_code = auth_code
|
self.auth_code = auth_code
|
||||||
self.appid = appid
|
self.appid = appid
|
||||||
|
self.product_info = product_info
|
||||||
|
|
||||||
if not self.connect_status:
|
if not self.connect_status:
|
||||||
path = get_folder_path(self.gateway_name.lower())
|
path = get_folder_path(self.gateway_name.lower())
|
||||||
@ -668,6 +681,9 @@ class CtpTdApi(TdApi):
|
|||||||
"AppID": self.appid
|
"AppID": self.appid
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if self.product_info:
|
||||||
|
req["UserProductInfo"] = self.product_info
|
||||||
|
|
||||||
self.reqid += 1
|
self.reqid += 1
|
||||||
self.reqAuthenticate(req, self.reqid)
|
self.reqAuthenticate(req, self.reqid)
|
||||||
|
|
||||||
@ -685,6 +701,9 @@ class CtpTdApi(TdApi):
|
|||||||
"AppID": self.appid
|
"AppID": self.appid
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if self.product_info:
|
||||||
|
req["UserProductInfo"] = self.product_info
|
||||||
|
|
||||||
self.reqid += 1
|
self.reqid += 1
|
||||||
self.reqUserLogin(req, self.reqid)
|
self.reqUserLogin(req, self.reqid)
|
||||||
|
|
||||||
|
@ -131,7 +131,8 @@ class CtptestGateway(BaseGateway):
|
|||||||
"交易服务器": "",
|
"交易服务器": "",
|
||||||
"行情服务器": "",
|
"行情服务器": "",
|
||||||
"产品名称": "",
|
"产品名称": "",
|
||||||
"授权编码": ""
|
"授权编码": "",
|
||||||
|
"产品信息": ""
|
||||||
}
|
}
|
||||||
|
|
||||||
exchanges = list(EXCHANGE_CTP2VT.values())
|
exchanges = list(EXCHANGE_CTP2VT.values())
|
||||||
@ -152,13 +153,14 @@ class CtptestGateway(BaseGateway):
|
|||||||
md_address = setting["行情服务器"]
|
md_address = setting["行情服务器"]
|
||||||
appid = setting["产品名称"]
|
appid = setting["产品名称"]
|
||||||
auth_code = setting["授权编码"]
|
auth_code = setting["授权编码"]
|
||||||
|
product_info = setting["产品信息"]
|
||||||
|
|
||||||
if not td_address.startswith("tcp://"):
|
if not td_address.startswith("tcp://"):
|
||||||
td_address = "tcp://" + td_address
|
td_address = "tcp://" + td_address
|
||||||
if not md_address.startswith("tcp://"):
|
if not md_address.startswith("tcp://"):
|
||||||
md_address = "tcp://" + md_address
|
md_address = "tcp://" + md_address
|
||||||
|
|
||||||
self.td_api.connect(td_address, userid, password, brokerid, auth_code, appid)
|
self.td_api.connect(td_address, userid, password, brokerid, auth_code, appid, product_info)
|
||||||
self.md_api.connect(md_address, userid, password, brokerid)
|
self.md_api.connect(md_address, userid, password, brokerid)
|
||||||
|
|
||||||
self.init_query()
|
self.init_query()
|
||||||
@ -378,6 +380,7 @@ class CtpTdApi(TdApi):
|
|||||||
self.brokerid = 0
|
self.brokerid = 0
|
||||||
self.auth_code = ""
|
self.auth_code = ""
|
||||||
self.appid = ""
|
self.appid = ""
|
||||||
|
self.product_info = ""
|
||||||
|
|
||||||
self.frontid = 0
|
self.frontid = 0
|
||||||
self.sessionid = 0
|
self.sessionid = 0
|
||||||
@ -406,7 +409,7 @@ class CtpTdApi(TdApi):
|
|||||||
def onRspAuthenticate(self, data: dict, error: dict, reqid: int, last: bool):
|
def onRspAuthenticate(self, data: dict, error: dict, reqid: int, last: bool):
|
||||||
""""""
|
""""""
|
||||||
if not error['ErrorID']:
|
if not error['ErrorID']:
|
||||||
self.authStatus = True
|
self.auth_staus = True
|
||||||
self.gateway.write_log("交易服务器授权验证成功")
|
self.gateway.write_log("交易服务器授权验证成功")
|
||||||
self.login()
|
self.login()
|
||||||
else:
|
else:
|
||||||
@ -635,7 +638,16 @@ class CtpTdApi(TdApi):
|
|||||||
)
|
)
|
||||||
self.gateway.on_trade(trade)
|
self.gateway.on_trade(trade)
|
||||||
|
|
||||||
def connect(self, address: str, userid: str, password: str, brokerid: int, auth_code: str, appid: str):
|
def connect(
|
||||||
|
self,
|
||||||
|
address: str,
|
||||||
|
userid: str,
|
||||||
|
password: str,
|
||||||
|
brokerid: int,
|
||||||
|
auth_code: str,
|
||||||
|
appid: str,
|
||||||
|
product_info
|
||||||
|
):
|
||||||
"""
|
"""
|
||||||
Start connection to server.
|
Start connection to server.
|
||||||
"""
|
"""
|
||||||
@ -644,6 +656,7 @@ class CtpTdApi(TdApi):
|
|||||||
self.brokerid = brokerid
|
self.brokerid = brokerid
|
||||||
self.auth_code = auth_code
|
self.auth_code = auth_code
|
||||||
self.appid = appid
|
self.appid = appid
|
||||||
|
self.product_info = product_info
|
||||||
|
|
||||||
if not self.connect_status:
|
if not self.connect_status:
|
||||||
path = get_folder_path(self.gateway_name.lower())
|
path = get_folder_path(self.gateway_name.lower())
|
||||||
@ -668,6 +681,9 @@ class CtpTdApi(TdApi):
|
|||||||
"AppID": self.appid
|
"AppID": self.appid
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if self.product_info:
|
||||||
|
req["UserProductInfo"] = self.product_info
|
||||||
|
|
||||||
self.reqid += 1
|
self.reqid += 1
|
||||||
self.reqAuthenticate(req, self.reqid)
|
self.reqAuthenticate(req, self.reqid)
|
||||||
|
|
||||||
@ -685,6 +701,9 @@ class CtpTdApi(TdApi):
|
|||||||
"AppID": self.appid
|
"AppID": self.appid
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if self.product_info:
|
||||||
|
req["UserProductInfo"] = self.product_info
|
||||||
|
|
||||||
self.reqid += 1
|
self.reqid += 1
|
||||||
self.reqUserLogin(req, self.reqid)
|
self.reqUserLogin(req, self.reqid)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user