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

指标显示Ø值却绘绿线:含义、检测方法及信号异常问询

TradingView指标中Ø值的含义与检测方法

问题背景

我复制修改了一个TradingView指标,规则是当IF_RSI变量大于0.8时绘制绿线。但K线图中指标值有时显示+1、有时-1、有时Ø,只有-1会让线条变红,另外两个值都显示绿线。我想用这个指标结合其他指标生成交易信号:绿线触发买入,红线触发卖出,所以用了IF_RSI > 0.8作为买入条件。但当变量值为Ø时,线条虽显示绿色,却触发了卖出信号。直接用IF_RSI == Ø检测会报错,示例场景为2022年10月31日11:06的特斯拉3分钟K线图。

附原指标代码:

//@version=5
indicator(title='V7-I-F-MC-InvFisherWMA-13-09-22 ', shorttitle='V7_IF_WMA_VI_RSI')
// based on: Inverse Fisher WMA RSI and ROC of Vortex by drnkk copy
//Inputs
RSI_pm = input(5, title="RSI Main Period")
RSI_ps = input(1, title="RSI Smooth Period")

//RSI Calculation
raw_RSI = 0.1 * (ta.rsi(close, RSI_pm) - 50)
wma_RSI = ta.wma(raw_RSI, RSI_ps) * 100

IF_RSI = (math.exp(2 * wma_RSI) - 1) / (math.exp(2 * wma_RSI) + 1)

iff_1 = IF_RSI < -0.8 ? color.red : color.gray
plot(IF_RSI, color=IF_RSI > 0.8 ? color.lime : iff_1, linewidth=3)

hline(0)

Ø的含义

这个Ø是TradingView Pine脚本中**na(Not a Number,无效值)**的可视化显示。出现的原因是指标计算初期,ta.rsi()需要足够的K线周期才能生成有效数值(你的RSI主周期是5,前4根K线没有有效RSI值),导致后续的raw_RSI、wma_RSI都变成na,最终IF_RSI的计算结果也是na,在图表上就显示为Ø。

如何检测Ø值

不能直接用IF_RSI == Ø来判断,Pine脚本提供了专门的函数ta.isna()来检测无效值,用法如下:

is_invalid = ta.isna(IF_RSI)

修正信号逻辑示例

为了避免na值干扰交易信号,你需要在判断买入/卖出条件时先排除无效值:

//@version=5
indicator(title='V7-I-F-MC-InvFisherWMA-13-09-22 ', shorttitle='V7_IF_WMA_VI_RSI')
// based on: Inverse Fisher WMA RSI and ROC of Vortex by drnkk copy
//Inputs
RSI_pm = input(5, title="RSI Main Period")
RSI_ps = input(1, title="RSI Smooth Period")

//RSI Calculation
raw_RSI = 0.1 * (ta.rsi(close, RSI_pm) - 50)
wma_RSI = ta.wma(raw_RSI, RSI_ps) * 100

IF_RSI = (math.exp(2 * wma_RSI) - 1) / (math.exp(2 * wma_RSI) + 1)

// 检测无效值
is_invalid = ta.isna(IF_RSI)

// 修正颜色逻辑,无效值时用灰色
plot_color = is_invalid ? color.gray : (IF_RSI > 0.8 ? color.lime : (IF_RSI < -0.8 ? color.red : color.gray))
plot(IF_RSI, color=plot_color, linewidth=3)

// 修正交易信号逻辑
buy_signal = not is_invalid and IF_RSI > 0.8
sell_signal = not is_invalid and IF_RSI < -0.8

// 绘制信号(可选)
plotshape(buy_signal, title="Buy", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(sell_signal, title="Sell", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")

hline(0)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 07:05:34