| | |
| | | # 虚拟买成功 |
| | | import logging |
| | | |
| | | import dask |
| | | |
| | | from l2 import l2_data_manager |
| | | from l2.cancel_buy_strategy import HourCancelBigNumComputer, SecondCancelBigNumComputer, L2LimitUpSellStatisticUtil |
| | | from l2.l2_data_util import local_today_datas, local_today_num_operate_map |
| | |
| | | |
| | | # 虚拟撤成功 |
| | | def virtual_cancel_success(code, buy_single_index, buy_exec_index, total_datas): |
| | | l2_data_manager.TradePointManager.delete_buy_point(code) |
| | | l2_data_manager.TradePointManager.delete_buy_cancel_point(code) |
| | | l2_data_manager.TradePointManager.delete_compute_info_for_cancel_buy(code) |
| | | l2_data_manager.TradePointManager.delete_count_info_for_cancel_buy(code) |
| | | f1 = dask.delayed(l2_data_manager.TradePointManager.delete_buy_point)(code) |
| | | f2 = dask.delayed(l2_data_manager.TradePointManager.delete_buy_cancel_point)(code) |
| | | f3 = dask.delayed(l2_data_manager.TradePointManager.delete_compute_info_for_cancel_buy)(code) |
| | | f4 = dask.delayed(l2_data_manager.TradePointManager.delete_count_info_for_cancel_buy)(code) |
| | | # 安全笔数计算 |
| | | __buyL2SafeCountManager.save_place_order_info(code, buy_single_index, buy_exec_index, total_datas[-1]["index"]) |
| | | SecondCancelBigNumComputer.cancel_success(code) |
| | | f5 = dask.delayed(__buyL2SafeCountManager.save_place_order_info)(code, buy_single_index, buy_exec_index, |
| | | total_datas[-1]["index"]) |
| | | f6 = dask.delayed(SecondCancelBigNumComputer.cancel_success)(code) |
| | | dask.compute(f1, f2, f3, f4, f5, f6) |
| | | |
| | | |
| | | # 真实买成功 |
| | | def real_buy_success(code): |
| | | # 下单成功,需要删除最大买1 |
| | | __thsBuy1VolumnManager.clear_max_buy1_volume(code) |
| | | # 获取买入位置信息 |
| | | try: |
| | | buy_single_index, buy_exec_index, buy_compute_index, num, count, max_num_set = l2_data_manager.TradePointManager.get_buy_compute_start_data( |
| | | code) |
| | | __buyL2SafeCountManager.save_place_order_info(code, buy_single_index, buy_exec_index, None) |
| | | HourCancelBigNumComputer.place_order_success(code, buy_single_index, buy_exec_index, |
| | | local_today_datas.get(code), |
| | | local_today_num_operate_map.get(code)) |
| | | except Exception as e: |
| | | logging.exception(e) |
| | | logger_l2_error.exception(e) |
| | | @dask.delayed |
| | | def clear_max_buy1_volume(code): |
| | | # 下单成功,需要删除最大买1 |
| | | __thsBuy1VolumnManager.clear_max_buy1_volume(code) |
| | | |
| | | @dask.delayed |
| | | def safe_count(code, buy_single_index, buy_exec_index): |
| | | try: |
| | | __buyL2SafeCountManager.save_place_order_info(code, buy_single_index, buy_exec_index, None) |
| | | except Exception as e: |
| | | logging.exception(e) |
| | | logger_l2_error.exception(e) |
| | | |
| | | @dask.delayed |
| | | def h_cancel(code, buy_single_index, buy_exec_index): |
| | | try: |
| | | HourCancelBigNumComputer.place_order_success(code, buy_single_index, buy_exec_index, |
| | | local_today_datas.get(code), |
| | | local_today_num_operate_map.get(code)) |
| | | except Exception as e: |
| | | logging.exception(e) |
| | | logger_l2_error.exception(e) |
| | | |
| | | buy_single_index, buy_exec_index, buy_compute_index, num, count, max_num_set = l2_data_manager.TradePointManager.get_buy_compute_start_data( |
| | | code) |
| | | |
| | | f1 = clear_max_buy1_volume(code) |
| | | f2 = safe_count(code, buy_single_index, buy_exec_index) |
| | | f3 = h_cancel(code, buy_single_index, buy_exec_index) |
| | | dask.compute(f1, f2, f3) |
| | | l2_data_manager.TradePointManager.delete_buy_cancel_point(code) |
| | | |
| | | |
| | | # 真实撤成功 |
| | | def real_cancel_success(code, buy_single_index, buy_exec_index, total_datas): |
| | | # 安全笔数计算 |
| | | __buyL2SafeCountManager.save_place_order_info(code, buy_single_index, buy_exec_index, total_datas[-1]["index"]) |
| | | f1 = dask.delayed(__buyL2SafeCountManager.save_place_order_info)(code, buy_single_index, buy_exec_index, |
| | | total_datas[-1]["index"]) |
| | | # 取消买入标识 |
| | | l2_data_manager.TradePointManager.delete_buy_point(code) |
| | | l2_data_manager.TradePointManager.delete_buy_cancel_point(code) |
| | | l2_data_manager.TradePointManager.delete_compute_info_for_cancel_buy(code) |
| | | l2_data_manager.TradePointManager.delete_count_info_for_cancel_buy(code) |
| | | |
| | | SecondCancelBigNumComputer.cancel_success(code) |
| | | f2 = dask.delayed(l2_data_manager.TradePointManager.delete_buy_point)(code) |
| | | f3 = dask.delayed(l2_data_manager.TradePointManager.delete_buy_cancel_point)(code) |
| | | f4 = dask.delayed(l2_data_manager.TradePointManager.delete_compute_info_for_cancel_buy)(code) |
| | | f5 = dask.delayed(l2_data_manager.TradePointManager.delete_count_info_for_cancel_buy)(code) |
| | | f6 = dask.delayed(SecondCancelBigNumComputer.cancel_success)(code) |
| | | dask.compute(f1, f2, f3, f4, f5, f6) |