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

Pine Script代码报错修复及5分钟周期特定指标编写求助

5分钟K线首个反向阴线前高低点指标实现与报错修复

报错原因

原代码的for i = 0 to bar_index不符合Pine Script语法规则,Pine Script不支持这种直接遍历到当前bar索引的循环写法;同时代码逻辑完全偏离需求——原代码追踪的是首个阴线之后的高低点,而非首个阴线出现前的区间高低点。

需求对应指标实现代码

//@version=5
indicator("首个反向阴线前高低点", overlay=true)

// 定义阳/阴线判断条件
is_bull = close > open
is_bear = close < open

// 初始化变量:连续阳线计数、首个阴线触发标记
var int bull_count = 0
var bool first_bear_triggered = false

// 每日重置变量(按交易日划分区间)
if ta.change(time("D"))
    bull_count := 0
    first_bear_triggered := false

// 追踪连续阳线数量,直到出现首个阴线
if not first_bear_triggered
    if is_bull
        bull_count += 1
    else
        first_bear_triggered := true

// 根据规则计算目标区间的高低点
var float target_high = na
var float target_low = na

if first_bear_triggered
    // 规则1:首根阳、第二根阴 → 取前2根K线高低点
    if bull_count == 1
        target_high := ta.highest(high, 2)
        target_low := ta.lowest(low, 2)
    // 规则2:前两根阳、第三根阴 → 取前2根K线高低点
    elif bull_count == 2
        target_high := ta.highest(high, 2)
        target_low := ta.lowest(low, 2)
    // 规则3:前三根阳、第四根阴 → 取前4根K线高低点
    elif bull_count == 3
        target_high := ta.highest(high, 4)
        target_low := ta.lowest(low, 4)

// 绘制高低点水平线
plot(target_high, color=color.new(color.green, 0), title="区间高点", linewidth=2)
plot(target_low, color=color.new(color.red, 0), title="区间低点", linewidth=2)

代码说明

  • 按交易日自动重置计数与标记,确保每个交易日独立计算
  • 实时追踪连续阳线数量,触发首个阴线时立即匹配对应规则
  • 严格对应需求中的3种场景,精准计算区间高低点并绘制
  • 采用Pine Script v5语法,保证平台兼容性

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 08:45:19