Administrator
2024-11-28 23361ac1cacec70b840f497cc35d2f7a5de66387
servers/huaxin_trade_server.py
@@ -52,7 +52,7 @@
from trade.huaxin.huaxin_trade_record_manager import DelegateRecordManager
from trade.order_statistic import DealAndDelegateWithBuyModeDataManager
from trade.buy_radical.radical_buy_data_manager import RadicalBuyDataManager, RadicalBuyBlockManager, \
    EveryLimitupBigDealOrderManager
    EveryLimitupBigDealOrderManager, RadicalCodeMarketInfoManager
from trade.sell.sell_rule_manager import TradeRuleManager
from trade.trade_data_manager import RadicalBuyDealCodesManager
from trade.trade_manager import CodesTradeStateManager
@@ -251,7 +251,8 @@
                        CodesNameManager().add_code_names(code_name_map)
                        # 更新辨识度代码
                        threading.Thread(target= block_special_codes_manager.update_block_special_codes, daemon=True).start()
                        threading.Thread(target=block_special_codes_manager.update_block_special_codes,
                                         daemon=True).start()
                        sk.sendall(
                            socket_util.load_header(json.dumps({"code": 0, "data": fdatas}).encode(encoding='utf-8')))
@@ -474,6 +475,15 @@
        L2MarketSellManager().set_current_total_sell_data(code, time_str,
                                                          data["totalAskVolume"] * data["avgAskPrice"],
                                                          data["totalAskVolume"], sell_1_info, data.get("sell"))
        # 设置扫入数据
        sell_2_info = data["sell"][1] if data.get("sell") and len(data.get("sell")) > 1 else None
        RadicalCodeMarketInfoManager().set_market_info(code, time_str, limit_up_price, data["buy"][0], sell_2_info)
        # 判断是否下单
        state = CodesTradeStateManager().get_trade_state_cache(code)
        if not trade_util.is_can_order_by_state(state):
            # 不处于可下单状态
            RadicalBuyDataManager().market_info_change(code)
    @classmethod
    def trading_order_canceled(cls, code, order_no):
@@ -788,6 +798,11 @@
                                                    f"开得太高:{code}")
                                radical_buy_data_manager.ExcludeIndexComputeCodesManager.add_code(code)
                                return True
                            if not RadicalCodeMarketInfoManager().is_opened_limit_up(code):
                                async_log_util.info(logger_l2_radical_buy,
                                                    f"没有炸过板:{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):
@@ -818,7 +833,7 @@
                            if buy_result:
                                # 下单成功
                                radical_buy_data_manager.BlockPlaceOrderRecordManager().add_record(code, buy_blocks)
                                radical_buy_strategy.clear_latest_deal_active_buy_order(code)
                                radical_buy_strategy.clear_data(code)
                                RDCancelBigNumComputer().clear_data(code)
                            return True
                        else:
@@ -849,8 +864,6 @@
        if can_clear_before_data:
            # 清除
            EveryLimitupBigDealOrderManager.clear(code)
# 回调
@@ -914,7 +927,7 @@
def __init():
    def run_pending():
        schedule.every().day.at("15:10:00").do(zyltgb_util.update_all_zylt_volumes)
        schedule.every().day.at("01:01:00").do(__test_pre_place_order)
        schedule.every().day.at("01:01:30").do(__test_pre_place_order)
        schedule.every().day.at("09:10:00").do(__subscript_fixed_codes_l2)
        schedule.every().day.at("08:00:01").do(history_k_data_manager.update_history_k_bars)
        schedule.every().day.at("08:30:01").do(history_k_data_manager.update_history_k_bars)