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

TradingView Pine Script:如何在1m周期复用高时间框架序列极值?

在TradingView Pine Script中实现低时间框架序列的高时间框架极值填充

核心思路

要实现需求,需在当前低时间框架(如1m)下完成以下操作:

  • 识别高时间框架(如3m)的K线起始边界
  • 在每个高时间框架区间内,持续跟踪result序列的极值(最大/最小)
  • 将该区间的极值填充到区间内的所有低时间框架K线中

代码实现示例

//@version=5
indicator("HTF极值填充工具", overlay=false)

// 1. 配置参数:替换为你的目标高时间框架
htf_period = input.string("3", title="高时间框架", options=["1", "3", "5", "15", "60"])
// 2. 替换为你的实际1m序列变量
result = ta.random(-5, 20) // 这里用随机数模拟示例序列

// 3. 检测高时间框架K线的起始点
is_new_htf_bar = ta.change(timeframe.newbar, htf_period)

// 4. 跟踪每个HTF区间内的极值
var float htf_max_value = na
var float htf_min_value = na

if is_new_htf_bar
    // 新HTF区间开始,初始化极值为当前result值
    htf_max_value := result
    htf_min_value := result
else
    // 区间内更新极值
    htf_max_value := math.max(htf_max_value, result)
    htf_min_value := math.min(htf_min_value, result)

// 5. 选择填充目标:最大值或最小值
filled_result = input.string("最大值", title="填充类型", options=["最大值", "最小值"]) == "最大值" ? htf_max_value : htf_min_value

// 可视化对比
plot(result, color=color.blue, title="原始1m序列", linewidth=1)
plot(filled_result, color=color.red, title="HTF极值填充后序列", linewidth=2)

代码说明

  • timeframe.newbar配合ta.change:精准识别高时间框架K线的起始位置,确保每个区间的极值计算从新K线开始
  • var关键字:保持极值变量在K线周期内的状态,避免每根1mK线都重置数值
  • 极值更新逻辑:在非HTF起始K线时,持续用当前result值刷新区间内的最大/最小值
  • 可配置项:通过输入框直接切换目标高时间框架和填充类型(最大值/最小值)

注意事项

  • 无需使用security()函数:所有计算都在当前低时间框架内完成,直接复用原result序列数据
  • 周期兼容性:支持任意高时间框架,只需修改htf_period参数(如"15"对应15m,"60"对应1小时)
  • 数据一致性:确保result变量是在当前低时间框架下计算生成的,无需跨周期拉取

内容的提问来源于stack exchange,提问作者丶 Limeー来夢 丶

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 17:10:32