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

Pine Script收盘价突破20周期前高策略无订单问题求助

Pine Script 20周期高点突破策略无订单问题修复方案

问题根因

  • 你猜测的高点计算逻辑问题确实存在:highest(high, 20)默认包含当前K线的高点,要收盘价突破包含当前高点在内的20周期高点,相当于要求收盘价超过当前K线自身的高点,逻辑不可能成立,自然无法触发开仓条件
  • 若你使用的是Pine Script v5版本,内置指标函数需要加ta.前缀,否则代码会直接报错无法运行
  • 你代码中引用的inDateRange变量没有做任何定义,该判断条件永远为假,直接阻断了订单触发

修复后完整代码

//@version=5
strategy("20周期高点突破策略", overlay=true)
// 可选:定义回测日期范围,不需要可以删除这段以及对应判断条件
start = timestamp(2023, 1, 1, 0, 0)
end = timestamp(2024, 12, 31, 23, 59)
inDateRange = time >= start and time <= end

// 计算不含当前K线的最近20根K线最高值
oldhigh = ta.highest(high, 20)[1]
newhigh = close > oldhigh

plot(oldhigh, color=color.blue, title="20周期前高")

strategy.entry("Buy", strategy.long, when=newhigh and inDateRange, comment="New High")
strategy.close("Buy", when=(close < close[1]), comment="Close")

补充说明

如果不需要限制回测的日期范围,直接把strategy.entry条件里的and inDateRange删掉即可,不需要保留日期定义部分的代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 20:39:03