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

如何设置技术评级指标的连续两根K线强买入预警

技术评级预警代码验证与优化建议

需求说明

要在1小时图表设置预警,触发条件很明确:当前K线和上一根K线的技术评级都得是强买入——要是上一根是卖出、当前转成强买入,这种情况不能触发预警。

你的测试代码

_lastbar = calcRatingStatusalert(ratingTotal_mtf1hA)[1] == "0"
_condblb1hsb = _lastbar and calcRatingStatusalert(ratingTotal_mtf1hA) == "0"
alertcondition(_condblb1hsb, "lb sb, 1h sb", "lb sb, 1h sb")

代码准确性分析

从逻辑上看,你的代码是能实现需求的:

  • calcRatingStatusalert(ratingTotal_mtf1hA)[1] == "0" 是判断上一根K线的评级为强买入(假设"0"对应的是强买入)
  • 再结合当前K线的评级也等于"0",两个条件同时满足才触发预警,完全符合你要的规则。

不过代码有个小问题:你重复调用了calcRatingStatusalert函数两次,在Pine Script里,重复调用同一个函数可能会浪费计算资源,要是这个函数本身有复杂逻辑,还可能出现不必要的错误。

优化后的代码

可以先把当前K线的评级结果存成变量,再用这个变量和上一根的结果做判断,代码更高效:

// 先获取当前K线的评级结果
_currentRating = calcRatingStatusalert(ratingTotal_mtf1hA)
// 判断当前和上一根K线都是强买入("0")
_condblb1hsb = _currentRating == "0" and _currentRating[1] == "0"
alertcondition(_condblb1hsb, "连续1小时强买入预警", "连续1小时强买入预警")

这样写不仅逻辑和你原来的完全一致,还减少了一次函数调用,代码可读性也更高。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 03:35:20