From b696ad64d69705c03d43406f1d1d2010b16923bb Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期一, 25 九月 2023 11:11:36 +0800 Subject: [PATCH] 首次下单机制修改/华鑫撤单撤2次 --- l2/l2_data_manager_new.py | 22 +++++++++++++++++++--- 1 files changed, 19 insertions(+), 3 deletions(-) diff --git a/l2/l2_data_manager_new.py b/l2/l2_data_manager_new.py index 3271c09..a2d09d4 100644 --- a/l2/l2_data_manager_new.py +++ b/l2/l2_data_manager_new.py @@ -758,14 +758,30 @@ return False, True, f"鑲′环澶т簬{constant.MAX_CODE_PRICE}鍧�" if constant.L2_SOURCE_TYPE == constant.L2_SOURCE_TYPE_HUAXIN: + total_data = local_today_datas.get(code) trade_price = current_price_process_manager.get_trade_price(code) if trade_price is None: return False, True, f"灏氭湭鑾峰彇鍒板綋鍓嶆垚浜や环" if float(limit_up_price) - float(trade_price) > 0.00001: - return False, False, f"褰撳墠鎴愪氦浠凤紙{trade_price}锛夊皻鏈湪0妗e強浠ュ唴" - + # 璁$畻淇″彿璧峰浣嶇疆鍒板綋鍓嶇殑鎵嬫暟 + buy_single_index, buy_exec_index, buy_compute_index, num, count, max_num_set, buy_volume_rate = cls.__get_order_begin_pos(code) + num_operate_map = local_today_num_operate_map.get(code) + total_num = 0 + for i in range(buy_single_index, total_data[-1]["index"] + 1): + data = total_data[i] + val = data["val"] + if not L2DataUtil.is_limit_up_price_buy(val): + continue + left_count = l2_data_source_util.L2DataSourceUtils.get_limit_up_buy_no_canceled_count(code, + data["index"], + total_data, + num_operate_map) + total_num += left_count * val["num"] + m_base_val = l2_trade_factor.L2PlaceOrderParamsManager.get_base_m_val(code) + thresh_hold_num = m_base_val//(float(gpcode_manager.get_limit_up_price(code))*100) + if total_num < thresh_hold_num * 2: + return False, False, f"褰撳墠鎴愪氦浠凤紙{trade_price}锛夊皻鏈湪0妗e強浠ュ唴 涓� 绾拱棰�({total_num})灏忎簬2鍊峂鍊�({thresh_hold_num*2})" # 鍒ゆ柇鎴愪氦杩涘害鏄惁璺濈鎴戜滑鐨勪綅缃緢杩� - total_data = local_today_datas.get(code) trade_index, is_default = cls.__TradeBuyQueue.get_traded_index(code) if False and not is_default and trade_index: not_cancel_num = 0 -- Gitblit v1.8.0