Administrator
8 小时以前 8821049f3faee04e03f5535c6259d07bfb8b6433
trade/trade_record_log_util.py
@@ -4,11 +4,9 @@
# 下单信息
import json
import pickle
from log_module import async_log_util
from log_module.log import logger_trade_record
from third_data.code_plate_key_manager import KPLCodeJXBlockManager
TYPE_PLACE_ORDER = "place_order"  # 下单
TYPE_REAL_PLACE_ORDER_POSITION = "real_place_order_position"  # 真实下单位置
@@ -16,21 +14,38 @@
TYPE_FORBIDDEN_BUY = "forbidden_buy"  # 禁止买入
TYPE_CANT_PLACE_ORDER = "can_not_place_order"  # 不能下单
TYPE_CANCEL = "cancel"  # 撤单
TYPE_ACTION = "action"  # 针对代码的操作
class PlaceOrderInfo(object):
    def __init__(self, buy_single_index=None, buy_exec_index=None, m_val=None, safe_count=None, big_num_indexes=None,
                 kpl_blocks=None):
                 kpl_blocks=None, kpl_match_blocks=None, mode=None, mode_desc=None, sell_info=None,
                 block_info=None):
        self.buy_single_index = buy_single_index
        self.buy_exec_index = buy_exec_index
        self.m_val = m_val
        self.safe_count = safe_count
        self.big_num_indexes = big_num_indexes
        self.kpl_blocks = kpl_blocks
        self.kpl_match_blocks = kpl_match_blocks
        self.mode = mode
        self.mode_desc = mode_desc
        self.sell_info = sell_info
        self.block_info = block_info
    def set_block_info(self, block_info):
        """
        @param block_info:(板块,流入金额)
        @return:
        """
        self.block_info = block_info
    def set_buy_index(self, buy_single_index, buy_exec_index):
        self.buy_single_index = buy_single_index
        self.buy_exec_index = buy_exec_index
    def set_sell_info(self, sell_info):
        self.sell_info = sell_info
    def set_trade_factor(self, m_val, safe_count, big_num_indexes):
        self.m_val = m_val
@@ -39,6 +54,9 @@
    def set_kpl_blocks(self, kpl_blocks):
        self.kpl_blocks = kpl_blocks
    def set_kpl_match_blocks(self, kpl_blocks):
        self.kpl_match_blocks = kpl_blocks
    def to_json_str(self):
        return json.dumps(vars(self))
@@ -60,9 +78,10 @@
    CANCEL_TYPE_L_DOWN = "l_cancel_down"
    CANCEL_TYPE_D = "d_cancel"
    def __init__(self, cancel_type, watch_indexes: list):
    def __init__(self, cancel_type, buy_single_index, watch_indexes: list):
        self.cancel_type = cancel_type
        self.watch_indexes = watch_indexes
        self.buy_single_index = buy_single_index
    def to_json_str(self):
        return json.dumps(vars(self))
@@ -95,8 +114,14 @@
    __add_log(TYPE_FORBIDDEN_BUY, code, {"msg": msg})
__latest_cant_place_order_log_msg_dict = {}
# 不能买
def add_cant_place_order_log(code, msg):
    if __latest_cant_place_order_log_msg_dict.get(code) == msg:
        return
    __latest_cant_place_order_log_msg_dict[code] = msg
    __add_log(TYPE_CANT_PLACE_ORDER, code, {"msg": msg})
@@ -111,25 +136,49 @@
# 添加撤单信息
def add_cancel_msg_log(code, msg):
    __add_log(TYPE_CANCEL, code, {"msg": msg})
def add_cancel_msg_log(code, real_place_order_index, msg):
    __add_log(TYPE_CANCEL, code, {"msg": msg, "real_place_order_index": real_place_order_index})
# 加红信息
def add_must_buy(code, msg=""):
    __add_log(TYPE_ACTION, code, {"type": "加红", "msg": msg})
# 加绿
def add_green(code, msg=""):
    __add_log(TYPE_ACTION, code, {"type": "加绿", "msg": msg})
# 加白
def add_white_buy(code, msg=""):
    __add_log(TYPE_ACTION, code, {"type": "加白", "msg": msg})
# 加想
def add_want_buy(code, msg=""):
    __add_log(TYPE_ACTION, code, {"type": "加想", "msg": msg})
# 移想
def remove_want_buy(code, msg=""):
    __add_log(TYPE_ACTION, code, {"type": "移想", "msg": msg})
# 加临时辨识度票
def add_temp_special_codes(code, msg=""):
    __add_log(TYPE_ACTION, code, {"type": "新题材", "msg": msg})
# 加下单耗时
def add_place_order_use_time(code, msg):
    __add_log(TYPE_ACTION, code, {"type": "下单耗时", "msg": msg})
# 加白
def add_common_msg(code, type_, msg=""):
    __add_log(TYPE_ACTION, code, {"type": type_, "msg": msg})
if __name__ == "__main__":
    code = "000333"
    __trade_log_placr_order_info_dict = {code: PlaceOrderInfo()}
    try:
        jx_blocks, jx_blocks_by = KPLCodeJXBlockManager().get_jx_blocks_cache(
            code), KPLCodeJXBlockManager().get_jx_blocks_cache(code, by=True)
        info = __trade_log_placr_order_info_dict[code]
        info.set_buy_index(0, 1)
        if jx_blocks:
            info.set_kpl_blocks(list(jx_blocks))
        elif jx_blocks_by:
            info.set_kpl_blocks(list(jx_blocks_by))
        else:
            info.set_kpl_blocks([])
        add_place_order_log(code, info)
    except Exception as e:
        pass
    pass