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

Pine Script如何给buyDB、sellDB信号添加1根K线触发延迟

你只需要通过Pine Script的历史数据偏移语法[1],引用上一根K线的交叉判定结果即可,这样信号就会在交叉发生后的下一根K线生效。


修改方案1:直接修改原有变量定义

如果不需要保留交叉发生当时的原始信号,直接在原有交叉判断语句末尾加[1]即可:

buyDB = crossover(close, TopBox)[1]
sellDB = crossunder(close, BottomBox)[1]

修改方案2:分开定义原始信号和延迟触发信号

如果后续逻辑还需要用到交叉发生当下的信号,可以分开定义两个变量,逻辑更清晰:

// 原始交叉信号:交叉发生的K线返回true
rawBuyDB = crossover(close, TopBox)
rawSellDB = crossunder(close, BottomBox)

// 延迟触发信号:交叉发生后的下一根K线返回true
buyDB = rawBuyDB[1]
sellDB = rawSellDB[1]

逻辑说明

Pine Script中序列变量后接[n]代表取该变量前n根K线的取值。上述写法的本质是:只有上一根K线发生了对应交叉时,当前K线的buyDB/sellDB才会返回真,刚好匹配你要的「交叉K线收盘后下一根K线再触发」的规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 05:27:00