波段交易脚本的伪代码

Pseudocode for Swing Trading script

谁能用简单的话解释一下这段代码:

no=input(3,title="Swing")

res=highest(high,no)
sup=lowest(low,no)
avd=iff(close>res[1],1,iff(close<sup[1],-1,0))
avn=valuewhen(avd!=0,avd,0)
tsl=iff(avn==1,sup,res)

谢谢。

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 条后退”lowest/highest 定义的,所以我们不希望当前 lowest/highest 挡住我们的路。例如,假设我们的数据集中有 4 个柱线具有这些高点:30、50、20、60。当我们位于第 4 个柱线 (60) 时,后面 3 个柱线的最高点是 60,因为它包括它自己。但是 3 根柱线后的先前最高点是 50。不过,从概念上讲,50 是第 4 根柱线的当前阻力。

avn=valuewhen(avd!=0,avd,0)

然后 avn return 是 avd 的最后一个值,当它是 1 或 -1 时。例如,假设我们现在处于支撑和阻力之间,如果最后 avd 为 1,avn 将 return 1,如果最后 avd 为 -1,则为 -1。

tsl=iff(avn==1,sup,res)

最后,如果 avn 为 1,这将 return 当前支撑,否则将 return 阻力。

注意事项: 一般来说,此代码在每根蜡烛上定义了一个支撑和一个阻力。然后,avd 看起来像是一个信号,当其中一个 sup/res 被破坏时发出警报。 avn 将跟踪上次发生中断的时间。最后 tsl 将跟踪最后一次上行突破发生时的最后支撑,或最后一次下行突破发生时的最后阻力。