Administrator
2024-09-19 69c26b43a88ced7a18a637ea6dd120671382deb0
servers/huaxin_trade_server.py
@@ -495,7 +495,7 @@
        sell_1_info = data["sell"][0] if data.get("sell") else None
        L2MarketSellManager().set_current_total_sell_data(code, time_str,
                                                          data["totalAskVolume"] * data["avgAskPrice"],
                                                          data["totalAskVolume"], sell_1_info)
                                                          data["totalAskVolume"], sell_1_info, data.get("sell"))
    @classmethod
    def trading_order_canceled(cls, code, order_no):
@@ -832,19 +832,27 @@
                    if refer_sell_data:
                        # 如果总卖额大于500w,成交到一半就直接扫
                        if refer_sell_data[1] >= 500 * 1e4:
                            THRESH_HOLD_VOLUME = refer_sell_data[2]
                            if refer_sell_data[4] and len(refer_sell_data[4]) < 10:
                                # 小于10挡,最后一档才是涨停价
                                if refer_sell_data[4][-1][1] > 0:
                                    THRESH_HOLD_VOLUME = refer_sell_data[4][-1][1]
                            refer_sell_time = refer_sell_data[0]
                            # 获取最近的主动买成交量
                            deal_infos = HuaXinSellOrderStatisticManager.get_latest_6s_active_buy_deal_volumes(code)
                            async_log_util.info(logger_l2_radical_buy, f"最近主动买成交:{code}-{deal_infos}")
                            limit_up_deal_infos = HuaXinSellOrderStatisticManager.get_latest_6s_active_buy_deal_volumes(
                                code)
                            async_log_util.info(logger_l2_radical_buy, f"最近涨停主动买成交:{code}-{limit_up_deal_infos}")
                            # 总卖额要大于100w
                            deal_volume = 0
                            for i in range(0, len(deal_infos)):
                            for i in range(0, len(limit_up_deal_infos)):
                                # >=统计到的总卖
                                if int(refer_sell_time.replace(":", "")) > int(deal_infos[i][0].replace(":", "")):
                                if int(refer_sell_time.replace(":", "")) > int(
                                        limit_up_deal_infos[i][0].replace(":", "")):
                                    break
                                deal_volume += deal_infos[i][1]
                            async_log_util.info(logger_l2_radical_buy, f"成交量:{deal_volume}/{refer_sell_data[2]}")
                            deal_rate = round(deal_volume / refer_sell_data[2], 2)
                                deal_volume += limit_up_deal_infos[i][1]
                            async_log_util.info(logger_l2_radical_buy, f"成交量:{deal_volume}/{THRESH_HOLD_VOLUME}")
                            deal_rate = round(deal_volume / THRESH_HOLD_VOLUME, 2)
                            if deal_rate > 0.5:
                                # 判断参考时间之后是否有大单成交
                                # big_deal_money_list = BigOrderDealManager().get_total_buy_money_list(code)