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

如何在Cond1与Cond2两个条件区间内找到最高价?

如何在两个条件之间找到最高价?

你想要在Cond1(收盘价上穿指标A)和Cond2(收盘价下穿指标A)的区间内找出这段时间的最高价,但你给出的ta.pivothigh用法有误——这个函数的leftbars和rightbars需要传入固定的K线数量,不能直接用条件变量。

下面是正确的实现方式,通过标记区间并实时跟踪最高价来实现:

// 定义参考指标(这里用20周期均线示例,可替换为你的指标A)
A = ta.sma(close, 20)
// 定义两个条件
Cond1 = ta.crossover(close, A)
Cond2 = ta.crossunder(close, A)

// 用于存储区间内最高价的变量
var float highestBetween = na
// 标记是否处于Cond1到Cond2的区间内
var bool inRange = false

// 当Cond1触发时,开启区间跟踪,初始化最高价为当前K线高点
if (Cond1)
    inRange := true
    highestBetween := high

// 在区间内时,持续更新最高价为当前区间内的最大值
if (inRange and not Cond2)
    highestBetween := math.max(highestBetween, high)

// 当Cond2触发时,结束区间跟踪
if (Cond2)
    inRange := false

// 绘制区间最高价
plot(highestBetween, color=color.red, title="Cond1-Cond2区间最高价")

代码逻辑说明:

  • inRange变量用来判断当前是否处于Cond1触发后、Cond2触发前的区间
  • Cond1触发时,启动跟踪流程,把当前K线的高点作为初始最高价
  • 在区间内的每一根K线,都会将当前高点和已记录的最高价对比,保留较大值
  • Cond2触发时,关闭跟踪,此时highestBetween就存储了整个区间的最高价

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 14:15:41