小白求教,序列变量赋值与回溯的一个问题

软件版本是交易开拓者平台6.1.0.2。

在阅读zig的代码时,发现如下问题(以下是Zig代码节选,注意其中的UpDn变量,它是个NumericSeries):

	If(CurrentBar == 0)
		SwingPrice = Close;
	
	SwingHighPrice = SwingHigh( 1, Close, 1,2);
	SwingLowPrice = SwingLow( 1, Close, 1, 2 );
	If (SwingHighPrice <> -1)
	{
		If(UpDn <=0 && SwingHighPrice >= SwingPrice * (1+RetracePct*0.01))
		{
			UpDn = 1;
			NewTL = True;
			SaveSwing = True;
		}Else If(UpDn == 1 && SwingHighPrice >= SwingPrice)
		{
			UpdateTL = True;
			SaveSwing = True;
		}

		If(SaveSwing)
		{
			SwingPrice = SwingHighPrice;
			PreBar = CurrentBar;
		}

对于If (UpDn <=0 && ... 那一行,这里的UpDn含义是当前bar的UpDn,还是上一个Bar的UpDn?

如果是当前Bar的UpDn,在这一步的时候,不是还没有赋值吗?难道有如果未赋值,就把上一个Bar的UpDn值作为当前Bar的UpDn值的逻辑?

如果是上一个Bar的UpDn,为什么不写成UpDn[1]呢?

自定义序列变量赋值失败的问题
数组和变量序列相互赋值问题
求教:如何获得一个序列变量的大小?
序列变量和一维数组相互赋值的问题
多图层中在onbaropen里给序列变量赋值问题
关于序列变量的问题
关于回溯类型变量的问题
关于多帐号的序列变量的赋值和使用问题
序列变量,递归问题
序列类型的计算和赋值不能放在“或有”结构中的改进?

序列变量当前没有赋值过,取的就是上个周期的值

为什么是UpDn,不是UpDn【1】

你对当前的UpDn赋值,他就变了

UpDn【1】你是不能改的

我今天也正在学这个,你仔细看声明那里,变量声明的时候就赋值为0了。好像是这样。