You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pine Script中barstate.isrealtime在回放模式下失效的问题咨询及解决方案请求

Pine Script中barstate.isrealtime在回放模式下失效的问题咨询及解决方案请求

我最近碰到了Pine Script里barstate.isrealtime不符合预期的问题,想请教下正确的用法,或者有没有办法判断当前是否处于回放模式?

具体情况是这样的:我原本以为barstate.isrealtime == false会在非实时场景下生效,但在回放模式里完全不管用。没点击回放的时候它是正常的,但一点击回放,因为系统会模拟实时K线生成,这个判断立刻就变成true了。

我的脚本是用request.security从不同时间框架取数据,然后整理成表格展示,实时状态下一切正常,但切换到回放模式播放K线时,表格里的数据就变得不一致了。所以我想要么在回放模式下直接删掉表格,要么让表格显示占位内容(比如用-代替),但不知道怎么实现。

我试过用barstate.ishistory来判断,结果和barstate.isrealtime一样,都没达到预期效果。我之前写的判断逻辑是这样的:

if barstate.isrealtime == false
    table.delete(tabledatas)

后来我@Mario提供了我的表格示例代码,尝试按照建议用barstate.islast等状态来区分显示内容,但还是有问题:

var table tabl1 = table.new('middle' + '_' + 'center', 2, 2, border_color = auto_bg, border_width = 1, frame_color = auto_bg, frame_width = 1)

if barstate.isfirst
    table.cell(tabl1, 0, 0, 'currentvalue' , 0, 0, #ffffff, 'center', text_size=size.huge, bgcolor=color.new(#000000, 0))
    table.cell(tabl1, 1, 0, 'currentvalue' , 0, 0, #ffffff, 'center', text_size=size.huge, bgcolor=color.new(#000000, 0))
else if barstate.islast
    table.cell_set_text(tabl1, 0, 0, 'replayvalue')
    table.cell_set_text(tabl1, 1, 0, 'replayvalue')

这里的replayvalue我打算换成-,就是想在回放模式下显示这个占位内容,实时模式显示真实的currentvalue。

之后我又更新了代码,尝试用barstate.ishistory和barstate.isrealtime来区分:

if barstate.islast
    var table tabl1 = table.new('middle' + '_' + 'center', 2, 2, border_color = auto_bg, border_width = 1, frame_color = auto_bg, frame_width = 1)

    if barstate.ishistory
        table.cell(tabl1, 0, 0, 'replayvalue' , 0, 0, #ffffff, 'center', text_size=size.huge, bgcolor=color.new(#000000, 0))
        table.cell(tabl1, 1, 0, 'replayvalue' , 0, 0, #ffffff, 'center', text_size=size.huge, bgcolor=color.new(#000000, 0))
    else if barstate.isrealtime
        table.cell(tabl1, 0, 0, 'currentvalue' , 0, 0, #ffffff, 'center', text_size=size.huge, bgcolor=color.new(#000000, 0))
        table.cell(tabl1, 1, 0, 'currentvalue' , 0, 0, #ffffff, 'center', text_size=size.huge, bgcolor=color.new(#000000, 0))

但结果还是和第一次一样:实时状态下正常显示currentvalue,切换到回放模式时一开始显示replayvalue,但一旦开始播放K线,就又变回currentvalue了,完全达不到预期效果。

有没有大佬能指点下怎么解决这个问题呀?万分感谢!

备注:内容来源于stack exchange,提问作者trashasf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 12:10:27