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

突破策略编写求助:如何让收盘价高于前20根K线的最高高点?

解决“收盘价突破过去20根K线(不含当前)最高点”的Pine Script代码问题

你的核心问题是ta.highest(high, 20)会包含当前K线的高点,导致当当前K线试图突破时,计算出的高点已经包含了当前K线的价格,自然无法触发close > hh的条件(收盘价不可能超过当前K线的高点)。

修正方案

要计算不含当前K线的过去20根K线最高点,需要将计算范围向前偏移1根K线,使用high[1]引用上一根K线的高点,再取过去20根的最大值:

//@version=5
strategy("20周期突破策略", overlay=true)

// 计算过去20根K线(不含当前)的最高高点
hh = ta.highest(high[1], 20)

// 当收盘价突破该高点时开多单
if close > hh
    strategy.entry('long', strategy.long)

// 可选:在图表上绘制计算的高点,方便验证
plot(hh, color=color.red, title="过去20根K线最高点", linewidth=2)

逻辑说明

  • high[1]:引用当前K线的上一根K线的高点,确保计算范围从倒数第1根到倒数第20根K线,完全排除当前K线的价格数据。
  • ta.highest(high[1], 20):遍历上述20根K线的高点,取最大值作为突破阈值。
  • 当当前K线收盘价超过这个阈值时,就满足“突破过去20根K线最高点”的策略条件,触发多单入场。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 03:40:33