| | |
| | | |
| | | |
| | | @tool.singleton |
| | | class TotalDealBigOrderThresholdMoneyManager: |
| | | """ |
| | | 累计成交大单阈值管理(人为设置) |
| | | """ |
| | | __db = 3 |
| | | __total_big_order_threshold = {} |
| | | |
| | | def __init__(self): |
| | | self.__load_data() |
| | | |
| | | def __load_data(self): |
| | | keys = redis_manager.RedisUtils.keys(self.__get_redis(), "total_radical_big_order_threshold-*") |
| | | for k in keys: |
| | | code = k.split("-")[1] |
| | | val = redis_manager.RedisUtils.get(self.__get_redis(), k) |
| | | val = int(val) |
| | | self.__total_big_order_threshold[code] = val |
| | | |
| | | def set_money(self, code, money): |
| | | """ |
| | | 设置金额 |
| | | @param code: |
| | | @param money: |
| | | @return: |
| | | """ |
| | | self.__total_big_order_threshold[code] = money |
| | | redis_manager.RedisUtils.setex_async(self.__db, f"total_radical_big_order_threshold-{code}", tool.get_expire(), |
| | | money) |
| | | |
| | | def get_money_cache(self, code): |
| | | """ |
| | | 获取缓存 |
| | | @param code: |
| | | @return: |
| | | """ |
| | | return self.__total_big_order_threshold.get(code) |
| | | |
| | | |
| | | @tool.singleton |
| | | class RadicalCodeMarketInfoManager: |
| | | """ |
| | | 激进买的票行情数据管理 |
| | |
| | | code) |
| | | if deal_money >= 2 * THRESHOLD_MONEY: |
| | | gpcode_manager.WhiteListCodeManager().add_code(code) |
| | | trade_record_log_util.add_common_msg(code, "加白", f"{code}大单成交足够加白, 本批次成交金额-{deal_money}/{THRESHOLD_MONEY * 2} 累计大单金额:{total_deal_big_order_result[1]}/{total_deal_big_order_result[2]}") |
| | | trade_record_log_util.add_common_msg(code, "加白", |
| | | f"{code}大单成交足够加白, 本批次成交金额-{deal_money}/{THRESHOLD_MONEY * 2} 累计大单金额:{total_deal_big_order_result[1]}/{total_deal_big_order_result[2]}") |
| | | else: |
| | | async_log_util.info(logger_debug, |
| | | f"{code}-成交大单少({deal_money}/{2 * THRESHOLD_MONEY},最小订单号-{order_begin_pos.min_order_no}),不能加白") |
| | | |
| | | except Exception as e: |
| | | logger_debug.exception(e) |
| | | async_log_util.info(logger_debug, f"处理成交大单足够加白的问题:{str(e)}") |
| | |
| | | if tool.is_ge_code(code): |
| | | TOTAL_BIG_DEAL_MONEY_THRESHOLD_COUNT *= 3.3 |
| | | |
| | | TOTAL_BIG_DEAL_MONEY_THRESHOLD_MONEY = TOTAL_BIG_DEAL_MONEY_THRESHOLD_COUNT * THRESHOLD_MONEY |
| | | human_setting_money = TotalDealBigOrderThresholdMoneyManager().get_money_cache(code) |
| | | if human_setting_money is not None: |
| | | TOTAL_BIG_DEAL_MONEY_THRESHOLD_MONEY = int(human_setting_money) |
| | | else: |
| | | TOTAL_BIG_DEAL_MONEY_THRESHOLD_MONEY = TOTAL_BIG_DEAL_MONEY_THRESHOLD_COUNT * THRESHOLD_MONEY |
| | | |
| | | # if is_for_buy and is_temp_threshold_money: |
| | | # # 首次上板买入,大单阈值打3折 |