c787297017 wrote:
c787297017 wrote:
我尝试在porfolio_strategy中添加止盈逻辑,大体思路如下:
- 在on_x_bars中记录开仓的vt_orderids,
vt_orderids = self.buy(vt_symbol, price, target_pos) self.open_orderids.extend(vt_orderids)
将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实盘运行的历史日志是存在哪里的,在哪里查找