Pine Script技术问询:如何判断第二根K线收盘价低于第一根最高价
Pine Script 实现第二根K线收盘价低于第一根K线最高价的正确方法
你原来的代码里,higherClose和closeLower的逻辑和需求不匹配,没有用到K线最高价做判断,所以无法实现目标功能。以下是修正后的完整代码,以及关键逻辑说明:
//@version=5 indicator("第二根K线收盘价低于第一根最高价判断", overlay=true) // 跳空高开阈值输入 gapThresholdPercent = input.float(1, title="跳空阈值(%)", minval=0, maxval=10, step=0.1) // 计算跳空高开百分比 gapUpPercent = ((open - close[1]) / close[1]) * 100 isGapUp = gapUpPercent > gapThresholdPercent // 核心判断逻辑:当前K线(第二根)收盘价 < 前一根K线(第一根)最高价 secondBarCloseBelowFirstHigh = close < high[1] // 可选:结合跳空高开条件,判断跳空高开的K线(第一根)之后的第二根K线收盘价低于其最高价 postGapCloseBelowHigh = isGapUp[1] and close < high[1] // 可视化标记 bgcolor(isGapUp ? color.new(color.green, 90) : na) // 标记跳空高开K线 plotshape(series=isGapUp, title="跳空高开", color=color.green, style=shape.triangleup, size=size.small, location=location.belowbar) // 标记第二根K线收盘价低于第一根最高价的情况 plotshape(series=secondBarCloseBelowFirstHigh, title="第二根收于第一根最高价下", color=color.red, style=shape.triangledown, size=size.small, location=location.abovebar) // 标记跳空后第二根收于第一根最高价下的情况(可选) plotshape(series=postGapCloseBelowHigh, title="跳空后第二根收于最高价下", color=color.orange, style=shape.circle, size=size.small, location=location.abovebar)
关键逻辑说明
close < high[1]:这是你需求的核心表达式,直接判断当前K线(第二根)的收盘价是否低于前一根K线(第一根)的最高价。- 如果需要结合跳空高开场景,
isGapUp[1]表示前一根K线是跳空高开状态,搭配close < high[1]就能筛选出跳空高开后的第二根K线收盘价低于跳空K线最高价的信号。 - 代码保留了原有的跳空高开判断逻辑,同时新增符合需求的标记,方便在图表上直观查看信号。
内容的提问来源于stack exchange,提问作者Sahil Anand
相关产品推荐
相关产品推荐

