PINE脚本V6:绘制历史高时限(HTF)数据/行

问题描述 投票:0回答:0
问题:


绘制HTF数据时:

如果num_historical_candles设置高(例如,对于每日HTF,> 10,> 6-7对于4H htf等),则绘制的线并不能从当前的HTF蜡烛开始,然后向后移动。取而代之的是,它们似乎被几个酒吧所抵消(例如,每日htf约10天)。

    问题似乎与请求的方式有关。安全性将HTF数据与当前LTF保持一致。
  1. 我尝试过的是:

  2. 基于时间以避免重复的时间来滤光独特的HTF蜡烛。
使用barstate.islast确保绘图逻辑每次运行一次 图表更新
调整num_historical_candles值,可降低偏移量 但没有解决根部问题。

考虑通过请求返回的系列。 阵列以进行更好的控制,但我不确定如何进行。

    简化脚本:
  • there是我当前代码的最小版本:
  • //@version=6 indicator("HTF Historical Levels", overlay=true) num_historical_candles = input.int(10, "Number of Historical Candles", minval=1) htf_tf = input.timeframe("Daily", "HTF") [htf_open, htf_time] = request.security(syminfo.tickerid, htf_tf, [open, time]) var int last_unique_time = na var int plotted_count = 0 if barstate.islast for i = 0 to num_historical_candles if not na(htf_time[i]) and (na(last_unique_time) or htf_time[i] != last_unique_time) last_unique_time := htf_time[i] plotted_count := plotted_count + 1 line.new(x1=htf_time[i], y1=htf_open[i], x2=htf_time[i] + 1, y2=htf_open[i], color=color.green, width=1) if plotted_count >= num_historical_candles break
  • 观察

对于num_historical_candles的小值(例如4H或≤10的≤6 对于每日),线从当前的HTF蜡烛正常启动, 向后走 对于更高的值,行被偏移,就好像请求。 数据从与预期的不同点开始。

问题:

是什么导致这种偏移?是由于要求如何。安全性将数据与当前的LTF保持一致,还是其他东西?

  • 如何确保绘制的线总是从当前的HTF蜡烛开始,然后向后走,无论num_historical_candles如何?

  • 我应该将request.security返回的系列转换为阵列以更好地控制吗?如果是这样,当我不提前知道系列长度时,我该如何正确执行此操作?

任何帮助或指导将不胜感激!

  1. 没有

    request.security

  2. 像这样的东西:
  3. var float dailyOpen = na var line openLine = na var int x1Line = na period = dayofmonth if period != period[1] dailyOpen := open x1Line := bar_index openLine := line.new(x1Line , dailyOpen, bar_index, dailyOpen, color = color.gray) else line.set_xy1(openLine, x1Line, dailyOpen) line.set_xy2(openLine, bar_index, dailyOpen)

pine-script technical-indicator pine-script-v6
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.