Pine-script如何将前一根K线收盘价取为固定整数常量
Pine Script 前K收盘价转固定整数常量解决方案
- 第一步:先对前收盘价做取整处理,可根据需求选择对应取整函数:
- 向下取整用
math.floor() - 四舍五入用
math.round() - 向上取整用
math.ceil() - 直接截断整数部分(正负数值均只保留整数位)用
math.trunc()
- 向下取整用
- 第二步:如果需要固定为特定节点的整数收盘价常量(比如指标加载时的基准值、某条件触发时锁定的数值),必须用
var关键字声明变量存储,避免每根K线计算时自动更新数值。
代码示例
// 示例1:每根K线动态取前一K收盘价的整数(随K线推进自动更新) prevCloseInt = math.round(close[1]) // 示例2:固定为指标初始化时第一根K线的前收整数,后续全程不变 var fixedPrevCloseInt = math.round(close[1]) // 示例3:满足自定义触发条件时锁定前收整数,锁定后不再更新 var lockInt = na if ta.crossover(close, ta.sma(close, 20)) // 此处替换为你自己的触发逻辑 lockInt := math.floor(close[1])
注意:Pine Script中
var声明的变量只会在首次计算时赋值一次,仅当你显式用:=运算符重新赋值时才会更新,完全符合固定常量的使用需求。如果不使用var,变量会随每根K线的计算动态更新对应位置的前收整数值。
内容的提问来源于stack exchange,提问作者ta_zoa
相关产品推荐
相关产品推荐

