Administrator
2023-09-22 edb280e7beaf74bf1abb370d63d6d756f2c377ec
成交之后强制撤单
2 文件已重命名
3个文件已修改
24 ■■■■ 已修改文件
main.py 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
trade/huaxin/huaxin_trade_api_server.py 补丁 | 查看 | 原始文档 | blame | 历史
trade/huaxin/huaxin_trade_data_update.py 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
trade/huaxin/huaxin_trade_server.py 补丁 | 查看 | 原始文档 | blame | 历史
trade/trade_manager.py 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
main.py
@@ -17,7 +17,7 @@
# 交易服务
from third_data import data_server
from trade.huaxin import trade_server, trade_api_server
from trade.huaxin import huaxin_trade_server, huaxin_trade_api_server
# from huaxin_api import trade_client, l2_client, l1_client
@@ -34,7 +34,7 @@
    t1.start()
    #
    # 交易接口服务
    t1 = threading.Thread(target=trade_api_server.run, name="trade_api_server", args=(pipe_server, pipe_l2),
    t1 = threading.Thread(target=huaxin_trade_api_server.run, name="trade_api_server", args=(pipe_server, pipe_l2),
                          daemon=True)
    t1.start()
    #
@@ -44,12 +44,12 @@
    #
    # 启动L2订阅服务
    t1 = threading.Thread(target=huaxin_client.l2_client.run, name="l2_client",
                          args=(ptl2_l2, psl2_l2, trade_server.my_l2_data_callback),
                          args=(ptl2_l2, psl2_l2, huaxin_trade_server.my_l2_data_callback),
                          daemon=True)
    t1.start()
    #
    # 启动华鑫交易服务
    trade_server.run(pipe_trade, pipe_l1, pipe_l2, queue_strategy_trade)
    huaxin_trade_server.run(pipe_trade, pipe_l1, pipe_l2, queue_strategy_trade)
# 主服务
trade/huaxin/huaxin_trade_api_server.py
trade/huaxin/huaxin_trade_data_update.py
@@ -61,6 +61,9 @@
                                        TradeOrderIdManager().remove_order_id(d['securityID'],
                                                                              d['accountID'],
                                                                              d['orderSysID'])
                                        if huaxin_util.is_deal(d["orderStatus"]):
                                            # 成交之后处理
                                            trade_manager.buy_success(d['securityID'])
                                if codes:
                                    try:
                                        trade_manager.process_trade_delegate_data([{"code": c} for c in codes])
trade/huaxin/huaxin_trade_server.py
trade/trade_manager.py
@@ -660,6 +660,19 @@
    finally:
        RedisUtils.realse(redis_l2)
# 买入成功
def buy_success(code):
    # 加入黑名单
    l2_trade_util.forbidden_trade(code,"buy success")
    # 取消所有的挂单
    if constant.API_TRADE_ENABLE:
            if constant.TRADE_WAY == constant.TRADE_WAY_JUEJIN:
                trade_juejin.cancel_order(code)
            elif constant.TRADE_WAY == constant.TRADE_WAY_HUAXIN:
                trade_huaxin.cancel_order(code)
    else:
            guiTrade.cancel_buy(code)
if __name__ == "__main__":
    print(CodesTradeStateManager().get_codes_by_trade_states_cache([0, 1]))