Tradingview 策略回测错误 "no data"
Tradingview Strategy backtest error "no data"
我用 pinescript 写了一个示例策略。我很困惑如何使用当前数据让我在回测中 No data
。
//@version=5
strategy("My strategy", overlay=true, margin_long=100, margin_short=100)
ma1 = ta.ema(close, 28)
ma2 = ta.ema(close, 36)
ma3 = ta.sma(close, 20)
ma4 = ta.sma(close, 50)
plot(ma1, title='MA 1')
plot(ma2, title='MA 2')
plot(ma3, title='MA 3')
plot(ma4, title='MA 4')
longCondition = ((close<=ma1) and (close>ma2) and (close>ma3) and (close<=ma4))?true:false
if (longCondition)
strategy.entry(id = 'Long Entry', direction = strategy.long, when = longCondition, alert_message = 'Long(' + syminfo.ticker + '): Started')
shortCondition = ta.crossover(ma1,ma2)
if (shortCondition)
strategy.entry(id = 'Long Entry', direction = strategy.short, when = shortCondition, alert_message = 'Short(' + syminfo.ticker + '): Started')
但是,如果将 longCondition
更改为
longCondition = ((close<=ma1) and (close>ma2) and (close<=ma3) and (close<=ma4))?true:false
我可以看到回测结果
我注意到当当前蜡烛满足条件时会出现这种情况,然后它会显示回测结果,如果当前蜡烛不满足条件则不会给出数据错误。
但我认为无论哪种情况我 select 回测数据都应该生成,因为这种情况应该在过去的某个地方发生过,对吧?因此应该采取切入点并生成回测图表。
请告诉我这是如何工作的,我在理解上哪里出错了。
no matter which condition I select backtesting data should be
generated because this condition should have occurred somewhere in the
past, right?
不是真的。除非你能证明你的条件已经满足,策略测试器显示“无数据”,否则我会相信策略测试器的说法。
我将您的脚本(没有您提到的更改)添加到 BTCBUSD Binance 1W 图表。没有条目,因此 -> 没有数据
如果我转到 1D 时间范围,则会有一些交易,并且有这些交易的数据。
我用 pinescript 写了一个示例策略。我很困惑如何使用当前数据让我在回测中 No data
。
//@version=5
strategy("My strategy", overlay=true, margin_long=100, margin_short=100)
ma1 = ta.ema(close, 28)
ma2 = ta.ema(close, 36)
ma3 = ta.sma(close, 20)
ma4 = ta.sma(close, 50)
plot(ma1, title='MA 1')
plot(ma2, title='MA 2')
plot(ma3, title='MA 3')
plot(ma4, title='MA 4')
longCondition = ((close<=ma1) and (close>ma2) and (close>ma3) and (close<=ma4))?true:false
if (longCondition)
strategy.entry(id = 'Long Entry', direction = strategy.long, when = longCondition, alert_message = 'Long(' + syminfo.ticker + '): Started')
shortCondition = ta.crossover(ma1,ma2)
if (shortCondition)
strategy.entry(id = 'Long Entry', direction = strategy.short, when = shortCondition, alert_message = 'Short(' + syminfo.ticker + '): Started')
但是,如果将 longCondition
更改为
longCondition = ((close<=ma1) and (close>ma2) and (close<=ma3) and (close<=ma4))?true:false
我可以看到回测结果
我注意到当当前蜡烛满足条件时会出现这种情况,然后它会显示回测结果,如果当前蜡烛不满足条件则不会给出数据错误。
但我认为无论哪种情况我 select 回测数据都应该生成,因为这种情况应该在过去的某个地方发生过,对吧?因此应该采取切入点并生成回测图表。
请告诉我这是如何工作的,我在理解上哪里出错了。
no matter which condition I select backtesting data should be generated because this condition should have occurred somewhere in the past, right?
不是真的。除非你能证明你的条件已经满足,策略测试器显示“无数据”,否则我会相信策略测试器的说法。
我将您的脚本(没有您提到的更改)添加到 BTCBUSD Binance 1W 图表。没有条目,因此 -> 没有数据
如果我转到 1D 时间范围,则会有一些交易,并且有这些交易的数据。