From f5b416d9cb5214ff0e46ca6305098085d2fe8742 Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期三, 27 九月 2023 18:02:11 +0800
Subject: [PATCH] L2与交易之间的通信采用队列方式/实现L撤单比例动态计算

---
 third_data/data_server.py |   20 +++++++++++++++++---
 1 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/third_data/data_server.py b/third_data/data_server.py
index 1fa8dad..b38a9c4 100644
--- a/third_data/data_server.py
+++ b/third_data/data_server.py
@@ -10,7 +10,7 @@
 from utils import global_util, tool
 from code_attribute import gpcode_manager
 from log_module import log, log_analyse, log_export
-from l2 import code_price_manager, l2_data_util, l2_data_manager_new
+from l2 import code_price_manager, l2_data_util, l2_data_manager_new, cancel_buy_strategy
 from l2.cancel_buy_strategy import HourCancelBigNumComputer
 from output.limit_up_data_filter import IgnoreCodeManager
 from third_data import kpl_util, kpl_data_manager, kpl_api, block_info
@@ -495,6 +495,18 @@
                         code_price_manager.Buy1PriceManager().set_limit_up_time(code, limit_up_time)
                 add_codes = codes_set - self.__latest_limit_up_codes_set
                 self.__latest_limit_up_codes_set = codes_set
+
+                if limit_up_reasons:
+                    # 缁熻娑ㄥ仠鍘熷洜鐨勭エ鐨勪釜鏁�
+                    limit_up_reason_code_dict = {}
+                    for code in limit_up_reasons:
+                        b = limit_up_reasons[code]
+                        if b not in limit_up_reason_code_dict:
+                            limit_up_reason_code_dict[b] = set()
+                        limit_up_reason_code_dict[b].add(code)
+                    cancel_buy_strategy.LCancelRateManager.set_block_limit_up_count(limit_up_reason_code_dict)
+
+
                 if add_codes:
                     for code in add_codes:
                         # 鏍规嵁娑ㄥ仠鍘熷洜鍒ゆ柇鏄惁鍙互涔�
@@ -510,7 +522,7 @@
                                         if not current_limit_up_datas:
                                             current_limit_up_datas = []
                                         if not limit_up_record_datas:
-                                            limit_up_record_datas=[]
+                                            limit_up_record_datas = []
                                         if CodePlateKeyBuyManager.is_need_cancel(code, limit_up_reasons.get(code),
                                                                                  current_limit_up_datas,
                                                                                  limit_up_record_datas,
@@ -518,7 +530,9 @@
                                                                                  before_blocks_dict):
                                             pass
                                             # TODO 娴嬭瘯鏆傛椂娉ㄩ噴
-                                            # l2_data_manager_new.L2TradeDataProcessor.cancel_buy(code, f"娑ㄥ仠鍘熷洜锛坽 limit_up_reasons.get(code)}锛変笉鏄�佸ぇ鎾ゅ崟", "鏉垮潡鎾�")
+                                            l2_data_manager_new.L2TradeDataProcessor.cancel_buy(code,
+                                                                                                f"娑ㄥ仠鍘熷洜锛坽limit_up_reasons.get(code)}锛変笉鏄�佸ぇ鎾ゅ崟",
+                                                                                                "鏉垮潡鎾�")
                             except Exception as e:
                                 logger_debug.exception(e)
                 kpl_data_manager.KPLLimitUpDataRecordManager.save_record(tool.get_now_date_str(), result_list_)

--
Gitblit v1.8.0