设为首页收藏本站

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

有大神看看为什么总提示缺少分号吗 [复制链接]

Rank: 1

精华
0
UID
268028
积分
16
帖子
11
主题
5
阅读权限
10
注册时间
2018-7-27
最后登录
2019-3-18
跳转到指定楼层
1#
发表于 2019-2-26 21:38:29 |只看该作者 |倒序浏览
MACDValue > 0 And AvgMACD > 0 And CountIf(s,BARSLAST(MACDValue < 0 And AvgMACD < 0)) = 1 And s And L > ma1 And at;
MACDValue < 0 And AvgMACD < 0 And CountIf(s,BARSLAST(MACDValue > 0 And AvgMACD > 0)) = 1 And s And L > ma1 And at;
MACDValue > 0 And AvgMACD > 0 And CountIf(s,BARSLAST(MACDValue < 0 And AvgMACD < 0)) = 1 And s And L > ma1 And rt;
MACDValue < 0 And AvgMACD < 0 And CountIf(s,BARSLAST(MACDValue > 0 And AvgMACD > 0)) = 1 And s And L > ma1 And rt;

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
2#
发表于 2019-2-27 09:59:12 |只看该作者
判断式是的等于符号是 ==

使用道具 举报

Rank: 1

精华
0
UID
268028
积分
16
帖子
11
主题
5
阅读权限
10
注册时间
2018-7-27
最后登录
2019-3-18
3#
发表于 2019-2-27 10:46:00 |只看该作者
dt1 = Close > MA3;
        dt2 = MA1[nOffset] > MA1[1][nOffset] *Min;
        dt3 = MA2 > MA2[1] *Min;
        dt = dt1 And dt2 And dt3;
       
        kt1 = Close < MA3;
        kt2 = MA1 < MA1[1] *Min;
        kt3 = MA2 < MA2[1] *Min;
        kt = kt1 And kt2 And kt3;

我想用均线设立一下多空头的的指标,但是说不是变量不能回溯,什么意思?我的思路是MA1比前一个MA1大,MA2比前一个MA2大,且最新价在MA3上方定义为多头,MA是均线,要怎么写?

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
4#
发表于 2019-2-27 11:15:31 |只看该作者
baimazhuijishou 发表于 2019-2-27 10:46
dt1 = Close > MA3;
        dt2 = MA1[nOffset] > MA1[1][nOffset] *Min;
        dt3 = MA2 > MA2[1] *Min;

将MA1,MA2,MA3等变量声明为numericsereies类型的。

使用道具 举报

Rank: 1

精华
0
UID
268028
积分
16
帖子
11
主题
5
阅读权限
10
注册时间
2018-7-27
最后登录
2019-3-18
5#
发表于 2019-2-27 11:48:35 |只看该作者
MINPRICE 老师文华这个取合约最少变动价位,TB是哪个函数

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
6#
发表于 2019-2-27 13:14:40 |只看该作者
baimazhuijishou 发表于 2019-2-27 11:48
MINPRICE 老师文华这个取合约最少变动价位,TB是哪个函数

minmove*pricescale

使用道具 举报

Rank: 1

精华
0
UID
268028
积分
16
帖子
11
主题
5
阅读权限
10
注册时间
2018-7-27
最后登录
2019-3-18
7#
发表于 2019-2-27 13:28:42 |只看该作者
bk1 = MACDValue > 0 And AvgMACD > 0 And CountIf(s,NthCon(MACDValue < 0 And AvgMACD < 0)) == 1 And s And L > MA4 And dt;
       
        bk2 = MACDValue < 0 And AvgMACD < 0 And CountIf(j,NthCon(MACDValue > 0 And AvgMACD > 0)) == 1 And j And L > MA4 And dt;

我这个公式意思是macd快慢线上穿0轴后第一次死叉就出信号,为什么加载后没信号显示

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
8#
发表于 2019-2-27 14:24:23 |只看该作者
baimazhuijishou 发表于 2019-2-27 13:28
bk1 = MACDValue > 0 And AvgMACD > 0 And CountIf(s,NthCon(MACDValue < 0 And AvgMACD < 0)) == 1 And s  ...

条件里有很多判断式,任一判断式不成立,自然就 不会有信号。

另countif的用法不对,一个是需要放到条件外进行赋值运算,二个是该函数的第二个参数应该是周期长度的数值,且不能将nthcon的运算当参数,也是需要放到条件外计算才可代入。三个是nthcon的用法也不会,请先看一下帮助文档里的函数说明。


使用道具 举报

Rank: 1

精华
0
UID
268028
积分
16
帖子
11
主题
5
阅读权限
10
注册时间
2018-7-27
最后登录
2019-3-18
9#
发表于 2019-2-27 14:42:22 |只看该作者
能改个正确人公式我参考哪里出问题吗?现在就是对公式函数不熟悉,没有一个思路去学,不懂怎么运用,如果有个正确的做参考,在研究就比较容易明白函数的含义,谢谢

使用道具 举报

Rank: 1

精华
0
UID
274935
积分
11
帖子
7
主题
0
阅读权限
10
注册时间
2019-1-19
最后登录
2021-5-20
10#
发表于 2019-3-8 19:07:52 |只看该作者

Params
       
        Numeric Lots(1);
        Numeric FastLength(12);
        Numeric SlowLength(26);
        Numeric MACDLength(9);

Vars
       
        BoolSeries BuyEntry(False);
        BoolSeries SellEntry(False);
        BoolSeries BuyExit(False);
        BoolSeries SellExit(False);
       
        Numeric MinPoint;          // 一个最小变动单位,也就是一跳
       
        NumericSeries AvgMACD;
        NumericSeries MACD;
        Numeric MACDDiff;
       
       
       
Begin
        MinPoint = MinMove*PriceScale;
       
        //过滤集合竞价
        If(BarType==1 && BarStatus==2 && (Time==0.210000||Time==0.090000) && High==Low) return;        //分钟周期过滤集合竞价
        If(BarType!=1 && !CallAuctionFilter()) return;        //其他周期的过滤集合竞价
       
        //MA
       
        //MACD
        MACD= XAverage( Close[1], FastLength ) - XAverage( Close[1], SlowLength ) ;       
        AvgMACD = XAverage(MACD,MACDLength);
        MACDDiff = MACD - AvgMACD;
        PlotNumeric("MACD",MACD);
        PlotNumeric("MACDAvg",AvgMACD);
       
       
       
       
        //开平仓条件
      SellEntry = MACD>= MACDDiff  and   AvgMACD >= MACDDiff   ;  //开空
      BuyEntry = MACD <= MACDDiff and   AvgMACD <= MACDDiff  ;  //开多
      SellExit = CrossOver(MACD,AvgMACD);  //平空
      BuyExit = CrossUnder(MACD,AvgMACD);   //平多
       
       
        //程序主体               
        If(MarketPosition<> 1  and   BuyEntry  and CrossOver(MACD,AvgMACD)    )
        {
                Buy(Lots,Open);
       
                Commentary("开多");
        }
       
        If(MarketPosition<>-1 and SellEntry   and  CrossUnder( MACD,AvgMACD)  )
        {
                SellShort(Lots,Open);
       
                Commentary("开空");               
        }
       
       
        If(MarketPosition==-1 && BarsSinceLastEntry>=1 )
       
        {
        If( SellExit )
        {
                BuyToCover(0,Open);
                Commentary("平空");
        }
        }
       
       
        If(MarketPosition==1 && BarsSinceLastEntry>=1  )
        {
        If( BuyExit)
        {
                Sell(0,Open);
                Commentary("平多");
               
        }
       
        }
       
End

使用道具 举报

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

bottom

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

GMT+8, 2024-4-24 13:08

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部