Administrator
2024-04-15 9abf351f61061c26299d918fa419a223e4262de9
新版深证下单完善
2个文件已修改
23 ■■■■ 已修改文件
l2/l2_data_manager_new.py 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
trade/huaxin/huaxin_trade_server.py 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
l2/l2_data_manager_new.py
@@ -1570,6 +1570,10 @@
    def __save_order_begin_data(cls, code, info: OrderBeginPosInfo):
        cls.__TradePointManager.set_buy_compute_start_data_v2(code, info)
    @classmethod
    def save_order_begin_data(cls, code, info: OrderBeginPosInfo):
        cls.__save_order_begin_data(code,info)
    # 计算下单起始信号
    # compute_data_count 用于计算的l2数据数量
    @classmethod
trade/huaxin/huaxin_trade_server.py
@@ -36,7 +36,7 @@
from l2.code_price_manager import Buy1PriceManager
from l2.huaxin import huaxin_target_codes_manager
from l2.huaxin.huaxin_target_codes_manager import HuaXinL1TargetCodesManager
from l2.l2_data_manager import TradePointManager
from l2.l2_data_manager import TradePointManager, OrderBeginPosInfo
from l2.l2_data_util import L2DataUtil
from l2.l2_sell_manager import L2MarketSellManager
from l2.l2_transaction_data_manager import HuaXinBuyOrderManager
@@ -1710,7 +1710,7 @@
class MyL2TradeSingleCallback(L2TradeSingleCallback):
    def OnTradeSingle(self, code, _type, data):
        # 只处理深证的票
        if code.find("00")!=0:
        if code.find("00") != 0:
            return
        try:
            # 判断是否下单
@@ -1733,7 +1733,20 @@
                result = L2TradeSingleDataManager.is_can_place_order(code, d)
                if result and result[0]:
                    l2_log.info(code, logger_l2_trade_buy, f"触发下单:{result[1]}")
                    l2_data_manager_new.L2TradeDataProcessor.start_buy(code,total_datas[-1],total_datas[-1]["index"],True)
                    volume_rate_info = code_volumn_manager.get_volume_rate(code)
                    order_begin_pos = OrderBeginPosInfo(buy_single_index=i,
                                                        buy_exec_index=i,
                                                        buy_compute_index=i,
                                                        num=0, count=1,
                                                        max_num_set=set(),
                                                        buy_volume_rate=volume_rate_info[0],
                                                        mode=OrderBeginPosInfo.MODE_ACTIVE,
                                                        sell_info=None,
                                                        threshold_money=0)
                    l2_data_manager_new.L2TradeDataProcessor.save_order_begin_data(code, order_begin_pos)
                    l2_data_manager_new.L2TradeDataProcessor.start_buy(code, total_datas[-1], total_datas[-1]["index"],
                                                                       True)
                    break
        except Exception as e:
            logger_debug.exception(e)