请求提供从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
相关产品推荐
相关产品推荐

