软件版本是交易开拓者平台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]呢?
序列变量当前没有赋值过,取的就是上个周期的值
为什么是UpDn,不是UpDn【1】
你对当前的UpDn赋值,他就变了
UpDn【1】你是不能改的
我今天也正在学这个,你仔细看声明那里,变量声明的时候就赋值为0了。好像是这样。