设为首页收藏本站

 找回密码
 注册
查看: 2730|回复: 7
打印 上一主题 下一主题

程序出错编译不过去,恳请热心人帮忙,谢谢 [复制链接]

Rank: 2

精华
0
UID
5345
积分
115
帖子
28
主题
3
阅读权限
30
注册时间
2009-9-2
最后登录
2019-3-24
跳转到指定楼层
1#
发表于 2009-11-1 22:08:52 |只看该作者 |倒序浏览
Params
    Numeric fastlength(88);
        Numeric slowlength(17);
        Numeric canshu(2);
Vars
    Numeric var1;
        Numeric var2;
        Numeric vol;
        NumericSeries MA17;
        NumericSeries bssm;
        NumericSeries cgx;
Begin
    var1:=vol*(Open+Close)/canshu;
        bssm:Summation(Var1,fastlength)/Summation(vol,fastlength);
        cgx:Highest(Average(Close,slowlength),canshu);
        if(Average(Close,slowlength)<cgx)
        {
        (Average(Close,slowlength)-(cgx-Average(Close,slowlength)));
        }
        Else
        {
        cgx;
        }
        MA17:Average(Close,slowlength);
        var2:=Average((OPEN+CLOSE+HIGH+LOW)/4,46);
        aa:=(CLOSE>var2 AND CLOSE>Average(CLOSE, 5)) or (Close<var2 and Close>Average(Close,5) and Close>cgx);
    bb:=(CLOSE<var2 and Close<Average(Close,5)) or (Close>var2 and Close<Average(Close,5));
    if(aa and bb)
        {
        0;
        }
        Else
        {
        1;
        }
        If(aa);
        Buy(2,Close);
        If(cc);
        sell(2,close);
        if(bb);
        sell(2,close);
        If(cc);
        buy(2,close);
End

Rank: 10Rank: 10Rank: 10

精华
2
UID
4130
积分
20901
帖子
6519
主题
17
阅读权限
200
注册时间
2009-4-15
最后登录
2019-4-12
2#
发表于 2009-11-1 22:54:19 |只看该作者
tb公式编写格式与c语言编写方式差不多,和文华飞狐等公式是不同的
例如var1:=vol*(Open+Close)/canshu;要改成var1=vol*(Open+Close)/canshu;直接用等号赋值
if(bool)括号内只能填写bool型结果的变量
学习帖:http://www.tradeblazer.net/forum/thread-242-1-1.html

使用道具 举报

Rank: 2

精华
0
UID
5345
积分
115
帖子
28
主题
3
阅读权限
30
注册时间
2009-9-2
最后登录
2019-3-24
3#
发表于 2009-11-2 22:42:39 |只看该作者

为何一点击“校验保存公式”就自动退出呢?

为何一点击“校验保存公式”就自动退出呢?谢谢老师
Params
    Numeric fastlength(88);
        Numeric slowlength(17);
        Numeric canshu(2);
Vars
    Numeric var1;
        Numeric var2;
        Numeric vol;
        NumericSeries ma17;
        NumericSeries bssm;
        NumericSeries cgx;
        Bool aa;
        Bool bb;
        Bool cc;
Begin
    var1=vol*(Open+Close)/canshu;
        bssm=Summation(Var1,fastlength)/Summation(vol,fastlength);
        PlotNumeric("bssm",bssm);
        cgx=Highest(Average(Close,slowlength),canshu);
        PlotNumeric("cgx",cgx);
        if(Average(Close,slowlength)<cgx)
        {
        (Average(Close,slowlength)-(cgx-Average(Close,slowlength)));
        }
        Else
        {
        cgx;
        }
        ma17=Average(Close,slowlength);
        PlotNumeric("ma17",ma17);
        var2=Average((OPEN+CLOSE+HIGH+LOW)/4,46);
        aa=(CLOSE>var2 AND CLOSE>Average(CLOSE, 5)) or (Close<var2 and Close>Average(Close,5) and Close>cgx);
    bb=(CLOSE<var2 and Close<Average(Close,5)) or (Close>var2 and Close<Average(Close,5));
    cc=aa and bb;
        If(aa);
        Buy(2,Close);
        If(cc);
        sell(2,close);
        if(bb);
        sell(2,close);
        If(cc);
        buy(2,close);
End

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
4#
发表于 2009-11-3 08:48:04 |只看该作者
查找公式管理器,是否有未通过编译的问题程序?先把有问题的公式删除后再试。
另外,你上面公式的if()语句后面不要加分号。且技术指标不能与指令在同一个公式里,得分开来写。

[ 本帖最后由 小米 于 2009-11-3 08:49 编辑 ]

使用道具 举报

Rank: 2

精华
0
UID
5345
积分
115
帖子
28
主题
3
阅读权限
30
注册时间
2009-9-2
最后登录
2019-3-24
5#
发表于 2009-11-3 22:30:41 |只看该作者

有问题的公式已经删除

有问题的公式已经删除,可一点击“校验保存公式”软件就自动退出,请问老师这是怎么回事呀?
是不是编写还是有错误啊?
Params
    Numeric fastlength(88);
        Numeric slowlength(17);
Vars
    Numeric var1;
        Numeric var2;
        Numeric vol;
        NumericSeries ma17;
        NumericSeries bssm;
        NumericSeries cgx;
        Bool aa;
        Bool bb;
        Bool cc;
Begin
    var1=vol*(Open+Close)/2;
        bssm=Summation(Var1,fastlength)/Summation(vol,fastlength);
        cgx=Highest(Average(Close,slowlength),2);
        IIF((Average(Close,slowlength)<cgx),(Average(Close,slowlength)-(cgx-Average(Close,slowlength))),cgx);
        ma17=Average(Close,slowlength);
        var2=Average((OPEN+CLOSE+HIGH+LOW)/4,46);

        aa=(CLOSE>var2&&CLOSE>Average(CLOSE, 5))||(Close<var2&&Close>Average(Close,5)&&Close>cgx);
    bb=(CLOSE<var2&&Close<Average(Close,5))||(Close>var2&&Close<Average(Close,5));
    cc=aa&&bb;

        If(aa);
        Buy(2,Close);
        If(cc);
        sell(2,close);
        if(bb);
        sell(2,close);
        If(cc);
        buy(2,close);
       
End

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
2
UID
4130
积分
20901
帖子
6519
主题
17
阅读权限
200
注册时间
2009-4-15
最后登录
2019-4-12
6#
发表于 2009-11-4 09:16:45 |只看该作者
1.Numeric var1;这个要声明成序列变量,应改为NumericSeries var1;
2.Numeric vol;这句要删去,vol这是系统已经定义为了成交量的关键字!
3.iif返回的值需要赋值使用,如果你不使用,那么iif那句也可以删掉

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
7#
发表于 2009-11-4 09:59:04 |只看该作者
if()语句后面的分号要去掉,这个昨天的贴子里已经提到了。
iif语句前面要有所需赋值给的变量名,这个昨天在QQ里我已经把代码原本给了你的。
vol是系统函数,不能再定义命名成变量,这个上面的管理员也提到了。
var1要定义成序列变量numericseries。
把这些问题改掉,你再试试。

使用道具 举报

Rank: 2

精华
0
UID
5345
积分
115
帖子
28
主题
3
阅读权限
30
注册时间
2009-9-2
最后登录
2019-3-24
8#
发表于 2009-11-4 12:25:36 |只看该作者
为管理员和版主的敬业精神感动.....谢谢你们的耐心解答。

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-5-7 22:19

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部