Administrator
2023-10-13 82239e1c2f0461f7da835aee46ecec92805c4074
测试影子订单
1个文件已修改
34 ■■■■■ 已修改文件
huaxin_client/trade_client.py 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
huaxin_client/trade_client.py
@@ -158,7 +158,26 @@
        if ret != 0:
            raise Exception('ReqOrderInsert fail, ret[%d]' % ret)
        async_log_util.info(logger_trade, f"{code}华鑫本地真实下单结束")
        return
        # --------------------------------影子订单--------------------------------
        if order_ref:
            # 下一个影子订单
            shadow_order_ref = order_ref + 1
            shadow_sinfo = f"s_b_{order_ref}"
            shadow_price = price - 0.05
            req_field.LimitPrice = shadow_price
            req_field.SInfo = shadow_sinfo
            req_field.OrderRef = shadow_order_ref
            ret = api.ReqOrderInsert(req_field, self.req_id)
            if ret != 0:
                raise Exception('ReqOrderInsert fail, ret[%d]' % ret)
            # 影子订单撤单
            # 撤掉影子单
            shadow_cancel_order_ref = shadow_order_ref + 1
            self.cancel_buy(code, f"s_c_{shadow_order_ref}", order_sys_id=None,
                            order_ref=shadow_order_ref,
                            order_action_ref=shadow_cancel_order_ref, delay_s=0.05)
        return ret
    # 撤买
    def cancel_buy(self, code, sinfo, order_sys_id=None, order_ref=None, order_action_ref=None, delay_s=0.0):
@@ -853,18 +872,7 @@
                    # threading.Thread(target=lambda: self.__tradeSimpleApi.buy(code, volume, price, sinfo, order_ref),
                    #                  daemon=True).start()
                    self.trade_thread_pool.submit(self.__tradeSimpleApi.buy, code, volume, price, sinfo, order_ref)
                    # 下一个影子订单
                    shadow_order_ref = order_ref + 2
                    shadow_sinfo = f"s_b_{order_ref}"
                    shadow_price = price - 0.05
                    self.trade_thread_pool.submit(self.__tradeSimpleApi.buy, code, volume, shadow_price, shadow_sinfo,
                                                  shadow_order_ref)
                    # 撤掉影子单
                    shadow_cancel_order_ref = shadow_order_ref + 2
                    self.trade_thread_pool.submit(
                        lambda: self.__tradeSimpleApi.cancel_buy(code, f"s_c_{shadow_order_ref}", order_sys_id=None,
                                                                 order_ref=shadow_order_ref,
                                                                 order_action_ref=shadow_cancel_order_ref, delay_s=0.05))
                    async_log_util.info(logger_trade, f"{code}华鑫本地下单线程结束")
                except Exception as e:
                    send_response(json.dumps({"code": 1, "msg": str(e)}), TYPE_ORDER, client_id,