Administrator
2024-11-25 54d95545eb415d5a9420c87dcb6383e788049f45
servers/huaxin_trade_server.py
@@ -18,7 +18,7 @@
from cancel_strategy.s_l_h_cancel_strategy import SCancelBigNumComputer
from code_attribute import gpcode_manager, code_volumn_manager, global_data_loader, zyltgb_util
from code_attribute.code_l1_data_manager import L1DataManager
from code_attribute.gpcode_manager import CodePrePriceManager, CodesNameManager
from code_attribute.gpcode_manager import CodePrePriceManager, CodesNameManager, GreenListCodeManager
from huaxin_client import l2_data_transform_protocol
from huaxin_client.trade_transform_protocol import TradeResponse
from l2 import l2_data_manager_new, l2_log, code_price_manager, l2_data_util, transaction_progress, \
@@ -712,10 +712,11 @@
            # 判断今日扫入的代码数量是否大于阈值
            radical_buy_setting = BuyMoneyAndCountSetting().get_radical_buy_setting()
            MAX_COUNT = 4 if radical_buy_setting is None else radical_buy_setting[0]
            if len(deal_codes) >= MAX_COUNT:
                async_log_util.info(logger_l2_radical_buy, f"扫入成交代码个数大于{MAX_COUNT}个:{code}-{deal_codes}")
                return True
            if not GreenListCodeManager().is_in_cache(code):
                # 加绿不判断板块是否成交
                if len(deal_codes) >= MAX_COUNT:
                    async_log_util.info(logger_l2_radical_buy, f"扫入成交代码个数大于{MAX_COUNT}个:{code}-{deal_codes}")
                    return True
            if code in deal_codes:
                async_log_util.info(logger_l2_radical_buy, f"该代码已经成交:{code}")
                return True
@@ -770,18 +771,20 @@
                    buy_blocks_with_money = [(b, RealTimeKplMarketData.get_jx_block_in_money(b),
                                              in_blocks.index(b) if b in in_blocks else -1) for b in buy_blocks]
                    if result_by_volume[0] != radical_buy_strategy.BUY_MODE_NONE:
                        if tool.get_now_time_as_int() < 93200:
                            radical_buy_data_manager.ExcludeIndexComputeCodesManager.add_code(code)
                            async_log_util.info(logger_l2_radical_buy,
                                                f"09:32之前不交易:{code}")
                            return True
                        # 判断是否开得太高
                        open_price = L1DataManager.get_open_price(code)
                        if not radical_buy_strategy.is_can_buy_with_open_price(code, open_price):
                            async_log_util.info(logger_l2_radical_buy,
                                                f"开得太高:{code}")
                            radical_buy_data_manager.ExcludeIndexComputeCodesManager.add_code(code)
                            return True
                        if not GreenListCodeManager().is_in_cache(code):
                            # 加绿的不需要判断如下问题
                            if tool.get_now_time_as_int() < 93200:
                                radical_buy_data_manager.ExcludeIndexComputeCodesManager.add_code(code)
                                async_log_util.info(logger_l2_radical_buy,
                                                    f"09:32之前不交易:{code}")
                                return True
                            # 判断是否开得太高
                            open_price = L1DataManager.get_open_price(code)
                            if not radical_buy_strategy.is_can_buy_with_open_price(code, open_price):
                                async_log_util.info(logger_l2_radical_buy,
                                                    f"开得太高:{code}")
                                radical_buy_data_manager.ExcludeIndexComputeCodesManager.add_code(code)
                                return True
                        radical_buy_data_manager.ExcludeIndexComputeCodesManager.remove_code(code)
                        if result_by_volume[0] == radical_buy_strategy.BUY_MODE_DIRECT and not tool.is_sh_code(code):