res=highest(high,no)
sup=lowest(low,no)
此代码定义了一个阻力位和一个支撑位,分别是:3 根柱线的最高高点和 3 根柱线的最低点。
avd=iff(close>res[1],1,iff(close<sup[1],-1,0))
然后avd 寻找任何高于先前阻力位的收盘价(如果发生则保存为 1)或任何低于先前支撑位的收盘价(如果发生则保存为 -1)。如果收盘在先前的支撑和先前的阻力范围内,则默认值保存为 0。
请注意,在这种情况下,“先前的”阻力或支撑可以被认为是“当前的”阻力和支撑。事实上,使用“之前”的原因是因为支撑和阻力是由“3 根柱线”最低/最高定义的,所以我们不希望当前的最低/最高以我们的方式。例如,假设我们的数据集中有 4 个柱,其高点分别为:30、50、20、60。当我们位于第 4 个柱 (60) 时,后面 3 个柱的最高高点是 60,因为它包括自身。但之前 3 个柱后的最高高点是 50。不过,从概念上讲,50 是第 4 个柱的当前阻力。
avn=valuewhen(avd!=0,avd,0)
然后avn 返回 avd 的最后一个值,当它是 1 或 -1 时。例如,假设我们现在处于支撑位和阻力位,如果最后一个 avd 为 1,avn 将返回 1,如果最后一个 avd 为 -1,则返回 -1。
tsl=iff(avn==1,sup,res)
最后,如果avn 为1,则返回当前支撑,否则返回阻力。
注意事项:
一般来说,此代码在每根蜡烛上定义一个支撑位和一个阻力位。然后,avd 看起来像是一个信号,当这个 sup/res 之一被破坏时发出警报。 avn 将跟踪上次发生中断的时间。最后,tsl 将跟踪上次上行突破发生时的最后支撑,或上次下行突破发生时的最后阻力。