我试图做一些看似微不足道的事情,但却遇到了各种各样的问题。
每次当前价格更新时,我都想在标签上绘制某些基本信息 - 无论我的图表的时间范围如何。
我能够准确地显示数量和价格信息,但是显示时间一直是一个挑战。
我的第一次尝试是使用以下代码:
if (barstate.islast)
label.set_text(
id=myLabel,
text="\nTime: " + tostring(hour) + ":" + tostring(minute) + ":" + tostring(minute)
)
Run Code Online (Sandbox Code Playgroud)
我很快了解到,即使我的图表设置为纽约的时区(即 UTC-4),调用也会tostring(hour)显示 UTC 的时间。
弄清楚如何指定我希望它显示的时间与我的图表时区相对应是第一个主要障碍,我一直在纠结timestamp(),但syminfo.timezone无济于事。
我的第二个主要问题是tostring(second)无法正确显示秒数,即使对于 UTC 时间也是如此。
在处理 1m 图表时,我想我可以通过实施来解决这个问题
tostring((timenow-time)/1000)
但是,秒数在不同的时间范围内无法正确显示。
除此之外,来自不同时区的不同交易所的图表都将相对于 UTC 时间“错误”地显示时间。
肯定是我错过了一些相当基本的东西,因为时间是如此重要的数据,但我只是无法确定正确的语法。
预先感谢您的任何帮助。