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

如何在Pine Script中用crossunder()检测价格跌破斐波那契水平触发警报

核心问题定位

你当前直接拿value_0_382这类变量和价格做比较的逻辑是错的,Auto Fib脚本里的value_0_382、value_0_5、value_0_618存储的是斐波那契的比例系数(即0.382、0.5、0.618这类小数),不是对应盘面的实际交易价格,这是你取不到有效对比值的根本原因。

正确获取档位实际价格的方法

Auto Fib脚本内部已经定义了三个核心计算变量:

  • startPrice:斐波那契统计区间的起点价格(对应波段高低点)
  • endPrice:斐波那契统计区间的终点价格(对应波段高低点)
  • diff:endPrice - startPrice的价格差值

你要计算任意档位的实际盘面价格,直接套用通用公式即可:
档位实际价格 = endPrice + 档位系数 * diff
比如0.382档位的实际价格就是price_0_382 = endPrice + value_0_382 * diff,0.5、0.618档位的计算逻辑完全一致,算出来的数值和界面上展示的档位价格完全对齐。

代码修正方案

你可以直接替换你新增的警报逻辑为以下代码:

// 计算三个黄金档位的实际盘面价格
price_0_382 = endPrice + value_0_382 * diff
price_0_5 = endPrice + value_0_5 * diff
price_0_618 = endPrice + value_0_618 * diff

// 判断是否跌破任意黄金档位且K线收盘确认
cross_down_fib = barstate.isconfirmed and (low < price_0_382 or low < price_0_5 or low < price_0_618)
// 补充连续两根阳线的条件:连续两根收阳、且收盘价逐根抬高
two_green_candles = close > open and close[1] > open[1] and close > close[1] and close[1] > close[2]

// 最终警报触发条件
alert_trigger = cross_down_fib and two_green_candles

if alert_trigger
    alert("价格已跌破斐波那契黄金档位", alert.freq_once_per_bar_close)

// 可选:把计算出来的档位价格绘制出来,和界面自带的斐波那契线对齐验证
plot(price_0_382, color=color.gold, title="0.382档位", linewidth=2)
plot(price_0_5, color=color.gold, title="0.5档位", linewidth=2)
plot(price_0_618, color=color.gold, title="0.618档位", linewidth=2)

补充说明

如果需要区分上涨回撤、下跌回撤的不同判断逻辑,只需要调整价格比较的方向即可,上述档位价格计算逻辑是通用的,不需要额外修改。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 01:06:05