From e9ad6f3b408d2841812e13fe2ccb9572c9c0ec15 Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期二, 16 四月 2024 14:38:55 +0800
Subject: [PATCH] 上证安全笔数限制
---
l2/l2_data_source_util.py | 45 +++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 45 insertions(+), 0 deletions(-)
diff --git a/l2/l2_data_source_util.py b/l2/l2_data_source_util.py
index 0654460..dab8a19 100644
--- a/l2/l2_data_source_util.py
+++ b/l2/l2_data_source_util.py
@@ -136,6 +136,15 @@
return cls.__get_buy_index_with_cancel_data(code, cancel_data, local_today_num_operate_map)
+ # 鏍规嵁涔版挙鏁版嵁璁$畻涔板叆鏁版嵁锛堝崕閼師鐢烲2鏁版嵁閫傜敤锛�
+ @classmethod
+ def get_buy_index_with_cancel_data_v2(cls, cancel_data, buyno_map):
+ order_no = str(cancel_data["val"]["orderNo"])
+ buy_data = buyno_map.get(order_no)
+ if buy_data:
+ return buy_data["index"]
+ return None
+
# 鑾峰彇娌℃挙鐨勭瑪鏁�
@classmethod
def get_limit_up_buy_no_canceled_count(cls, code, index, total_data, local_today_num_operate_map):
@@ -163,6 +172,42 @@
return count
return 0
+ # 鑾峰彇娌℃挙鐨勭瑪鏁�
+
+ # 鑾峰彇娑ㄥ仠涔版病鏈夋挙鍗曠殑鏁伴噺
+ @classmethod
+ def get_limit_up_buy_no_canceled_count_v2(cls, code, index, total_data, canceled_buyno_map):
+ data = None
+ try:
+ data = total_data[index]
+ except Exception as e:
+ logger_l2_error.error(
+ f"鏈壘鍒颁拱鍏ョ储寮曞搴旂殑鏁版嵁锛歩ndex-{index} total_data闀垮害-{len(total_data) if total_data else 0} 閿欒鍘熷洜锛歿str(e)}")
+ val = data["val"]
+ order_no = str(val["orderNo"])
+ canceled_data = canceled_buyno_map.get(order_no)
+ if canceled_data:
+ return data["re"] - canceled_data["re"]
+ else:
+ return data["re"]
+
+ @classmethod
+ def get_limit_up_buy_canceled_data_v2(cls, code, index, total_data, canceled_buyno_map):
+ data = None
+ try:
+ data = total_data[index]
+ except Exception as e:
+ logger_l2_error.error(
+ f"鏈壘鍒颁拱鍏ョ储寮曞搴旂殑鏁版嵁锛歩ndex-{index} total_data闀垮害-{len(total_data) if total_data else 0} 閿欒鍘熷洜锛歿str(e)}")
+ val = data["val"]
+ order_no = str(val["orderNo"])
+ canceled_data = canceled_buyno_map.get(order_no)
+ if canceled_data:
+ return canceled_data
+ else:
+ return None
+
+
# if __name__ == "__main__":
# code = "000925"
# l2_data_util.load_l2_data(code)
--
Gitblit v1.8.0