From c94fb34591a84b5e520bc6ba05f3a723b29674e5 Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期四, 13 七月 2023 16:00:15 +0800
Subject: [PATCH] 华鑫适配

---
 trade/huaxin/trade_server.py     |   41 +++++++++++++++++++++++++++++++++++++----
 trade/huaxin/trade_api_server.py |    9 +++++++++
 2 files changed, 46 insertions(+), 4 deletions(-)

diff --git a/trade/huaxin/trade_api_server.py b/trade/huaxin/trade_api_server.py
index 3f8d1a2..05d5676 100644
--- a/trade/huaxin/trade_api_server.py
+++ b/trade/huaxin/trade_api_server.py
@@ -189,6 +189,15 @@
                             price = prices[0][1] - 0.04
 
                         result = trade_api.order(trade_api.TRADE_DIRECTION_SELL, code, volume, price)
+                        if result["code"] == 0:
+                            if result["data"]["orderStatus"] == huaxin_util.TORA_TSTP_OST_Rejected:
+                                raise Exception(result["data"]["statusMsg"])
+                            else:
+                                return_str = json.dumps({"code": 0, "msg": ""})
+                                trade_data_request_queue.put_nowait({"type": "delegate_list"})
+                        else:
+                            raise Exception(result["msg"])
+
                         print("---鍗栧嚭缁撴灉----")
                         print(result)
                         break
diff --git a/trade/huaxin/trade_server.py b/trade/huaxin/trade_server.py
index 2c3be7c..15f8bd7 100644
--- a/trade/huaxin/trade_server.py
+++ b/trade/huaxin/trade_server.py
@@ -7,11 +7,12 @@
 import socketserver
 import time
 
-
 from code_attribute import gpcode_manager
-from l2 import l2_data_manager_new, l2_log, code_price_manager
+from l2 import l2_data_manager_new, l2_log, code_price_manager, l2_data_util, l2_data_manager
+from l2.cancel_buy_strategy import HourCancelBigNumComputer, LCancelBigNumComputer
 from log_module.log import hx_logger_l2_upload, hx_logger_contact_debug, hx_logger_trade_callback, \
-    hx_logger_l2_orderdetail, hx_logger_l2_transaction, hx_logger_l2_market_data
+    hx_logger_l2_orderdetail, hx_logger_l2_transaction, hx_logger_l2_market_data, logger_l2_trade_buy_queue
+from trade import deal_big_money_manager
 
 from trade.huaxin import huaxin_trade_api as trade_api, trade_api_server
 
@@ -156,6 +157,38 @@
                         code = data["code"]
                         datas = data["data"]
                         hx_logger_l2_transaction.info(f"{code}#{datas}")
+                        buyno_map = l2_data_util.local_today_buyno_map.get(code)
+                        buy_progress_index = None
+                        for d in datas:
+                            buy_no = d[6]
+                            if buy_no in buyno_map:
+                                print(f"{code}鎴愪氦杩涘害锛歿buyno_map[buy_no]}")
+                                buy_progress_index = buyno_map[buy_no]["index"]
+
+                        # 鑾峰彇鎵ц浣嶆椂闂�
+                        buy_single_index, buy_exec_index, compute_index, num, count, max_num_set, volume_rate = l2_data_manager.TradePointManager.get_buy_compute_start_data(
+                            code)
+                        if True:
+                            if buy_progress_index is not None:
+                                buy_time = l2_data_util.local_today_datas.get(code)[buy_progress_index]["val"]["time"]
+                                HourCancelBigNumComputer.set_trade_progress(code, buy_time, buy_exec_index,
+                                                                            buy_progress_index,
+                                                                            l2_data_util.local_today_datas.get(
+                                                                                code),
+                                                                            l2_data_util.local_today_num_operate_map.get(
+                                                                                code))
+                                LCancelBigNumComputer.set_trade_progress(code, buy_progress_index,
+                                                                         l2_data_util.local_today_datas.get(
+                                                                             code))
+
+                                logger_l2_trade_buy_queue.info("鑾峰彇鎴愪氦浣嶇疆鎴愬姛锛� code-{} index-{}", code, buy_progress_index)
+                                # 璁$畻澶у崟鎴愪氦棰�
+                                deal_big_money_manager.set_trade_progress(code, buy_progress_index,
+                                                                          l2_data_util.local_today_datas.get(
+                                                                              code),
+                                                                          l2_data_util.local_today_num_operate_map.get(
+                                                                              code))
+
                         sk.sendall(json.dumps({"code": 0}).encode(encoding='utf-8'))
                     elif data_json["type"] == "l2_market_data":
                         data = data_json["data"]
@@ -173,7 +206,7 @@
                         if limit_up_price is not None:
                             # 澶勭悊涔�1,鍗�1淇℃伅
                             code_price_manager.Buy1PriceManager.process(code, buy_1_price, time_str, limit_up_price,
-                                                                        sell_1_price, sell_1_volume//100)
+                                                                        sell_1_price, sell_1_volume // 100)
                         hx_logger_l2_market_data.info(f"{code}#{data}")
                         sk.sendall(json.dumps({"code": 0}).encode(encoding='utf-8'))
                 else:

--
Gitblit v1.8.0