From ad615df734b4d82f9a83a7d1805ac9fabdf01a53 Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期四, 21 八月 2025 18:27:39 +0800
Subject: [PATCH] 200元股价以下的不足4手算4手/撤单率设置为100%不计算L后后半段撤单

---
 output/code_info_output.py |   60 ++++++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 38 insertions(+), 22 deletions(-)

diff --git a/output/code_info_output.py b/output/code_info_output.py
index f65d47d..c4b5844 100644
--- a/output/code_info_output.py
+++ b/output/code_info_output.py
@@ -15,14 +15,16 @@
 from l2.l2_data_manager import OrderBeginPosInfo
 from l2.l2_data_util import L2DataUtil
 from third_data.code_plate_key_manager import KPLCodeJXBlockManager
+from third_data.kpl_data_constant import LimitUpCodesBlockRecordManager
+from trade.buy_radical.block_special_codes_manager import BlockSpecialCodesManager
 from utils import global_util, tool
 from log_module import log, log_export
 from l2 import l2_data_manager, l2_data_util, transaction_progress, l2_data_manager_new, code_price_manager
-from l2.cancel_buy_strategy import HourCancelBigNumComputer
+from cancel_strategy.s_l_h_cancel_strategy import HourCancelBigNumComputer
 import l2.l2_data_manager_new
 from third_data import kpl_data_manager, kpl_api
 from third_data.kpl_data_manager import KPLLimitUpDataRecordManager
-from trade import l2_trade_factor, trade_manager, l2_trade_util, trade_record_log_util
+from trade import l2_trade_factor, trade_manager, l2_trade_util, trade_record_log_util, trade_constant
 from trade.l2_trade_factor import L2TradeFactorUtil
 
 base_output_content = {}
@@ -32,7 +34,6 @@
 
 
 def __get_base_html_content():
-    print("璺緞", sys.path[0])
     if base_output_content.get('css') is None:
         __base_html_content = ""
         with open("./output/css/style.css", mode='r') as f:
@@ -80,15 +81,15 @@
         code_extra_infos.append("鏆備笉涔�")
     params["code"] = code
     params["code_name"] = f"{gpcode_manager.get_code_name(code)} {code}  锛坽','.join(code_extra_infos)}锛�"
-
     total_datas = l2_data_util.local_today_datas.get(code)
     if total_datas is None:
-        l2_data_util.load_l2_data(code)
-        total_datas = l2_data_util.local_today_datas.get(code)
+        total_datas = []
+        # l2_data_util.load_l2_data(code)
+        # total_datas = l2_data_util.local_today_datas.get(code)
     if is_target_code:
         limit_up_price = gpcode_manager.get_limit_up_price(code)
         limit_up_time = limit_up_time_manager.LimitUpTimeManager().get_limit_up_time_cache(code)
-        volume_rate, volume_info = code_volumn_manager.get_volume_rate(code, with_info=True)
+        volume_rate, volume_info = code_volumn_manager.CodeVolumeManager().get_volume_rate(code, with_info=True)
 
         ################################涔板墠璇勫垎################################
 
@@ -102,19 +103,20 @@
 
         # 鑾峰彇涔板叆鎰忔効
         __L2PlaceOrderParamsManager = l2_trade_factor.L2PlaceOrderParamsManager(code, True, volume_rate,
-                                                                                code_volumn_manager.get_volume_rate_index(
+                                                                                code_volumn_manager.CodeVolumeManager().get_volume_rate_index(
                                                                                     volume_rate),
                                                                                 None)
         # 鏄惁鍙互涔板叆鐨勪俊鎭�
         try:
-            can_buy_info = l2.l2_data_manager_new.L2TradeDataProcessor.can_buy_first(code, limit_up_price)
+            can_buy_info = l2.l2_data_manager_new.L2TradeDataProcessor.can_buy_first_new(code, limit_up_price)
             params["trade_data"]["can_buy_info"] = can_buy_info
         except:
             pass
 
         # 鑾峰彇閲忓弬鑰冩棩鏈�
         try:
-            volume_refer_date, volume_refer_date_distance = code_volumn_manager.get_volume_refer_date(code)
+            volume_refer_date, volume_refer_date_distance = code_volumn_manager.CodeVolumeManager().get_volume_refer_date(
+                code)
             params["trade_data"]["volume_refer_date"] = volume_refer_date
         except:
             pass
@@ -125,7 +127,7 @@
             params["trade_data"]["special_info"] = k_format[8]
 
         __base_L2PlaceOrderParamsManager = l2_trade_factor.L2PlaceOrderParamsManager(code, False, volume_rate,
-                                                                                     code_volumn_manager.get_volume_rate_index(
+                                                                                     code_volumn_manager.CodeVolumeManager().get_volume_rate_index(
                                                                                          volume_rate),
                                                                                      None)
         if -1 < __L2PlaceOrderParamsManager.score_index < 3:
@@ -207,25 +209,25 @@
                                                     data['val']['price']) * 100 / 10000, 1)}
         params["trade_data"]["trade_state"] = {}
         trade_state = trade_manager.CodesTradeStateManager().get_trade_state_cache(code)
-        if trade_state == trade_manager.TRADE_STATE_BUY_PLACE_ORDER or trade_state == trade_manager.TRADE_STATE_BUY_DELEGATED:
+        if trade_state == trade_constant.TRADE_STATE_BUY_PLACE_ORDER or trade_state == trade_constant.TRADE_STATE_BUY_DELEGATED:
             params["trade_data"]["trade_state"]["order"] = True
             params["trade_data"]["trade_state"]["desc"] = "宸蹭笅鍗�"
         else:
             params["trade_data"]["trade_state"]["order"] = False
-            if trade_state == trade_manager.TRADE_STATE_NOT_TRADE:
+            if trade_state == trade_constant.TRADE_STATE_NOT_TRADE:
                 params["trade_data"]["trade_state"]["desc"] = "鏈氦鏄�"
-            elif trade_state == trade_manager.TRADE_STATE_BUY_CANCEL_ING:
+            elif trade_state == trade_constant.TRADE_STATE_BUY_CANCEL_ING:
                 params["trade_data"]["trade_state"]["desc"] = "鎾ゅ崟涓�"
-            elif trade_state == trade_manager.TRADE_STATE_BUY_CANCEL_SUCCESS:
+            elif trade_state == trade_constant.TRADE_STATE_BUY_CANCEL_SUCCESS:
                 params["trade_data"]["trade_state"]["desc"] = "鎾ゅ崟鎴愬姛"
-            elif trade_state == trade_manager.TRADE_STATE_BUY_SUCCESS:
+            elif trade_state == trade_constant.TRADE_STATE_BUY_SUCCESS:
                 params["trade_data"]["trade_state"]["desc"] = "宸叉垚浜�"
 
         # log.logger_debug.info(f"涓嬪崟淇℃伅鑰楁椂锛歿time.time() - __start_time}")
         __start_time = time.time()
 
         # H鎾ょ洃鍚寖鍥�
-        if trade_state == trade_manager.TRADE_STATE_BUY_PLACE_ORDER or trade_state == trade_manager.TRADE_STATE_BUY_DELEGATED or trade_state == trade_manager.TRADE_STATE_BUY_SUCCESS:
+        if trade_state == trade_constant.TRADE_STATE_BUY_PLACE_ORDER or trade_state == trade_constant.TRADE_STATE_BUY_DELEGATED or trade_state == trade_constant.TRADE_STATE_BUY_SUCCESS:
             hcancel_datas_dict, cancel_indexes_set = HourCancelBigNumComputer().get_watch_index_dict(code)
             # 鏍规嵁鏃ュ織璇诲彇瀹炴椂鐨勮绠楁暟鎹�
             h_cancel_latest_compute_info = log_export.get_h_cancel_compute_info(code)
@@ -300,6 +302,13 @@
     if code_records:
         code_records = [(format_plate_output(k[0]), k[1], [format_plate_output(k1) for k1 in k[2].split("銆�")]) for k in
                         code_records]
+    # 淇敼鍘嗗彶
+    # code_records = LimitUpCodesBlockRecordManager().get_radical_buy_blocks_origin_data(code)
+    # if code_records:
+    #     code_records = [(f"{x[0]}x{x[1]}", x[2], '') for x in code_records]
+    # else:
+    #     code_records = []
+
     params["kpl_code_info"]["code_records"] = code_records
 
     if not KPLLimitUpDataRecordManager.total_datas:
@@ -422,17 +431,22 @@
 
                     records_new_data.append((time_, "", "-------------------------", []))
                     mode = data.get('mode')
+                    mode_desc = data.get('mode_desc')
                     if mode == OrderBeginPosInfo.MODE_ACTIVE:
-                        records_new_data.append((time_, "婵�杩涗笅鍗�",
-                                                 f"銆恵format_l2_data(total_datas[data['buy_single_index']])}銆�-銆恵format_l2_data(total_datas[data['buy_exec_index']])}銆�",
+                        records_new_data.append((time_, "绉瀬涓嬪崟",
+                                                 mode_desc,
                                                  extra_datas))
                     elif mode == OrderBeginPosInfo.MODE_FAST:
                         records_new_data.append((time_, "闂數涓嬪崟",
-                                                 f"銆恵format_l2_data(total_datas[data['buy_single_index']])}銆�-銆恵format_l2_data(total_datas[data['buy_exec_index']])}銆�",
+                                                 mode_desc,
+                                                 extra_datas))
+                    elif mode == OrderBeginPosInfo.MODE_RADICAL:
+                        records_new_data.append((time_, "鎵叆涓嬪崟",
+                                                 mode_desc,
                                                  extra_datas))
                     else:
-                        records_new_data.append((time_, "涓嬪崟",
-                                                 f"銆恵format_l2_data(total_datas[data['buy_single_index']])}銆�-銆恵format_l2_data(total_datas[data['buy_exec_index']])}銆�",
+                        records_new_data.append((time_, "甯歌涓嬪崟",
+                                                 mode_desc,
                                                  extra_datas))
                 elif type == trade_record_log_util.TYPE_REAL_PLACE_ORDER_POSITION:
                     _datas = []
@@ -480,6 +494,8 @@
                 elif type == trade_record_log_util.TYPE_CANCEL:
                     load_cancel_watch_index(latest_cancel_watch_index_dict)
                     records_new_data.append((time_, "鎾ゅ崟", f"鍘熷洜锛歿data['msg']}", []))
+                elif type == trade_record_log_util.TYPE_ACTION:
+                    records_new_data.append((time_, data['type'], f"{data['msg']}", []))
             load_cancel_watch_index(latest_cancel_watch_index_dict)
             records_new_data.sort(key=lambda x: x[0])
             if records_new_data:

--
Gitblit v1.8.0