cancel_strategy/s_l_h_cancel_strategy.py | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
constant.py | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
servers/huaxin_trade_server.py | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
trade/current_price_process_manager.py | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
cancel_strategy/s_l_h_cancel_strategy.py
@@ -1039,7 +1039,7 @@ # 统计净涨停买的数量 not_cancel_indexes_with_num = [] re_start_index = start_index MAX_COUNT = 5 MAX_COUNT = 15 for j in range(start_index, end_index): data = total_datas[j] val = data['val'] @@ -1064,16 +1064,14 @@ min_num = 0 if not_cancel_indexes_with_num: temp_count = len(not_cancel_indexes_with_num) # 取后1/5的数据 # 取后1/2的数据 if temp_count >= 30: temp_index = int(temp_count * 4 / 5) if tool.is_sh_code(code): # 上证取后3/10 temp_index = int(temp_count * 7 / 10) temp_index = int(temp_count * 1 / 2) re_start_index = not_cancel_indexes_with_num[temp_index][0] MAX_COUNT = len(not_cancel_indexes_with_num[temp_index:]) MAX_COUNT = min(100, len(not_cancel_indexes_with_num[temp_index:])) else: not_cancel_indexes_with_num.sort(key=lambda x: x[1]) if temp_count >= 10: if temp_count >= 30: # 获取中位数 min_num = not_cancel_indexes_with_num[temp_count // 2][1] MIN_MONEYS = [300, 200, 100] constant.py
@@ -97,7 +97,7 @@ J_CANCEL_RATE_WITH_MUST_BUY = 0.9 # L2监控的最低金额 L2_MIN_MONEY = 500000 L2_MIN_MONEY = 1000000 # 每个L2设备的代码数量 L2_CODE_COUNT_PER_DEVICE = 6 servers/huaxin_trade_server.py
@@ -1017,7 +1017,7 @@ if not limit_up_price: init_data_util.re_set_price_pre(code) limit_up_price = gpcode_manager.get_limit_up_price_as_num(code) min_volume = int(round(50 * 10000 / limit_up_price)) min_volume = int(round(constant.L2_MIN_MONEY / limit_up_price)) special_volumes = BuyMoneyUtil.get_possible_buy_volumes(limit_up_price) special_volumes |= set([tool.get_buy_volume_by_money(limit_up_price, x) for x in constant.AVAILABLE_BUY_MONEYS]) trade/current_price_process_manager.py
@@ -23,7 +23,6 @@ from trade.trade_data_manager import CodeActualPriceProcessor, RadicalBuyDealCodesManager import concurrent.futures __actualPriceProcessor = CodeActualPriceProcessor() __pre_big_order_deal_thread_pool = concurrent.futures.ThreadPoolExecutor(max_workers=10) @@ -252,7 +251,8 @@ dif2 = add_code_set - latest_add_codes if dif2: # 新增加的订阅需要拉取之前的大单 __pre_big_order_deal_thread_pool.submit(radical_buy_data_manager.pull_pre_deal_big_orders_by_codes, dif2) __pre_big_order_deal_thread_pool.submit(radical_buy_data_manager.pull_pre_deal_big_orders_by_codes, dif2) if True: async_log_util.info(logger_l2_codes_subscript, f"({request_id})预处理新增订阅代码:{dif2}") @@ -260,7 +260,7 @@ add_datas = [] for d in add_code_list: limit_up_price = gpcode_manager.get_limit_up_price_as_num(d) min_volume = int(round(50 * 10000 / limit_up_price)) min_volume = int(round(constant.L2_MIN_MONEY / limit_up_price)) # 需要订阅的特殊的量 special_volumes = BuyMoneyUtil.get_possible_buy_volumes(limit_up_price) special_volumes |= set([tool.get_buy_volume_by_money(limit_up_price, x) for x in