TradingView特定时间交易策略回测无数据问题求助
问题排查与修正
你的代码里有两个关键问题导致策略没有触发交易:
平仓指令的订单ID错误
strategy.close()的第一个参数需要指定要平仓的订单ID,也就是你开仓时用的"short",而不是你写的"exit"。TradingView无法识别"exit"这个ID对应的仓位,所以平仓指令无效,甚至可能导致开仓逻辑也受影响。多余的平仓仓位参数
strategy.close()不需要手动指定仓位大小,它默认会平掉对应ID的全部持仓,你写的100000属于多余参数,反而可能引发逻辑异常。
修正后的代码:
strategy("Foreign JPY", overlay=true, currency = currency.USD) timezone = "Asia/Tokyo" hr = hour(time, timezone) shortCondition = hr == 5 if (shortCondition) strategy.entry("short", strategy.short, 100000) exitCondition = hr == 7 and strategy.position_size < 0 if (exitCondition) strategy.close("short")
额外说明:
- 确保你的图表时间周期是1小时,并且回测的时间范围包含足够的历史数据,这样才能触发日本时间5点和7点的K线信号。
- 你已经验证过
hr变量能正确获取日本时间的小时,所以时区部分的逻辑是没问题的。
内容的提问来源于stack exchange,提问作者Toon
相关产品推荐
相关产品推荐

