From 365491c1fcf523994035e4bd28d8b5872dd6ec98 Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期四, 31 七月 2025 14:47:48 +0800 Subject: [PATCH] 除权采用掘金更新K线 --- test/l2_trade_test.py | 84 ++++++++++++++++++++++++++++-------------- 1 files changed, 56 insertions(+), 28 deletions(-) diff --git a/test/l2_trade_test.py b/test/l2_trade_test.py index 73d0941..c9ce130 100644 --- a/test/l2_trade_test.py +++ b/test/l2_trade_test.py @@ -17,14 +17,14 @@ from l2.l2_sell_manager import L2MarketSellManager from l2.l2_transaction_data_manager import HuaXinSellOrderStatisticManager from log_module import log, log_export, async_log_util -from trade.huaxin import huaxin_trade_api -from utils import tool +from trade.buy_radical.radical_buy_data_manager import RadicalBuyDataManager, RadicalBuyBlockManager +from utils import tool, init_data_util from db import redis_manager_delegate as redis_manager from l2 import l2_log, l2_data_manager, transaction_progress, l2_data_manager_new, l2_transaction_data_processor, \ cancel_buy_strategy from l2.transaction_progress import TradeBuyQueue from third_data import kpl_util, kpl_data_manager, block_info -from third_data.code_plate_key_manager import LimitUpCodesPlateKeyManager, CodePlateKeyBuyManager +from third_data.code_plate_key_manager import LimitUpCodesPlateKeyManager from third_data.kpl_data_manager import KPLDataManager from trade import trade_data_manager, current_price_process_manager, l2_trade_util, trade_manager import l2.l2_data_manager_new, l2.l2_data_manager, l2.l2_data_util, l2.cancel_buy_strategy @@ -92,7 +92,7 @@ constant.TEST = True trade_manager.TradeStateManager().open_buy() threading.Thread(target=async_log_util.run_sync, daemon=True).start() - code = "000691" + code = "000590" clear_trade_data(code) l2.l2_data_util.load_l2_data(code) total_datas = deepcopy(l2.l2_data_util.local_today_datas[code]) @@ -154,11 +154,13 @@ KPLDataManager().get_from_file(kpl_util.KPLDataType.LIMIT_UP, tool.get_now_date_str())) kpl_data_manager.KPLLimitUpDataRecordManager.load_total_datas() - - current_price_process_manager.set_trade_price(code, round(float(gpcode_manager.get_limit_up_price(code)), 2)) + limit_up_price = gpcode_manager.get_limit_up_price(code) + if limit_up_price is None: + init_data_util.re_set_price_pre(code) + current_price_process_manager.set_trade_price(code, gpcode_manager.get_limit_up_price_as_num(code)) pss_server, pss_strategy = multiprocessing.Pipe() - huaxin_trade_api.run_pipe_trade(pss_server, None, None) + # huaxin_trade_api.run_pipe_trade(pss_server, None, None) for indexs in pos_list: l2_log.threadIds[code] = mock.Mock( @@ -235,31 +237,50 @@ # @unittest.skip("璺宠繃姝ゅ崟鍏冩祴璇�") def test_block(self): - code = "001376" - # KPLCodeJXBlockManager().load_jx_blocks(code, 23.52,23.62, - # kpl_data_manager.KPLLimitUpDataRecordManager.get_current_reasons()) - # - block_info.init_code(code) + codes_str = "300390" + codes = codes_str.split(",") # ["002889", "300337", "001298", "002771"] kpl_data_manager.KPLLimitUpDataRecordManager.load_total_datas() - latest_current_limit_up_records = kpl_data_manager.get_latest_current_limit_up_records() kpl_data_manager.KPLLimitUpDataRecordManager.save_record(tool.get_now_date_str(), kpl_data_manager.KPLDataManager.get_data( kpl_util.KPLDataType.LIMIT_UP)) - limit_up_data = kpl_data_manager.KPLLimitUpDataRecordManager.record_code_dict.get(code) - if limit_up_data: - limit_up_time = tool.to_time_str(limit_up_data[2]) - CodePlateKeyBuyManager.update_can_buy_blocks(code, - kpl_data_manager.KPLLimitUpDataRecordManager.latest_origin_datas, - kpl_data_manager.KPLLimitUpDataRecordManager.total_datas, - latest_current_limit_up_records, - block_info.get_before_blocks_dict(), - kpl_data_manager.KPLLimitUpDataRecordManager.get_current_limit_up_reason_codes_dict()) - can_buy_result = CodePlateKeyBuyManager.can_buy(code) - print(can_buy_result) - if can_buy_result: - if can_buy_result[0]: - blocks = ",".join([f"{x[0]}-{x[1] + 1}({x[2]}&{x[3] - x[2]})" for x in can_buy_result[0]]) - print(blocks) + for code in codes: + # KPLCodeJXBlockManager().load_jx_blocks(code, 23.52,23.62, + # kpl_data_manager.KPLLimitUpDataRecordManager.get_current_reasons()) + # + block_info.init_code(code) + # latest_current_limit_up_records = kpl_data_manager.get_latest_current_limit_up_records() + + init_data_util.re_set_price_pre(code, True) + + limit_up_data = kpl_data_manager.KPLLimitUpDataRecordManager.record_code_dict.get(code) + if limit_up_data: + limit_up_time = tool.to_time_str(limit_up_data[2]) + RadicalBuyBlockManager.set_current_limit_up_datas( + kpl_data_manager.KPLLimitUpDataRecordManager.latest_origin_datas) + # CodePlateKeyBuyManager.update_can_buy_blocks(code, + # kpl_data_manager.KPLLimitUpDataRecordManager.latest_origin_datas, + # kpl_data_manager.KPLLimitUpDataRecordManager.total_datas, + # latest_current_limit_up_records, + # block_info.get_before_blocks_dict(), + # kpl_data_manager.KPLLimitUpDataRecordManager.get_current_limit_up_reason_codes_dict()) + # can_buy_result = CodePlateKeyBuyManager.can_buy(code) + # print(can_buy_result) + # if can_buy_result: + # if can_buy_result[0]: + # blocks = ",".join([f"{x[0]}-{x[1] + 1}({x[2]}&{x[3] - x[2]})" for x in can_buy_result[0]]) + # print(blocks) + + yesterday_codes = kpl_data_manager.get_yesterday_limit_up_codes() + if yesterday_codes is None: + yesterday_codes = set() + result = RadicalBuyBlockManager.is_radical_buy(code, yesterday_codes) + print(code, result) + if result[0]: + can_buy_result = RadicalBuyDataManager.is_code_can_buy(code) + if can_buy_result[0]: + print("鍙互涔�", code, result) + else: + print("涓嶅彲浠ヤ拱", code, can_buy_result) # l2.l2_data_manager_new.L2TradeDataProcessor.can_buy_first(code, None) @@ -295,6 +316,13 @@ for d in fdatas: l2_transaction_data_processor.HuaXinTransactionDatasProcessor().process_huaxin_transaction_datas(code, d) + def test_cancel(self): + code = "603300" + l2.l2_data_util.load_l2_data(code) + TradeBuyQueue.get_traded_index = mock.Mock(return_value=(3742, False)) + l2.cancel_buy_strategy.RDCancelBigNumComputer._RDCancelBigNumComputer__watch_indexes_cache ={ code: {3686, 3691, 3693, 3694, 3699, 3700}} + l2.cancel_buy_strategy.RDCancelBigNumComputer().need_cancel(code, 4370, 4372) + class TestTradedProgress(unittest.TestCase): @unittest.skip("璺宠繃姝ゅ崟鍏冩祴璇�") -- Gitblit v1.8.0