| | |
| | | l2_log.debug(code, "执行买入成功") |
| | | ################下单成功处理################ |
| | | trade_result_manager.real_buy_success(code, cls.__TradePointManager) |
| | | cancel_buy_strategy.set_real_place_position(code, local_today_datas.get(code)[-1]["index"], |
| | | buy_single_index) |
| | | l2_log.debug(code, "处理买入成功") |
| | | params_desc = cls.__l2PlaceOrderParamsManagerDict[code].get_buy_rank_desc() |
| | | l2_log.debug(code, params_desc) |
| | |
| | | total_data = local_today_datas.get(code) |
| | | trade_index, is_default = cls.__TradeBuyQueue.get_traded_index(code) |
| | | if not is_default and trade_index: |
| | | buy_index_set = set() |
| | | not_cancel_num = 0 |
| | | num_operate_map = local_today_num_operate_map.get(code) |
| | | for i in range(trade_index + 1, total_data[-1]["index"] + 1): |
| | | if L2DataUtil.is_limit_up_price_buy(total_data[i]["val"]): |
| | |
| | | total_data, |
| | | num_operate_map) |
| | | if left_count > 0: |
| | | buy_index_set.add(total_data[i]["index"]) |
| | | |
| | | if len(buy_index_set) < 5: |
| | | return False, False, f"成交位置距离当前位置小于5笔" |
| | | not_cancel_num += total_data[i]["val"]["num"] |
| | | m = cls.__get_threshmoney(code) |
| | | not_cancel_money = not_cancel_num * 100 * float(gpcode_manager.get_limit_up_price(code)) |
| | | if cls.__get_threshmoney(code) > not_cancel_money: |
| | | return False, False, f"成交位置距离当前位置纯买额({not_cancel_money})小于m值({m})" |
| | | else: |
| | | # 判断买1价格档位 |
| | | zyltgb = global_util.zyltgb_map.get(code) |
| | |
| | | |
| | | @classmethod |
| | | def __get_threshmoney(cls, code): |
| | | return cls.__l2PlaceOrderParamsManagerDict[code].get_m_val() |
| | | m = cls.__l2PlaceOrderParamsManagerDict[code].get_m_val() |
| | | if trade_manager.CodesTradeStateManager().get_trade_state_cache(code) == trade_manager.TRADE_STATE_NOT_TRADE: |
| | | # 首次下单m值扩大1.5倍 |
| | | m = int(m * 1.5) |
| | | return m |
| | | |
| | | # 计算万手哥笔数 |
| | | @classmethod |