设为首页收藏本站

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

请教编程问题 [复制链接]

Rank: 1

精华
0
UID
170177
积分
16
帖子
13
主题
3
阅读权限
10
注册时间
1970-1-1
最后登录
2020-6-26
跳转到指定楼层
1#
发表于 2019-11-7 15:33:37 |只看该作者 |倒序浏览
Params
        Numeric Length1(10);
        Numeric Length2(30);
        Numeric Length3(60);

Vars
        //此处添加变量
    Numeric Dea;
        Numeric Diff;
        Numeric MACD;
        Numeric MA10;
        Numeric MA30;
        Numeric MA60;
        Numeric Peakval;
        Numeric Vallyval;
        Numeric ExtreV;
        Numeric EVP;
        Numeric Peak_s;
        Numeric Vally_s;
       
        BOOL    SIT_P;
        BOOL    SIT_v;
        BOOL    TEST1;
        BOOL    TEST2;
        BOOL    TEST3;
        BOOL    TEST4;
Events
        OnBar(ArrayRef<Integer> indexs)
        {
        Diff = XAverage( Close, 12) - XAverage( Close,26) ;       
            Dea = XAverage(Diff,9);
            MACD = 2*(Diff - Dea);
            MA10 = AverageFC(Close,Length1);
            MA30 = AverageFC(Close,Length2);
            MA60 = AverageFC(Close,Length3);
            
            PlotNumeric("MA10",AverageFC(Close,Length1),red);
            PlotNumeric("MA60",AverageFC(Close,Length3),blue);
            
                  
           SIT_P = ((NthCon(Dea<0 && MA10<MA60,1) == 0 && NthCon(Dea<0 && MA10<MA60,2)>1 && CountIf(Dea>0 && MA10>MA60,NthCon(Dea<0 && MA10<MA60,2))>1));
           TEST1 = ((NthCon(Dea<0 && MA10<MA60,1) == 0) && (NthCon(Dea<0 && MA10<MA60,2)>1));
           test2 = NthCon(Dea<0 && MA10<MA60,2)>1;
           test3 = NthCon(Dea<0 && MA10<MA60,1) == 0;
           test4 = test2 && test3;
         
           COMMENTARY("nthcon"+text(NthCon(Dea<0 && MA10<MA60,1)));
           COMMENTARY("nthcon"+text(NthCon(Dea<0 && MA10<MA60,2)));
           COMMENTARY("VALLYVAL="+text(Vallyval));
           COMMENTARY("VALLY_S="+text(Vally_S));
           PlotBool("TEST1",TEST1);
           PlotBool("TEST2",TEST2);
           PlotBool("TEST3",TEST3);
           PlotBool("TEST4",TEST4);
        }

以上程序中,当test2 为true, test3为true,写成test4也是ture。但是test1的表达式却是false。为什么?请教了。有知道的指点下,不胜感谢!

Rank: 1

精华
0
UID
170177
积分
16
帖子
13
主题
3
阅读权限
10
注册时间
1970-1-1
最后登录
2020-6-26
2#
发表于 2019-11-8 12:01:43 |只看该作者
小米版主,能帮忙指点一下吗?谢谢了。

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
3#
发表于 2019-11-8 14:41:41 |只看该作者
hill_Luo 发表于 2019-11-8 12:01
小米版主,能帮忙指点一下吗?谢谢了。

正确的写法就是test2,test3,test4这个步骤。。。
nthcon的计算判断并非只要当前bar的数据就可以计算出来的,也需要历史K线上的相关数据才能计算出来。
在Test1语句中,前一个判断的满足与否会影响后一个判断式是否进行计算。如果前一个判断为否,则后一个根本不计算了。如果历史中的相关值没有计算到,那也没法在当前K线得出正确的结果。。

所以,只test234的写法才能确保每一个必要的数据都有被正确计算。

使用道具 举报

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

bottom

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

GMT+8, 2024-5-9 09:11

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部