Administrator
8 小时以前 ad615df734b4d82f9a83a7d1805ac9fabdf01a53
api/outside_api_command_callback.py
@@ -20,7 +20,7 @@
from code_attribute.code_data_util import ZYLTGBUtil
from code_attribute.code_l1_data_manager import L1DataManager
from code_attribute.gpcode_manager import CodePrePriceManager, CodesNameManager, WantBuyCodesManager, \
    HumanRemoveForbiddenManager, HumanForbiddenManager
    HumanRemoveForbiddenManager, HumanForbiddenManager, CodesContinueBuyMoneyManager
from db import mysql_data_delegate as mysql_data, redis_manager_delegate as redis_manager
from db.redis_manager_delegate import RedisUtils
from huaxin_client import l1_subscript_codes_manager
@@ -60,7 +60,7 @@
from trade.sell import sell_manager
from trade.sell.sell_rule_manager import TradeRuleManager, SellRule
from trade.trade_data_manager import RadicalBuyDealCodesManager
from trade.trade_manager import TradeTargetCodeModeManager, AutoCancelSellModeManager, CodesContinueBuyMoneyManager, \
from trade.trade_manager import TradeTargetCodeModeManager, AutoCancelSellModeManager, \
    CodesTradeStateManager
from settings.trade_setting import MarketSituationManager, TradeBlockBuyModeManager
from utils import socket_util, data_export_util, tool, huaxin_util, output_util, global_util, init_data_util
@@ -320,11 +320,11 @@
            elif code_list_type == outside_api_command_manager.CODE_LIST_BLACK:
                if operate == outside_api_command_manager.OPERRATE_SET:
                    # 先手动撤单
                    try:
                        l2_data_manager_new.L2TradeDataProcessor.cancel_buy(code, "手动拉黑",
                                                                            cancel_type=trade_constant.CANCEL_TYPE_HUMAN)
                    except Exception as e:
                        logger_debug.exception(e)
                    # try:
                    #     l2_data_manager_new.L2TradeDataProcessor.cancel_buy(code, "手动拉黑",
                    #                                                         cancel_type=trade_constant.CANCEL_TYPE_HUMAN)
                    # except Exception as e:
                    #     logger_debug.exception(e)
                    l2_trade_util.forbidden_trade(code, msg="手动加入 trade_server", force=True)
                    WantBuyCodesManager().remove_code(code)
                    HumanRemoveForbiddenManager().remove_code(code)
@@ -806,7 +806,7 @@
            current_price = L1DataManager.get_l1_current_price(code)
            if current_price:
                fdata["cost_price"] = current_price
                pre_close_price = CodePrePriceManager.get_price_pre_cache(code)
                pre_close_price = CodePrePriceManager().get_price_pre_cache(code)
                if current_price and pre_close_price:
                    rate = round((float(current_price) - float(pre_close_price)) / float(pre_close_price), 4)
                    fdata["cost_price_rate"] = rate
@@ -1126,6 +1126,11 @@
                            l_down_cancel_rate, must_buy, cancel_rate_info = LCancelRateManager.get_cancel_rate(code,
                                                                                                                buy_mode=OrderBeginPosInfo.MODE_RADICAL)
                            # 计算大单成交
                            # (缺少的资金, 净成交金额, 要求的大单金额, 计算得到的大单阈值金额, 人为设置的大单)
                            deal_big_money_info = radical_buy_data_manager.get_total_deal_big_order_info(
                                code, gpcode_manager.get_limit_up_price_as_num(code))
                            fdata = {"id": orderSysID, "code_info": (code, code_name),
                                     "buy1_money": output_util.money_desc(buy1_money),
                                     "left_count": total_left_count,
@@ -1137,8 +1142,11 @@
                                     "block": '',
                                     "trade_queue": [],
                                     "l_down_cancel_rate": l_down_cancel_rate,
                                     "l_down_cancel_rate_info": cancel_rate_info,
                                     "l_down_cancel_rate_info": cancel_rate_info
                                     }
                            if deal_big_money_info:
                                fdata["deal_big_money_info"] = deal_big_money_info
                            limit_up_data = kpl_data_manager.KPLLimitUpDataRecordManager.record_code_dict.get(code)
                            # 获取当前板块
                            try:
@@ -1430,7 +1438,9 @@
                                    "special_codes_max_block_in_rank": constant.RADICAL_BUY_TOP_IN_INDEX_WITH_SPECIAL,
                                    "ignore_block_in_money_market_strong": constant.IGNORE_BLOCK_IN_MONEY_MARKET_STRONG,
                                    "buy_first_limit_up": 1 if constant.CAN_BUY_FIRST_LIMIT_UP else 0,
                                    "can_auto_add_white": 1 if constant.CAN_AUTO_ADD_WHITE else 0
                                    "can_auto_add_white": 1 if constant.CAN_AUTO_ADD_WHITE else 0,
                                    "can_auto_add_want_buy_codes": 1 if constant.CAN_AUTO_ADD_WANT_BUY_CODES else 0,
                                    "can_auto_l_down_rate_change": 1 if constant.CAN_AUTO_L_DOWN_RATE_CHANGE else 0
                                    }}
                self.send_response({"code": 0, "data": data, "msg": f""},
                                   client_id,
@@ -1457,6 +1467,15 @@
                    if radical_buy.get('can_auto_add_white') is not None:
                        constant.CAN_AUTO_ADD_WHITE = True if radical_buy.get(
                            'can_auto_add_white') else False
                    if radical_buy.get('can_auto_add_want_buy_codes') is not None:
                        constant.CAN_AUTO_ADD_WANT_BUY_CODES = True if radical_buy.get(
                            'can_auto_add_want_buy_codes') else False
                    if radical_buy.get('can_auto_l_down_rate_change') is not None:
                        constant.CAN_AUTO_L_DOWN_RATE_CHANGE = True if radical_buy.get(
                            'can_auto_l_down_rate_change') else False
                self.send_response({"code": 0, "data": {}, "msg": f""},
                                   client_id,
@@ -1562,8 +1581,16 @@
                # if rate < old_rate:
                # 改小才能重新囊括
                trade_record_log_util.add_common_msg(code, "L后重新囊括", msg=f"修改撤单比例: {old_rate}->{rate}")
                LCancelBigNumComputer().re_compute_l_down_watch_indexes(code, is_force=True)
                LCancelBigNumComputer().re_compute_l_down_watch_indexes(code, is_force=True, is_human=True)
                self.send_response({"code": 0, "data": {}},
                                   client_id,
                                   request_id)
            elif ctype == "remove_l_down_rate":
                # 删除L后撤单比例
                code = data.get("code")
                CancelRateHumanSettingManager().remove_l_down(code)
                trade_record_log_util.add_common_msg(code, "删除L后预设比例")
                self.send_response({"code": 0, "data": {}},
                                   client_id,
                                   request_id)
@@ -1607,7 +1634,7 @@
                    result = {"code": 1, "msg": "拉取K线失败"}
                else:
                    # 更新昨日收盘价数据
                    CodePrePriceManager.set_price_pre(code, volumes_data[0]['close'], force=True)
                    CodePrePriceManager().set_price_pre(code, volumes_data[0]['close'], force=True)
                    gpcode_manager.clear_limit_up_price_cache(code)
                    limit_up_price = gpcode_manager.get_limit_up_price_as_num(code)
                    # 更新K线特征数据