| | |
| | | threash_money_w, threash_money_danger_w = self.__get_fast_threshold_value(code) |
| | | total_fast_num = 0 |
| | | try: |
| | | # 15分钟内真实成交位距离真实下单位,金额≤800万 ,大单阈值变为200w |
| | | |
| | | trade_index, is_default = TradeBuyQueue().get_traded_index(code) |
| | | if trade_index is None: |
| | | trade_index = 0 |
| | |
| | | fdeal = big_sell_order_info[1][0][3] |
| | | start_order_no = fdeal[1] |
| | | sell_time_str = l2_huaxin_util.convert_time(fdeal[0], with_ms=False) |
| | | if tool.trade_time_sub(sell_time_str, total_datas[real_order_index]['val']['time']) < 15 * 60: |
| | | total_num = 0 |
| | | # 获取正在成交的数据 |
| | | dealing_info = HuaXinBuyOrderManager.get_dealing_order_info(code) |
| | | for i in range(trade_index, real_order_index): |
| | | data = total_datas[i] |
| | | val = data['val'] |
| | | if int(val['orderNo']) < start_order_no: |
| | | continue |
| | | if i == trade_index and dealing_info and str( |
| | | total_datas[trade_index]["val"]["orderNo"]) == str( |
| | | dealing_info[0]): |
| | | # 减去当前正在成交的数据中已经成交了的数据 |
| | | total_num -= dealing_info[1] // 100 |
| | | left_count = l2_data_source_util.L2DataSourceUtils.get_limit_up_buy_no_canceled_count_v2( |
| | | code, |
| | | i, |
| | | total_datas, |
| | | local_today_canceled_buyno_map.get( |
| | | code)) |
| | | if left_count > 0: |
| | | total_num += val["num"] |
| | | total_fast_num += val['num'] |
| | | if total_num * float(limit_up_price) < 800 * 100: |
| | | threash_money_w = threash_money_danger_w |
| | | |
| | | total_num = 0 |
| | | # 获取正在成交的数据 |
| | | # 计算成交进度到真实下单位的纯买额 |
| | | dealing_info = HuaXinBuyOrderManager.get_dealing_order_info(code) |
| | | for i in range(trade_index, real_order_index): |
| | | data = total_datas[i] |
| | | val = data['val'] |
| | | if int(val['orderNo']) < start_order_no: |
| | | continue |
| | | if i == trade_index and dealing_info and str( |
| | | total_datas[trade_index]["val"]["orderNo"]) == str( |
| | | dealing_info[0]): |
| | | # 减去当前正在成交的数据中已经成交了的数据 |
| | | total_num -= dealing_info[1] // 100 |
| | | total_fast_num-=dealing_info[1] // 100 |
| | | left_count = l2_data_source_util.L2DataSourceUtils.get_limit_up_buy_no_canceled_count_v2( |
| | | code, |
| | | i, |
| | | total_datas, |
| | | local_today_canceled_buyno_map.get( |
| | | code)) |
| | | if left_count > 0: |
| | | total_num += val["num"] |
| | | total_fast_num += val['num'] |
| | | if total_num * float(limit_up_price) < 800 * 100 and tool.trade_time_sub(sell_time_str, total_datas[real_order_index]['val']['time']) < 15 * 60: |
| | | # 15分钟内真实成交位距离真实下单位,金额≤800万 ,大单阈值变为200w |
| | | threash_money_w = threash_money_danger_w |
| | | except Exception as e: |
| | | l2_log.s_cancel_debug(code, f"S撤激进下单计算大单卖阈值出错:{str(e)}") |
| | | total_fast_money = int(total_fast_num * 100 * float(limit_up_price)) |