# 虚拟买成功
|
import logging
|
|
from l2 import l2_data_manager
|
from l2.cancel_buy_strategy import HourCancelBigNumComputer, SecondCancelBigNumComputer , \
|
LCancelBigNumComputer, DCancelBigNumComputer
|
from l2.l2_data_util import local_today_datas, local_today_num_operate_map
|
from l2.safe_count_manager import BuyL2SafeCountManager
|
from log_module.log import logger_l2_error
|
from trade.trade_queue_manager import THSBuy1VolumnManager
|
|
__thsBuy1VolumnManager = THSBuy1VolumnManager()
|
__buyL2SafeCountManager = BuyL2SafeCountManager()
|
|
|
def virtual_buy_success(code):
|
# 已经不需要了,暂时注释掉
|
# 增加下单计算
|
# trade_data_manager.PlaceOrderCountManager().place_order(code)
|
# 删除之前的板上卖信息
|
# L2LimitUpSellStatisticUtil().delete(code)
|
pass
|
|
|
# 虚拟撤成功
|
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)
|
# 安全笔数计算
|
__buyL2SafeCountManager.save_place_order_info(code, buy_single_index, buy_exec_index,
|
total_datas[-1]["index"])
|
SecondCancelBigNumComputer().cancel_success(code)
|
DCancelBigNumComputer().cancel_success(code)
|
LCancelBigNumComputer().cancel_success(code)
|
# dask.compute(f1, f2, f5, f6, f7, f8)
|
|
|
# 真实买成功
|
def real_buy_success(code, tradePointManager):
|
# @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)
|
|
# @dask.delayed
|
def l_cancel(code):
|
try:
|
LCancelBigNumComputer().del_watch_index(code)
|
except Exception as e:
|
logging.exception(e)
|
logger_l2_error.exception(e)
|
|
def s_cancel(code):
|
try:
|
SecondCancelBigNumComputer().place_order_success(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, volume_rate = tradePointManager.get_buy_compute_start_data_cache(
|
code)
|
|
clear_max_buy1_volume(code)
|
safe_count(code, buy_single_index, buy_exec_index)
|
s_cancel(code)
|
# H撤暂时不生效
|
# h_cancel(code, buy_single_index, buy_exec_index)
|
l_cancel(code)
|
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"])
|
# 取消买入标识
|
l2_data_manager.TradePointManager().delete_buy_point(code)
|
l2_data_manager.TradePointManager().delete_buy_cancel_point(code)
|
SecondCancelBigNumComputer().cancel_success(code)
|
DCancelBigNumComputer().cancel_success(code)
|
LCancelBigNumComputer().cancel_success(code)
|
|
|
if __name__ == "__main__":
|
pass
|