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

如何在Pine Script中获取最近1000天的最小值?

Pine Script获取最近1000天最小值的替代方案

方法1:使用ta.lowest()(最简便直接)

ta.lowest()是Pine Script专门用于计算指定周期内序列最小值的函数,完全匹配你的需求。如果当前图表是日线周期,直接传入长度1000即可获取最近1000天的最小值:

//@version=5
indicator("1000天最小值示例", overlay=true)
// 获取最近1000天收盘价的最小值
lowest1000 = ta.lowest(close, 1000)
// 也可替换为low、open等其他价格序列
// lowest1000 = ta.lowest(low, 1000)
plot(lowest1000, color=color.red, title="1000天最小值")

如果图表是其他周期(比如4小时),需要先将1000天转换为对应周期的K线数量(比如1000天=4800根4小时K线),再传入长度参数。

方法2:手动循环维护最小值

如果你想手动实现逻辑(比如学习或自定义扩展),可以用循环遍历最近1000个数据点,逐步更新最小值:

//@version=5
indicator("手动计算1000天最小值", overlay=true)
// 初始化变量存储最小值,var关键字确保变量在脚本运行中保持状态
var float currentMin = close
// 循环遍历最近1000个数据点
for i = 0 to 999
    currentMin := math.min(currentMin, close[i])
plot(currentMin, color=color.blue, title="手动计算最小值")

注意:这种方法效率略低于ta.lowest(),但逻辑直观,适合需要自定义筛选条件的场景。

方法3:使用数组存储滚动窗口数据

通过数组维护最近1000天的价格数据,再调用array.min()获取最小值,适合需要对窗口内数据进行额外操作的场景:

//@version=5
indicator("数组实现1000天最小值", overlay=true)
// 初始化固定长度为1000的数组
var array<float> priceWindow = array.new_float(1000)
// 每次新K线生成时,移除数组最旧的元素,添加最新收盘价
array.shift(priceWindow)
array.push(priceWindow, close)
// 计算数组内的最小值
lowest1000 = array.min(priceWindow)
plot(lowest1000, color=color.green, title="数组计算最小值")

这种方法灵活性高,你可以在数组中存储任意自定义数据,再进行统计计算。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 21:10:20