| | |
| | | # 虚拟买成功 |
| | | import logging |
| | | |
| | | from code_attribute.gpcode_manager import MustBuyCodesManager |
| | | from cancel_strategy.s_l_h_cancel_strategy import HourCancelBigNumComputer |
| | | from cancel_strategy.s_l_h_cancel_strategy import LCancelBigNumComputer |
| | | from cancel_strategy.s_l_h_cancel_strategy import SCancelBigNumComputer |
| | | from code_attribute.gpcode_manager import MustBuyCodesManager, GreenListCodeManager, WantBuyCodesManager, \ |
| | | WhiteListCodeManager |
| | | from l2 import l2_data_manager, place_order_single_data_manager |
| | | from l2.cancel_buy_strategy import HourCancelBigNumComputer, SCancelBigNumComputer, \ |
| | | LCancelBigNumComputer, DCancelBigNumComputer, GCancelBigNumComputer, FCancelBigNumComputer |
| | | from l2.cancel_buy_strategy import FCancelBigNumComputer, \ |
| | | NewGCancelBigNumComputer, JCancelBigNumComputer, NBCancelBigNumComputer |
| | | from l2.l2_data_manager import OrderBeginPosInfo |
| | | from l2.l2_data_util import local_today_datas, local_today_num_operate_map, L2DataUtil |
| | | from l2.l2_data_util import local_today_datas, L2DataUtil |
| | | from l2.l2_sell_manager import L2MarketSellManager |
| | | from log_module.log import logger_l2_error |
| | | from trade import trade_record_log_util |
| | | from trade.buy_radical.radical_buy_data_manager import RadicalBuyDataManager |
| | | from trade.trade_data_manager import PlaceOrderCountManager |
| | | from trade.trade_queue_manager import THSBuy1VolumnManager |
| | | from utils import tool |
| | | from utils import buy_condition_util |
| | | |
| | | __thsBuy1VolumnManager = THSBuy1VolumnManager() |
| | | |
| | |
| | | l2_data_manager.TradePointManager().delete_buy_point(code) |
| | | SCancelBigNumComputer().cancel_success(code) |
| | | LCancelBigNumComputer().cancel_success(code) |
| | | GCancelBigNumComputer().cancel_success(code) |
| | | NewGCancelBigNumComputer().cancel_success(code) |
| | | JCancelBigNumComputer().cancel_success(code) |
| | | NBCancelBigNumComputer().cancel_success(code) |
| | | # dask.compute(f1, f2, f5, f6, f7, f8) |
| | | |
| | | |
| | |
| | | |
| | | def g_cancel(code): |
| | | try: |
| | | GCancelBigNumComputer().place_order_success(code) |
| | | NewGCancelBigNumComputer().place_order_success(code) |
| | | except Exception as e: |
| | | logging.exception(e) |
| | | logger_l2_error.exception(e) |
| | |
| | | h_cancel(code, order_begin_pos.buy_single_index, order_begin_pos.buy_exec_index) |
| | | l_cancel(code) |
| | | g_cancel(code) |
| | | JCancelBigNumComputer().place_order_success(code) |
| | | NBCancelBigNumComputer().place_order_success(code) |
| | | if order_begin_pos.mode == OrderBeginPosInfo.MODE_FAST: |
| | | f_cancel(code) |
| | | # 记录卖盘统计时间被用 |
| | |
| | | # 下单成功 |
| | | PlaceOrderCountManager().place_order(code) |
| | | # 下单成功之后移除红名单 |
| | | MustBuyCodesManager().remove_code(code) |
| | | if not GreenListCodeManager().is_in_cache(code): |
| | | MustBuyCodesManager().remove_code(code) |
| | | |
| | | # 如果是绿名单,下单之后就加红 |
| | | # if GreenListCodeManager().is_in_cache(code): |
| | | # MustBuyCodesManager().add_code(code) |
| | | # trade_record_log_util.add_must_buy(code, "如果是绿名单,下单之后就加红") |
| | | |
| | | # 如果是扫入下单,下单之后就加红 |
| | | if order_begin_pos.mode == OrderBeginPosInfo.MODE_RADICAL: |
| | | # 移除人为移白 |
| | | WhiteListCodeManager().clear_huamn_info(code) |
| | | RadicalBuyDataManager.place_order_success(code) |
| | | |
| | | # 清除下单信号 |
| | | place_order_single_data_manager.L2TradeSingleDataManager.clear_data(code) |
| | | |
| | |
| | | SCancelBigNumComputer().cancel_success(code) |
| | | LCancelBigNumComputer().cancel_success(code) |
| | | FCancelBigNumComputer().cancel_success(code) |
| | | GCancelBigNumComputer().cancel_success(code) |
| | | NewGCancelBigNumComputer().cancel_success(code) |
| | | JCancelBigNumComputer().cancel_success(code) |
| | | NBCancelBigNumComputer().cancel_success(code) |
| | | # 记录最近的撤单时间 |
| | | if from_real_cancel: |
| | | __latest_cancel_l2_data_dict[code] = total_datas[-1] |
| | | |
| | | if from_real_cancel: |
| | | # 撤单成功需要移除红名单 |
| | | if GreenListCodeManager().is_in_cache(code): |
| | | GreenListCodeManager().remove_code(code) |
| | | if WantBuyCodesManager().is_in_cache(code): |
| | | WantBuyCodesManager().remove_code(code) |
| | | if MustBuyCodesManager().is_in_cache(code): |
| | | MustBuyCodesManager().remove_code(code) |
| | | |
| | | |
| | | # 根据撤单时间判断是否可以下单 |
| | | def can_place_order_for_cancel_time(code, buy_exec_data): |
| | | if code not in __latest_cancel_l2_data_dict: |
| | | return True |
| | | if L2DataUtil.time_sub_as_ms(buy_exec_data["val"], __latest_cancel_l2_data_dict[code]["val"]) >= 1000: |
| | | threshold_time_space = buy_condition_util.get_cancel_and_buy_space_time(code) |
| | | if L2DataUtil.time_sub_as_ms(buy_exec_data["val"], |
| | | __latest_cancel_l2_data_dict[code]["val"]) >= threshold_time_space: |
| | | return True |
| | | return False |
| | | |