系统交易论坛 - 开拓者期货自动交易平台 » TradeBlazer公式 » 求助:最终目标文件编译错误?!


2008-8-18 09:13 xtleilei
求助:最终目标文件编译错误?!

代码如下:编译后,提示:最终目标文件编译错误。我检查又检查,实在看不出哪儿有错。请高手指点一下!
Params
        Numeric Length1(14);
Vars
    NumericSeries Un;
        NumericSeries UnSum;
        NumericSeries Pen;
        NumericSeries UpAvg;
        NumericSeries LongStop;
        Numeric Protected;
Begin
        If(high>high[1])
           {Un=high-high[1];
            Pen=1;
           }
        Else
           {Un=0;
            Pen=0;
           }
        If(Summation(Pen,Length1)<>0)
        {UpAvg=Summation(Un,Length1)/Summation(Pen,Length1);}
        LongStop=high[1]+2*UpAvg[1];
        Protected=LowestFC(LongStop,3);       
        PlotNumeric("止损价",Protected);
       
End

2008-8-18 09:51 nopain
把变量名Protected修改为其他名字,比如:ProtectedValue,这样就可以通过了

因为TB会将公式转化为C++语言,但Protected是C++语言的关键字,类似这样的关键字还很多,比如int,long,public,class等,所以不要用这些来作为变量名称。

2008-8-18 10:31 xtleilei
谢谢!:victory: :handshake :handshake

2008-8-18 12:51 stevenx8
[quote]原帖由 [i]nopain[/i] 于 2008-8-18 09:51 发表 [url=http://www.tradeblazer.net/forum/redirect.php?goto=findpost&pid=16347&ptid=2773][img]http://www.tradeblazer.net/forum/images/common/back.gif[/img][/url]
把变量名Protected修改为其他名字,比如:ProtectedValue,这样就可以通过了

因为TB会将公式转化为C++语言,但Protected是C++语言的关键字,类似这样的关键字还很多,比如int,long,public,class等,所以不要用这些来作为变量名称 ... [/quote]


我在周五就碰到这样的错误,“最终目标文件不能编译”,我想这不是楼主个人的碰到的问题了,我没有用你说过的变量名称,而且最近根本没编过新公式,是原来通过的公式出问题。我已经有帖子提出来的,请去看看“反馈”版面吧

[[i] 本帖最后由 stevenx8 于 2008-8-18 22:34 编辑 [/i]]

2008-8-18 12:54 gwh168
呵呵,这个问题我早就猜到了

:lol 我当时也是用long short来命名,也是通不过

2009-1-6 00:00 天行健
我今天也遇到了,但是原因却不是变量名的问题,而是程序太长!

页: [1]


Powered by Discuz! Archiver 5.5.0  © 2001-2006 Comsenz Inc.