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

请求提供从TradingView ZigZag库函数提取数据的Pine Script示例代码

Pine Script 提取ZigZag库数据示例代码

下面是直接可用的示例代码,用于从指定ZigZag库中提取高低点价格、时间等核心数据:

//@version=5
indicator("提取ZigZag数据示例", overlay=true)

// 导入目标ZigZag库(可从TradingView脚本页面复制官方导入代码)
import "bzirugxc" as zigzag

// 调用库内的ZigZag计算函数,传入对应参数
zzResult = zigzag.ZigZag(close, 10, 5)

// 提取转折点核心数据
currentHigh = zzResult.high
currentLow = zzResult.low
isHighTurn = zzResult.isHigh
isLowTurn = zzResult.isLow

// 在图表上标记高低点
if isHighTurn
    label.new(bar_index, currentHigh, "高点\n" + str.tostring(currentHigh), color=color.red, textcolor=color.white)
if isLowTurn
    label.new(bar_index, currentLow, "低点\n" + str.tostring(currentLow), color=color.green, textcolor=color.white)

// 存储历史转折点数据到数组,供后续策略调用
var float[] highPriceArr = array.new_float()
var float[] lowPriceArr = array.new_float()
var int[] highTimeArr = array.new_int()
var int[] lowTimeArr = array.new_int()

if isHighTurn
    array.push(highPriceArr, currentHigh)
    array.push(highTimeArr, time)
if isLowTurn
    array.push(lowPriceArr, currentLow)
    array.push(lowTimeArr, time)

// 在最后一根K线显示最近的高低点信息
if barstate.islast
    label.delete(label.get_id("recent_zz_info"))
    latestHigh = array.size(highPriceArr) > 0 ? array.get(highPriceArr, array.size(highPriceArr)-1) : na
    latestLow = array.size(lowPriceArr) > 0 ? array.get(lowPriceArr, array.size(lowPriceArr)-1) : na
    label.new(bar_index, close, str.format("最近高点: {0}\n最近低点: {1}", latestHigh, latestLow), id="recent_zz_info", color=color.blue, textcolor=color.white)

关键说明

  • 导入库时需使用正确语句:可直接打开目标ZigZag脚本的TradingView页面,点击「导入」按钮复制官方提供的导入代码,替换示例中的import "bzirugxc" as zigzag
  • 调用库函数时,参数需与目标库要求一致(示例中的close,10,5仅为演示,具体参考库的参数说明)
  • 通过isHighTurn和isLowTurn可精准捕捉每一个ZigZag转折点,进而提取对应价格、时间数据存储到数组,用于后续策略逻辑计算

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 06:55:17