From 6dbf7d8320b03533a8a7c70cb3cc309426eac94e Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期三, 11 六月 2025 17:13:41 +0800 Subject: [PATCH] L2订阅接口修改/人为设置大单之后才能自动拉白/红 --- trade/buy_radical/radical_buy_data_manager.py | 9 +++++++++ trade/buy_radical/radical_buy_strategy.py | 14 ++++++++++---- servers/data_server.py | 12 +++++++++++- 3 files changed, 30 insertions(+), 5 deletions(-) diff --git a/servers/data_server.py b/servers/data_server.py index 4d8ae39..a548267 100644 --- a/servers/data_server.py +++ b/servers/data_server.py @@ -1025,7 +1025,17 @@ logger_debug.exception(e) deal_big_order_info = None code_name = gpcode_manager.get_code_name(code) - fresults.append((code, code_name, deal_big_order_info, deal_big_order_detail_info)) + + big_order_enough = 0 + try: + total_deal_big_order_result = radical_buy_data_manager.get_total_deal_big_order_info(code, + gpcode_manager.get_limit_up_price_as_num( + code)) + if total_deal_big_order_result and total_deal_big_order_result[0]<=0: + big_order_enough = 1 + except: + pass + fresults.append((code, code_name, deal_big_order_info, deal_big_order_detail_info, big_order_enough)) response_data = json.dumps({"code": 0, "data": fresults}) except Exception as e: response_data = json.dumps({"code": 1, "data": str(1)}) diff --git a/trade/buy_radical/radical_buy_data_manager.py b/trade/buy_radical/radical_buy_data_manager.py index 6e425bb..1db1f7e 100644 --- a/trade/buy_radical/radical_buy_data_manager.py +++ b/trade/buy_radical/radical_buy_data_manager.py @@ -641,6 +641,10 @@ if WantBuyCodesManager().is_in_cache(code): if total_deal_big_order_result[0] <= 0: # 绱澶у崟瓒冲闇�瑕佸姞绾� + human_setting_money = TotalDealBigOrderThresholdMoneyManager().get_money_cache(code) + if not human_setting_money: + # 娌℃湁浜轰负璁剧疆绱澶у崟闃堝�煎氨涓嶈兘鍔犵櫧 + return gpcode_manager.MustBuyCodesManager().add_code(code) trade_record_log_util.add_must_buy(code, "绱鎴愪氦澶у崟瓒冲") cls.__process_add_white(code) @@ -656,6 +660,11 @@ return if gpcode_manager.WhiteListCodeManager().is_in_cache(code): return + human_setting_money = TotalDealBigOrderThresholdMoneyManager().get_money_cache(code) + if not human_setting_money: + # 娌℃湁浜轰负璁剧疆绱澶у崟闃堝�煎氨涓嶈兘鍔犵櫧 + return + try: total_deal_big_order_result = get_total_deal_big_order_info(code, gpcode_manager.get_limit_up_price_as_num(code)) diff --git a/trade/buy_radical/radical_buy_strategy.py b/trade/buy_radical/radical_buy_strategy.py index 876852a..064667e 100644 --- a/trade/buy_radical/radical_buy_strategy.py +++ b/trade/buy_radical/radical_buy_strategy.py @@ -16,7 +16,7 @@ from third_data.kpl_data_constant import LimitUpDataConstant, LimitUpCodesBlockRecordManager from trade.buy_radical import radical_buy_data_manager, block_special_codes_manager from trade.buy_radical.block_special_codes_manager import BlockSpecialCodesManager -from trade.buy_radical.radical_buy_data_manager import RadicalBuyBlockManager +from trade.buy_radical.radical_buy_data_manager import RadicalBuyBlockManager, TotalDealBigOrderThresholdMoneyManager from trade.trade_data_manager import RadicalBuyDealCodesManager from utils import tool, global_util @@ -142,6 +142,12 @@ price = transaction_datas[-1][1] huaxin_timestamp = transaction_datas[-1][3] + # 鍒ゆ柇鏄惁鍙互鎵叆 + can_direct_buy = False + human_setting_money = TotalDealBigOrderThresholdMoneyManager().get_money_cache(code) + if human_setting_money: + can_direct_buy = True + # 鑾峰彇鍙傝�冩�诲崠棰� refer_sell_data = L2MarketSellManager().get_refer_sell_data(code, l2_huaxin_util.convert_time( huaxin_timestamp)) @@ -176,7 +182,7 @@ # 瑕佹眰鐨勫ぇ鍗曞浜� 浠ュ悗锛屽洖灏佷拱锛屽彧瑕佹湁涓や釜澶у崟鎴愪氦浜�,绔嬪嵆涓嬪崟 THRESHOLD_MONEY, is_temp_threshold_money = radical_buy_data_manager.BeforeSubDealBigOrderManager().get_big_order_threshold_info( code) - if big_order_money > THRESHOLD_MONEY * 2: + if big_order_money > THRESHOLD_MONEY * 2 and can_direct_buy: return BUY_MODE_DIRECT, f"鏈変袱涓互涓婂ぇ鍗曠灛鏃舵垚浜わ紙{big_order_money}/{THRESHOLD_MONEY * 2}锛�, 澶у崟瓒冲" if big_order_count >= 2: @@ -210,10 +216,10 @@ if threshold_left_sell_money > left_limit_up_sell_money: # 鍓╀綑鎬诲崠灏忎簬鍧囧ぇ鍗曟墠鑳戒笅鍗� # 濡傛灉鏄繁璇佷笖鍗栦竴澶т簬5000w鍙笉鍒ゆ柇澶у崟鏄惁婊¤冻 - if tool.is_sz_code(code) and refer_sell_money >= 5e7: + if tool.is_sz_code(code) and refer_sell_money >= 5e7 and can_direct_buy: return BUY_MODE_DIRECT, f"鍓╀綑娑ㄥ仠鎬诲崠棰�-{left_limit_up_sell_money}锛屽潎澶у崟-{average_big_order_money}锛� 鍓╀綑闃堝��-{threshold_left_sell_money}锛� 鎬绘姏鍘嬪ぇ({refer_sell_money})" else: - if total_lack_money_info[0] <= 0 and tool.is_sz_code(code): + if total_lack_money_info[0] <= 0 and tool.is_sz_code(code) and can_direct_buy: return BUY_MODE_DIRECT, f"鍓╀綑娑ㄥ仠鎬诲崠棰�-{left_limit_up_sell_money}锛屽潎澶у崟-{average_big_order_money}, 澶у崟瓒冲" else: average_big_order_money = 0 -- Gitblit v1.8.0