From b74016d3ba3750cd27fee83675449da8f1da3926 Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期四, 09 二月 2023 18:47:34 +0800 Subject: [PATCH] 建立取消单元测试机制/修改H撤(看成交位置相邻大单与总整体数据TOPN大单) --- l2/transaction_progress.py | 49 +++++++++++++++++++++++++++++++++++++------------ 1 files changed, 37 insertions(+), 12 deletions(-) diff --git a/l2/transaction_progress.py b/l2/transaction_progress.py index cca3926..df52f47 100644 --- a/l2/transaction_progress.py +++ b/l2/transaction_progress.py @@ -3,6 +3,7 @@ ''' # 涔板叆闃熷垪 +import itertools import json import constant @@ -79,9 +80,10 @@ return num_list # 淇濆瓨鎴愪氦绱㈠紩 - def save_traded_index(self, code, buy1_price, buyQueueBig): + def compute_traded_index(self, code, buy1_price, buyQueueBig): total_datas = l2.l2_data_util.local_today_datas.get(code) today_num_operate_map = l2.l2_data_util.local_today_num_operate_map.get(code) + index = None for i in range(0, len(buyQueueBig)): buyQueueBigTemp = buyQueueBig[i:] if i > 0 and len(buyQueueBigTemp) < 2: @@ -90,18 +92,38 @@ last_index, is_default = self.get_traded_index(code) - index = l2.l2_data_util.L2TradeQueueUtils.find_traded_progress_index(buy1_price, total_datas, - today_num_operate_map, buyQueueBigTemp, - ( - last_index if last_index is not is_default else 0), - self.__get_latest_not_limit_up_time( - code)) + c_last_index = 0 + if not is_default and last_index is not None: + c_last_index = last_index + # 濡傛灉鏄�3涓�/4涓暟鎹壘涓嶅埌灏辫皟鏁撮『搴� + fbuyQueueBigTempList = [] + if 3 <= len(buyQueueBigTemp) <= 4: + buyQueueBigTempList = itertools.permutations(buyQueueBigTemp, len(buyQueueBigTemp)) + for tempQueue in buyQueueBigTempList: + if list(tempQueue) != buyQueueBigTemp: + fbuyQueueBigTempList.append(tempQueue) + fbuyQueueBigTempList.insert(0, buyQueueBigTemp) + for temp in fbuyQueueBigTempList: + try: + index = l2.l2_data_util.L2TradeQueueUtils.find_traded_progress_index(buy1_price, total_datas, + today_num_operate_map, + temp, + c_last_index, + self.__get_latest_not_limit_up_time( + code)) + if index is not None: + break + except: + pass if index is not None: - logger_l2_trade_buy_queue.info(f"纭畾浜ゆ槗杩涘害锛歝ode-{code} index-{index}") - # 淇濆瓨鎴愪氦杩涘害 - self.__save_buy_progress_index(code, index, False) - return index - return None + break + + if index is not None: + logger_l2_trade_buy_queue.info(f"纭畾浜ゆ槗杩涘害锛歝ode-{code} index-{index}") + # 淇濆瓨鎴愪氦杩涘害 + # self.__save_buy_progress_index(code, index, False) + return index + return index # 鑾峰彇鎴愪氦杩涘害绱㈠紩 def get_traded_index(self, code): @@ -111,6 +133,9 @@ def set_default_traded_index(self, code, index): self.__save_buy_progress_index(code, index, True) + def set_traded_index(self, code, index): + self.__save_buy_progress_index(code, index, False) + if __name__ == '__main': pass -- Gitblit v1.8.0