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

Pine Script中如何用security函数引用高周期判断双顶/双底信号

跨周期顶底信号在量化策略中的代码嵌入方案

核心逻辑梳理

你的策略核心是1分钟周期触发入场,指定高周期的双顶/双底形态触发出场,所以security(Pine Script中为request.security)的作用是在1分钟K线环境下,拉取目标周期的完整K线数据,再喂给你已有的顶底识别脚本计算出场信号。

代码嵌入关键步骤

以下以Pine Script为例,给出具体嵌入位置和注意事项:

  1. 先定义目标周期参数
    先添加可配置的周期输入,方便快速切换测试不同周期的出场效果:

    target_tf = input.timeframe("15", title="出场信号周期")
    
  2. 在顶底信号计算前调用request.security
    必须在你的顶底识别逻辑之前,拉取目标周期的K线数据(按需获取高开低收、成交量等顶底识别需要的字段),同时关闭未来函数避免回测失真:

    // 拉取目标周期的高开低收数据,替换成你顶底脚本需要的字段
    [target_open, target_high, target_low, target_close] = request.security(
        syminfo.tickerid, 
        target_tf, 
        [open, high, low, close], 
        barmerge.lookahead_on=false
    )
    
  3. 用跨周期数据运行你的顶底识别脚本
    将获取到的target_*系列数据传入你已有的顶底识别代码,替换原脚本中使用的当前周期数据:

    // 替换成你自己的顶底识别逻辑,示例仅作参考
    // 双顶确认:出现 pivot high 后收盘价跌破前一个 pivot 的低点
    double_top = ta.pivothigh(2, 2) and target_close < ta.valuewhen(ta.pivothigh(2,2), target_low, 1)
    // 双底确认:出现 pivot low 后收盘价突破前一个 pivot 的高点
    double_bottom = ta.pivotlow(2, 2) and target_close > ta.valuewhen(ta.pivotlow(2,2), target_high, 1)
    
  4. 关联出场逻辑与持仓状态
    把跨周期的顶底信号和1分钟入场后的持仓状态绑定,触发平仓:

    // 1分钟入场逻辑(示例,替换成你自己的入场规则)
    entry_long = ta.crossover(close, ta.sma(close, 20))
    if (entry_long)
        strategy.entry("Long", strategy.long)
    
    // 双顶触发多单平仓
    if (strategy.position_size > 0 and double_top)
        strategy.close("Long", comment="双顶出场")
    // 双底触发空单平仓
    if (strategy.position_size < 0 and double_bottom)
        strategy.close("Short", comment="双底出场")
    

关键注意事项

  • 禁止未来函数:barmerge.lookahead_on=false必须设置,否则request.security会提前获取未闭合的K线数据,导致回测结果失真。
  • 数据字段匹配:确保顶底识别脚本中所有用到的K线字段(比如高低点、收盘价)都替换成从request.security获取的跨周期数据,不能混用当前1分钟周期的数据。
  • 信号同步:request.security会自动将目标周期的数据对齐到当前1分钟K线的时间戳,每一根1分钟K线都会对应最新的目标周期信号状态。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 13:52:50