VeighNa量化社区
你的开源社区量化交易平台
ce597ab4a6e94c07's Avatar
Member
离线
3 帖子
声望: 0

c787297017 wrote:

c787297017 wrote:

我尝试在porfolio_strategy中添加止盈逻辑,大体思路如下:

  1. 在on_x_bars中记录开仓的vt_orderids,
    vt_orderids = self.buy(vt_symbol, price, target_pos)
     self.open_orderids.extend(vt_orderids)
  2. 将update_trade认为是trade的回调函数,类似于cta_strategy中的on_trade, 所以重写该方法如下

    def update_trade(self, trade: TradeData) -> None:
         """
         可认为是trade的回调函数
         """
         super().update_trade(trade)
    
         # 追踪成交的开仓单,下止盈单
         if trade.vt_orderid in self.open_orderids:
              self.sell(trade.vt_symbol, price, trade.volume) # 多单的止盈单

    简单回测发现止盈单能够正常运行,请问各位觉得有什么问题吗?

或许在update_trade中还应该添加针对self.targets的管理
比如: self.targets[trade.vt_symbol] = 0

我是实盘测试了,在多策略组合里面,是收到不到on_trade的成交回报的。 你确定你的update_trade函数能够收到trade:TradeData数据吗

portfoliostrategy多品种组合策略里面收不到成交回报,请问如何才能收到品种成交回报?我直接在模板策略的后面添加了on_trade函数,但是测试了收不到成交回报。

vnpy实盘运行的历史日志是存在哪里的,在哪里查找

© 2015-2022 微信 18391752892
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

【用户协议】
【隐私政策】
【免责条款】