我试图用松树脚本在5分钟的时间框架图上绘制每天的高/低/开/关值。这些线只为实时数据正确绘制,但在历史数据上显示前几天的高点/低点。
如果你回顾一张5分钟图表上的10到15分钟,你就会看到前一天的高/低值。
如果是这样的话,那么涉及日常更改计算的反测试策略将是不准确的。
还有别的办法吗,还是我做错了什么?
这是密码数据。
这是要测试的代码。
//@version=5
strategy(title="DailyChange", shorttitle="DailyChange", overlay=true, initial_capital=1000, calc_on_every_tick=true)
DailyClose = request.security(syminfo.tickerid, '1D', close)
DailyOpen = request.security(syminfo.tickerid, '1D', open)
DailyHigh = request.security(syminfo.tickerid, '1D', high)
DailyLow = request.security(syminfo.tickerid, '1D', low)
plot(series=DailyOpen, color=color.blue, linewidth=1)
plot(series=DailyClose, color=color.red, linewidth=1)
plot(series=DailyHigh, color=color.yellow, linewidth=1)
plot(series=DailyLow, color=color.gray, linewidth=1)发布于 2022-08-06 17:41:32
如果要跟踪日内值,请使用var变量,并在每个栏上更新它们。
//@version=5
strategy(title="DailyChange", shorttitle="DailyChange", overlay=true, initial_capital=1000, calc_on_every_tick=true)
is_new_day = ta.change(time("D"))
var float DailyClose = na
var float DailyOpen = na
var float DailyHigh = na
var float DailyLow = na
DailyClose := is_new_day ? close[1] : DailyClose
DailyOpen := is_new_day ? open : DailyOpen
DailyHigh := is_new_day ? high : high > DailyHigh ? high : DailyHigh
DailyLow := is_new_day ? low : low < DailyLow ? low : DailyLow
plot(series=DailyOpen, color=color.blue, linewidth=1)
plot(series=DailyClose, color=color.red, linewidth=1)
plot(series=DailyHigh, color=color.yellow, linewidth=1)
plot(series=DailyLow, color=color.gray, linewidth=1)https://stackoverflow.com/questions/73261490
复制相似问题