From cbe19ea6066a600cbd0b5110db5d43f8252d14a8 Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期四, 13 六月 2024 11:23:53 +0800 Subject: [PATCH] L撤成交进度相关改进 --- code_attribute/code_volumn_manager.py | 38 ++++++++++++++++++++++++++++++++------ 1 files changed, 32 insertions(+), 6 deletions(-) diff --git a/code_attribute/code_volumn_manager.py b/code_attribute/code_volumn_manager.py index c5a58f2..3c046c8 100644 --- a/code_attribute/code_volumn_manager.py +++ b/code_attribute/code_volumn_manager.py @@ -7,6 +7,7 @@ # yesterday 鏄ㄥぉ鐨勯噺 import json +from code_attribute import gpcode_manager from db.redis_manager_delegate import RedisUtils from log_module import async_log_util from utils import global_util, tool @@ -18,12 +19,13 @@ # 璁剧疆鍘嗗彶閲� -def set_histry_volumn(code, max60, yesterday, max60_day=''): +def set_histry_volumn(code, max60, yesterday, max60_day, max60_day_count): redis = __redis_manager.getRedis() - global_util.max60_volumn[code] = (max60, max60_day) + global_util.max60_volumn[code] = (max60, max60_day, max60_day_count) global_util.yesterday_volumn[code] = yesterday try: - RedisUtils.setex_async(0, "volumn_max60-{}".format(code), tool.get_expire(), json.dumps((max60, max60_day)), + RedisUtils.setex_async(0, "volumn_max60-{}".format(code), tool.get_expire(), + json.dumps((max60, max60_day, max60_day_count)), auto_free=False) RedisUtils.setex_async(0, "volumn_yes-{}".format(code), tool.get_expire(), yesterday, auto_free=False) finally: @@ -90,7 +92,7 @@ today = get_today_volumn(code) max60, yesterday = get_histry_volumn(code) if today is None or max60 is None or yesterday is None: - raise Exception("鑾峰彇閲忓け璐�") + raise Exception(f"鑾峰彇閲忓け璐�:{code}") rate = round((int(today) + total_sell_volume) / max(int(max60[0]), int(yesterday)), 2) if not with_info: return rate @@ -98,14 +100,15 @@ # 鑾峰彇閲忓弬鑰冩棩鏈� +# 杩斿洖(鍙傝�冮噺鏃ユ湡,璺濅粖鐨勪氦鏄撴棩涓暟) def get_volume_refer_date(code): max60, yesterday = get_histry_volumn(code) if max60 is None or yesterday is None: raise Exception("鑾峰彇澶辫触") if int(max60[0]) >= int(yesterday): - return max60[1] + return max60[1], max60[2] else: - return "涓婁釜浜ゆ槗鏃�" + return "涓婁釜浜ゆ槗鏃�", 0 # 鑾峰彇閲忔瘮绱㈠紩 @@ -151,5 +154,28 @@ RedisUtils.realse(redis) +__reference_volume_as_money_y_dict = {} + + +def get_reference_volume_as_money_y(code): + """ + 杩斿洖鍙傝�冮噺浠婃棩瀵瑰簲鐨勯噾棰濓紙鍗曚綅涓轰嚎锛� + @param code: + @return: + """ + if code in __reference_volume_as_money_y_dict: + return __reference_volume_as_money_y_dict.get(code) + max60, yesterday = get_histry_volumn(code) + if max60: + num = max60[0] + limit_up_price = gpcode_manager.get_limit_up_price(code) + if limit_up_price: + money_y = round((num * float(limit_up_price)) / 1e8, 1) + __reference_volume_as_money_y_dict[code] = money_y + return money_y + # 榛樿涓�5浜� + return 5 + + if __name__ == "__main__": print(get_volume_rate("000059")) -- Gitblit v1.8.0