| | |
| | | # 判断是否为板上放量: |
| | | # 1.当前成交价为涨停价 |
| | | # 2.总卖额为0 |
| | | if abs(float(limit_up_price) - float(trade_price)) < 0.001: |
| | | if abs(limit_up_price - float(trade_price)) < 0.001: |
| | | # 获取最近的非涨停价成交时间 |
| | | not_limit_up_info = current_price_process_manager.get_trade_not_limit_up_info(code) |
| | | if not not_limit_up_info or tool.trade_time_sub(total_data[-1]['val']['time'], |
| | |
| | | if deal_list: |
| | | total_deal_volume = sum([x[1] for x in deal_list]) |
| | | total_deal_money = int(total_deal_volume * float(limit_up_price)) |
| | | if total_deal_money < 200000: |
| | | return False, True, f"板上放量成交金额不足,近2s总成交金额:{total_deal_money}小于20w" |
| | | # 获取买1的封单额 |
| | | buy1_money = code_price_manager.Buy1PriceManager().get_latest_buy1_money(code) |
| | | buy1_price = code_price_manager.Buy1PriceManager().get_buy1_price(code) |
| | | if buy1_price and abs(limit_up_price - buy1_price) > 0.0001: |
| | | # 买1未涨停 |
| | | buy1_money = 0 |
| | | |
| | | if not buy1_money: |
| | | buy1_money = 1 |
| | | deal_rate = round(total_deal_money / buy1_money, 2) |
| | | if deal_rate < 0.05: |
| | | return False, True, f"板上放量成交金额不足,近2s总成交比例({deal_rate}):{total_deal_money}/{buy1_money}小于0.05" |
| | | # 判断成交进度是否距离我们的位置很近 |
| | | trade_index, is_default = cls.__TradeBuyQueue.get_traded_index(code) |
| | | if False and not is_default and trade_index: |
| | |
| | | # 9:31之前下单,安全笔数最小为5笔 |
| | | if int(tool.get_now_time_str().replace(":", "")) < int("093100"): |
| | | safe_count = max(safe_count, 5) |
| | | # 深证的票,第一次下单必须要有3笔安全笔数 |
| | | if tool.is_sz_code(code): |
| | | place_order_count = trade_data_manager.PlaceOrderCountManager().get_place_order_count(code) |
| | | if place_order_count == 0: |
| | | safe_count = max(safe_count, 3) |
| | | |
| | | if buy_count < safe_count: |
| | | not_buy_msg = f"【{i}】安全笔数不足,{buy_count}/{safe_count}" |