拉动特定时间的价格栏
Pull Price Bar for Specific Time
虽然网上有很多文档用于计算价格柱之间的时间差(unix 时间),但有谁知道是否可以拉出特定时间的价格柱(OHLC 数据)。
例如我的策略是 运行,分辨率为 15 秒,当前柱线是 14:30:15。时间 - 86400 早 24 小时,是否可以拉动价格柱(或具体而言,收盘价):时间 - 86400?我正在尝试确定现在的价格是否比 24 小时前的价格 higher/lower。
非常感谢
可能有更有效的方法来执行此操作,但它确实有效。将所有时间戳放在一个数组中,并删除任何早于 24 小时的时间。结果数组的最后一个元素是 24 小时前。由于每个时间戳都添加到每个柱中,我们可以根据数组大小确定 bar_index。
f_prune24H(_timestamps, _current_bar_time) =>
_size = array.size(_timestamps)
_24ts = int(_current_bar_time - 86400000)
for _i = _size - 1 to 0
if array.get(_timestamps, _i) < _24ts
array.remove(_timestamps, _i)
_last_index = array.size(_timestamps) - 1
if _last_index > 0 and array.get(_timestamps, _last_index) >= _24ts
break
_timestamps
var int[] timestamps = array.new_int(na)
array.unshift(timestamps, time)
temp_timestamps = f_prune24H(timestamps, time)
timestamps := temp_timestamps
high_24h = high[array.size(timestamps) - 1]
plot(high_24h)
虽然网上有很多文档用于计算价格柱之间的时间差(unix 时间),但有谁知道是否可以拉出特定时间的价格柱(OHLC 数据)。
例如我的策略是 运行,分辨率为 15 秒,当前柱线是 14:30:15。时间 - 86400 早 24 小时,是否可以拉动价格柱(或具体而言,收盘价):时间 - 86400?我正在尝试确定现在的价格是否比 24 小时前的价格 higher/lower。
非常感谢
可能有更有效的方法来执行此操作,但它确实有效。将所有时间戳放在一个数组中,并删除任何早于 24 小时的时间。结果数组的最后一个元素是 24 小时前。由于每个时间戳都添加到每个柱中,我们可以根据数组大小确定 bar_index。
f_prune24H(_timestamps, _current_bar_time) =>
_size = array.size(_timestamps)
_24ts = int(_current_bar_time - 86400000)
for _i = _size - 1 to 0
if array.get(_timestamps, _i) < _24ts
array.remove(_timestamps, _i)
_last_index = array.size(_timestamps) - 1
if _last_index > 0 and array.get(_timestamps, _last_index) >= _24ts
break
_timestamps
var int[] timestamps = array.new_int(na)
array.unshift(timestamps, time)
temp_timestamps = f_prune24H(timestamps, time)
timestamps := temp_timestamps
high_24h = high[array.size(timestamps) - 1]
plot(high_24h)