开拓者期货期权程序化系统交易论坛

标题: 关于TBV4序列变量的传递问题 [打印本页]

作者: 飞跃    时间: 2011-6-2 06:29:37     标题: 关于TBV4序列变量的传递问题

先看下面的一段程序,在TB3和TBV4中采用的是同一交易系统
Vars
                ....
        BoolSeries           bLongStoped;
        BoolSeries           bShortStoped;

Begin
                ......
               If(Date!=Date[1])
        {
                     .....(省略内容与所提问题参数无关)
        }Else
        {
                                ......
                bLongStoped = bLongStoped[1];
                bShortStoped = bShortStoped[1];
                }
1.在TB3和TBV4中在同一位置上加上了       
Commentary("bLongStoped="+IIFString(bLongStoped,"True","False"));
Commentary("bShortStoped="+IIFString(bShortStoped,"True","False"));
上面的Else括号里面的程序变成了:
           ......
        Else
        {
                                ......
                bLongStoped = bLongStoped[1];
                      Commentary("bLongStoped="+IIFString(bLongStoped,"True","False"));
                bShortStoped = bShortStoped[1];
                      Commentary("bShortStoped="+IIFString(bShortStoped,"True","False"));

                }
上面的程序写法没有错误吧?
2.下面就是说,如果程序没错误的话,对比了下TB3和TBV4在同一根(同一天,同一个时刻)Bar上面的数据,发现TB3老版本上面
                      bLongStoped = False;
                                 bShortStoped = False;
而TBV4新版本上
                      bLongStoped = False;
                                 bShortStoped = Ture;
这也许是在论坛上黄总说的新版本取消了序列变量的传递问题,下面传递的内容可以省略,但保留应该没什么问题吧,现在就不明白为什么会出现这个问题?TBV4运行机制怎么改变了?
作者: 飞跃    时间: 2011-6-2 06:31:23

另外还有,既然BoolSeries定义的变量默认值为False,为什么此处会出现Ture呢?
作者: lh948    时间: 2011-6-2 11:06:51

回复 2# 飞跃


    bShortStoped 是从前面传递过来的,具体要知道bShortStoped 因什么条件确定下来的值,才能知道为什么在v3和v4会不一样。
    V4和V3在运行机制是有一定变化的,具体升级说明请参考这里:http://www.tradeblazer.net/forum ... &highlight=tbV4




欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/) Powered by Discuz! X2