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

关于Pine Script中布尔值使用方括号的语法疑问

Pine Script中is_sunday[1]语法解惑

在Pine Script里,你对变量类型的理解和普通编程语言有差异——你定义的is_sunday本质是一个序列变量,不是单值布尔变量,这是它能使用[1]索引的核心原因:

  • Pine Script的核心设计围绕K线序列运行,几乎所有未用var关键字声明的变量,都会自动成为序列:序列是按K线时间顺序存储的一组值,每一根K线对应序列里的一个元素。比如dayofweek本身就是内置的序列,它每一根K线都对应一个星期几的数值,所以dayofweek == dayofweek.sunday运算后,得到的is_sunday自然也是一个序列,每根K线对应一个布尔值(表示当前K线是否处于周日)。
  • [1]是Pine Script的历史引用运算符,用来获取序列中前N根K线的对应值:is_sunday[1]就是取上一根K线的is_sunday值,[2]就是前两根K线的值,以此类推。
  • 回到你贴的代码,not is_sunday[1] and is_sunday的逻辑是:判断上一根K线不是周日,当前K线是周日,用来捕捉从非周日切换到周日的那个K线节点。

补充:如果想创建不随K线更新的单值变量(不能用历史引用),需要用var关键字声明,比如var bool is_first_load = true,这类变量只会初始化一次,全程保持单值状态。

内容的提问来源于stack exchange,提问作者GazleyGeester

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 22:12:36