首页 > 解决方案 > 如何使用 pine 识别信号趋势

问题描述

我正在使用此代码在最后一个蜡烛收盘时间查找 SMI。

a = input(10, "Percent K Length")
b = input(3, "Percent D Length")
ob = input(40, "Overbought")
os = input(-40, "Oversold")
// Range Calculation
ll = lowest (low, a)
hh = highest (high, a)
diff = hh - ll
rdiff = close - (hh+ll)/2

avgrel = ema(ema(rdiff,b),b)
avgdiff = ema(ema(diff,b),b)

// SMI calculations
SMI = avgdiff != 0 ? (avgrel/(avgdiff/2)*100) : 0

SMIsignal = ema(SMI,b)
emasignal = ema(SMI, 10)

该代码在关闭时为我提供了当前的 SMIsignal 和 emasignal,它工作正常。

是否有可能只有在最后 3 个(例如)蜡烛中下降时当前的 SMIsignal 和如果 SMIsignal 在最后 3 个(例如)蜡烛中没有下降的空(零)SMIsignal 值?

标签: pine-script

解决方案


SMItmp = float(na)
SMItmp := ema(SMI,b)
sig = SMItmp[3]<SMItmp[2] and SMItmp[2]<SMItmp[1] and SMItmp[1]<SMItmp[0]
SMIsignal = sig ? SMItmp : na

推荐阅读