| | |
| | | # 判断影子订单位置 |
| | | if val["num"] != huaxin_client_constant.SHADOW_ORDER_VOLUME // 100: |
| | | continue |
| | | if abs(shadow_price - float(val["price"])) >= 0.01: |
| | | if abs(shadow_price - float(val["price"])) >= 0.001: |
| | | continue |
| | | if not L2DataUtil.is_buy_cancel(val): |
| | | continue |
| | |
| | | # 判断影子订单位置 |
| | | if val["num"] != huaxin_client_constant.SHADOW_ORDER_VOLUME // 100: |
| | | continue |
| | | if abs(shadow_price - float(val["price"])) >= 0.01: |
| | | if abs(shadow_price - float(val["price"])) >= 0.001: |
| | | continue |
| | | if d["index"] <= exec_data["index"]: |
| | | continue |
| | |
| | | d = total_datas[i] |
| | | if d["val"]["num"] != volume // 100: |
| | | continue |
| | | if abs(float(price) - float(d["val"]["price"])) >= 0.01: |
| | | if abs(float(price) - float(d["val"]["price"])) >= 0.001: |
| | | continue |
| | | # 必须是买入 |
| | | if not L2DataUtil.is_limit_up_price_buy(d["val"]): |
| | |
| | | d = total_datas[i] |
| | | if d["val"]["num"] != volume // 100: |
| | | continue |
| | | if abs(float(price) - float(d["val"]["price"])) >= 0.01: |
| | | if abs(float(price) - float(d["val"]["price"])) >= 0.001: |
| | | continue |
| | | # 必须是买入 |
| | | if not L2DataUtil.is_limit_up_price_buy(d["val"]): |
| | |
| | | if not real_place_index: |
| | | real_place_index_info = shadow_place_order_index, RELIABILITY_TYPE_VIRTUAL |
| | | else: |
| | | # TODO 需要矫正是否撤单 |
| | | real_place_index_info = real_place_index, RELIABILITY_TYPE_REAL |
| | | elif tool.trade_time_sub(datas[-1]['val']['time'], exec_data['val']['time']) >= estimate_time_space and time.time() - order_time >5: |
| | | # 下单超过2s且绝对时间超过5S以上才会估算真实下单位置 |
| | |
| | | if real_place_index_info: |
| | | # 获取到了下单位置 |
| | | async_log_util.info(hx_logger_trade_debug, f"真实下单位置:{code}-{real_place_index_info}") |
| | | async_log_util.info(logger_real_place_order_position, f"真实下单位置:{code}-{real_place_index_info}") |
| | | async_log_util.info(logger_real_place_order_position, f"真实下单位置:{code}-{real_place_index_info}-{shadow_place_order_index}") |
| | | if code in _place_order_info_dict: |
| | | _place_order_info_dict.pop(code) |
| | | __place_order_position[code] = real_place_index_info[0] |
| | |
| | | continue |
| | | if val["num"] != huaxin_client_constant.SHADOW_ORDER_VOLUME // 100: |
| | | continue |
| | | if abs(shadow_price - float(val["price"])) >= 0.01: |
| | | if abs(shadow_price - float(val["price"])) >= 0.001: |
| | | continue |
| | | shadow_order_indexes.append(i) |
| | | async_log_util.info(logger_debug, f"下单位矫正# {code}获取到影子单索引:{shadow_order_indexes}") |