全部 智大领峰 TBQuant功能 TBL语言 TB开户 问答专区 高手圈 其他
缺少分号
2022-01-01 12:33

Params

Vars
    Numeric MA1;
    Numeric MA3;

Events
    OnBar(ArrayRef<Integer> indexs)
    {
    PlotNumeric("MA1",AverageFC(Close,5));
    PlotNumeric("MA3",AverageFC(Close,20));
    if(CrossOver(MA1,MA3)) PlotBool("金叉",true);
    if(MarketPosition<>1) and CrossOver(MA1,MA3));
        {
            buy(1,Close);
        }
    if(MarketPosition<>-1)and CrossUnder(MA1,MA3));
       {
            sellShort(1,Close);
           }    
    }

 

编译的时候错误   第20行缺少分号。

可是我分号加进去还是一样显示同样的错吴。求大神指导一下。

Bryan2020

不是缺少分号,而是分号太多了。if(MarketPosition<>1) and CrossOver(MA1,MA3));和if(MarketPosition<>1) and CrossOver(MA1,MA3));这两句后面是不能有分号的。

顺便说一句,你把CrossOver放到 if 语句内部是会出问题的。具体可以看看这个视频:http://www.tbquant.net/train/121.html

2022-01-01 14:25
xdqh10180603
@Bryan2020

我分号去掉还是显示同样的错误,我也是看你发我的这个视频开始学做的,编译不了,做不下去了,卡在这里。

2022-01-01 19:30
TB_ABC

if(MarketPosition<>1) and CrossOver(MA1,MA3))

多个括号

2022-01-01 20:56
xdqh10180603
@TB_ABC

已解决,多谢。写程序比绣花要困难100倍

2022-01-01 22:04
xdqh10180603
@xdqh10180603

编译已经成功,添加到K线图上,没有交易信号。是哪里错了吗?看视频里是有信号的。

2022-01-01 23:15
TB_ABC
@xdqh10180603

Params

Vars
    Numeric MA1;
    Numeric MA3;
    Bool B;
    Bool S;
Events
    OnBar(ArrayRef<Integer> indexs)
    {
            MA1 = AverageFC(Close,5);
            MA3 = AverageFC(Close,20);
            PlotNumeric("MA1",MA1);
            PlotNumeric("MA3",MA3);
            B = CrossOver(MA1,MA3);
            S = CrossUnder(MA1,MA3);
            if(B) PlotBool("金叉",true);
            if(MarketPosition<>1 and B)
            {
                buy(1,OPEN);
            }
            if(MarketPosition<>-1 and S)
            {
                sellShort(1,OPEN);
            }
     }

对比一下这组代码和你那组代码的区别,在看一下网上老师讲课的视频你就知道问题差在哪了。
买入卖出的close换成了open,是因为用close会产生信号闪烁

信号闪烁产生原因及处理方法20211104 http://www.tbquant.net/train/239.html

2022-01-02 06:45
a2420956784
@TB_ABC

用open的话,回测不是会出现偷价的问题吗?

2022-01-02 19:29
TB_ABC
@a2420956784

open是开盘价,出现之后就固定死了,不会变的,怎么可能会出现偷价

2022-01-02 21:45
xdqh10180603
@TB_ABC

CrossOver(MA1,MA3)和MA1>MA3 And MA1[1]<MA3{1]有没有区别?

2022-01-04 22:27
TB_ABC
@xdqh10180603

@xdqh10180603

没区别

2022-01-05 19:29
您未登录,请先 登录注册 后发表评论
顶部