您使用的是正确的reuqest.security()
功能。问题是,历史价值dots
将在您的图表的时间范围内填充。所以,dots[1]
将参考图表时间范围内的先前值。
让我们看两个例子,我们要求daily当我们处于 6 小时时间范围时的开盘价。因此,每 4 根蜡烛我们就会有一个新值。
示例 1 (barmerge.lookahead_on):
[daily_1, daily_2] = request.security(syminfo.tickerid, "D", [open, open[1]], gaps = barmerge.gaps_on, lookahead = barmerge.lookahead_on)
Variable |
Bar #1 |
Bar #2 |
Bar #3 |
Bar #4 |
Bar #5 |
Bar #6 |
Bar #7 |
Bar #8 |
Bar #9 |
Bar #10 |
Bar #11 |
daily_1 |
16978.38 |
na |
na |
na |
17093.53 |
na |
na |
na |
16886.81 |
na |
na |
daily_1[1] |
na |
16978.38 |
na |
na |
na |
17093.53 |
na |
na |
na |
16886.81 |
na |
daily_2 |
17165.39 |
na |
na |
na |
16978.38 |
na |
na |
na |
17093.53 |
na |
na |
在这个例子中,daily_1[1]
将遵循daily_1
在下一个酒吧。所以,它的值将指daily_1
图表时间范围内前一个柱的值。daily_2
会参考前一天的开盘价。这就是你的想法daily_1[1]
应该做。
示例 2 (barmerge.lookahead_off):
[daily_1, daily_2] = request.security(syminfo.tickerid, "D", [open, open[1]], gaps = barmerge.gaps_off, lookahead = barmerge.lookahead_on)
Variable |
Bar #1 |
Bar #2 |
Bar #3 |
Bar #4 |
Bar #5 |
Bar #6 |
Bar #7 |
Bar #8 |
Bar #9 |
Bar #10 |
Bar #11 |
daily_1 |
16978.38 |
16978.38 |
16978.38 |
16978.38 |
17093.53 |
17093.53 |
17093.53 |
17093.53 |
16886.81 |
16886.81 |
16886.81 |
daily_1[1] |
17165.39 |
16978.38 |
16978.38 |
16978.38 |
16978.38 |
17093.53 |
17093.53 |
17093.53 |
17093.53 |
16886.81 |
16886.81 |
daily_2 |
17165.39 |
17165.39 |
17165.39 |
17165.39 |
16978.38 |
16978.38 |
16978.38 |
16978.38 |
17093.53 |
17093.53 |
17093.53 |
此示例显示了如何填充历史值。
Note:
这是一个真实的例子。
Ticker: BINANCE:BTCBUSD
Timeframe: 6h
Bar #1: Fri 02 Dec '22 00:00 UTC
Bar #11: Sun 04 Dec '22 12:00 UTC
只需添加以下内容即可查看这些值:
plotchar(daily_1, "daily_1", "")
plotchar(daily_1[1], "daily_1[1]", "")
plotchar(daily_2, "daily_2", "")