您现在的位置:程序化交易>> 股票公式>> 大智慧>> 大智慧知识>>正文内容

[原创]大智慧FILTER函数的再测试,自打补丁的方法。 [大智慧]

  • 咨询详情:

    设计了四段测试程序,有用者自能解读,上源码。暂时无图片的网址。

     

    {找出K线连阳三天的地方,并将连阳3天的首日K线用黄色显示。}
    {这里给出4段测试程序,大家可分别试一试,试过以后在找结论}
    {
    最好用近几天的上证指数K线图测试,2014-03-20以后很典型。
    稍微改一下后移植到通达信上测试,结果也差不多。看来这两家软件FILTER的算内核法差不多!
    }

     

     

    {测试1  原始测试}

     连阳3天:=COUNT(C>O,3)=3;
     DRAWTEXT(连阳3天,H,'↖连阳3天的确立日',25),COLOR0099FF;

     BACKSET100:=BACKSET(连阳3天,3);
     FILTER100:=FILTER(BACKSET100,2);
     
     BBB:BACKSET100,LINETHICK0;
     FFF:FILTER100,LINETHICK0;

     STICKLINE(FILTER100,OPEN,CLOSE,6,0),COLOR0099FF;
     DRAWTEXT(FILTER100,LOW,'↖连阳3首日',5),COLOR0099FF;
     DRAWTEXT(FILTER100,LOW,NUMTOSTR(FFF) ,25),COLOR0099FF;

     


    {测试2 输出显示BACKSET的测试 结果如预期的一样-正确 }
    {
     连阳3天:=COUNT(C>O,3)=3;
     DRAWTEXT(连阳3天,H,'↖连阳3天的确立日',25),COLOR0099FF;

     BACKSET100:=BACKSET(连阳3天,3);
     FILTER100:=FILTER(BACKSET100,2);
     
     BBB:BACKSET100,LINETHICK0;
     FFF:FILTER100,LINETHICK0;

     STICKLINE(BACKSET100,OPEN,CLOSE,6,0),COLOR0099FF;
     DRAWTEXT(BACKSET100,LOW,'↖连阳3首日',5),COLOR0099FF;
     DRAWTEXT(BACKSET100,LOW,NUMTOSTR(FFF) ,25),COLOR0099FF;
    }

     

     

    {测试3 输出显示FILTER的一个拷贝,结果同原测试1}

    {
     连阳3天:=COUNT(C>O,3)=3;
     DRAWTEXT(连阳3天,H,'↖连阳3天的确立日',25),COLOR0099FF;

     BACKSET100:=BACKSET(连阳3天,3);
     FILTER100:=FILTER(BACKSET100,2);

     BBB:BACKSET100,LINETHICK0;
     FFF:FILTER100,LINETHICK0;

     STICKLINE(FFF,OPEN,CLOSE,6,0),COLOR0099FF;

     DRAWTEXT(FFF,LOW,'↖连阳3首日',5),COLOR0099FF;
     DRAWTEXT(FFF,LOW,NUMTOSTR(FFF) ,25),COLOR0099FF;
    }

     


    {测试4 用以毒攻毒的办法打补丁,是程序输出显示正确的结果-不得已而为之。这也是我在编制“黄金柱主图”,时所采用的方法!}
    { 用在FILTER应该为0的区域,用建立新的FILTER指针的方法显示 新指针为 FILTER101、FILTER102、 FILTER103、 FILTER104 新指针在程序解释器中肯定是在新的内存缓冲区建立的,一般不会与其他的指针冲突}
    { 在测试中,FILTER的结果用了屏幕顶行显示、绘图函数输出、字符串函数显示等方法输出。}
    {用大量的代码,为FILTER擦才屁股!}

    {
     连阳3天:=COUNT(C>O,3)=3;
     DRAWTEXT(连阳3天,H,'↖连阳3天的确立日',25),COLOR0099FF;
     BACKSET100:=BACKSET(连阳3天,3);
     FILTER100:=FILTER(BACKSET100,2);
     STICKLINE(FILTER100 AND NOT(REF(FILTER100,3)),OPEN,CLOSE,6,0),COLOR0099FF;
     DRAWTEXT(FILTER100  AND NOT(REF(FILTER100,3)) ,LOW,'↖连阳3首日1',5),COLOR0099FF;

     BBB:BACKSET100,LINETHICK0;
     FFF:FILTER100,LINETHICK0;


     连阳3天1:=连阳3天 AND REF(连阳3天,1);
     DRAWTEXT(连阳3天1,H,'↖连阳3天的确立日1',25),COLOR0099FF;
     BACKSET101:=BACKSET(连阳3天1,3) AND NOT(REF(连阳3天1,1));
     FILTER101:=FILTER(BACKSET101,2);
     STICKLINE(FILTER101 AND NOT(REF(FILTER101,3)),OPEN,CLOSE,6,0),COLOR0099FF;
     DRAWTEXT(FILTER101 AND NOT(REF(FILTER101,3)) ,LOW,'↖连阳3首日2',5),COLOR0099FF;

     BBB1:BACKSET101,LINETHICK0;
     FFF1:FILTER101,LINETHICK0;


     连阳3天2:=连阳3天 AND REF(连阳3天,2);
     DRAWTEXT(连阳3天2,H*1.01,'↖连阳3天的确立日2',25),COLOR0099FF;
     BACKSET102:=BACKSET(连阳3天2,3) AND NOT(REF(连阳3天1,2));
     FILTER102:=FILTER(BACKSET102,2);
     STICKLINE(FILTER102 AND NOT(REF(FILTER102,3)),OPEN,CLOSE,6,0),COLOR0099FF;
     DRAWTEXT(FILTER102 AND NOT(REF(FILTER102,3)) ,LOW,'↖连阳3首日3',5),COLOR0099FF;

     

     连阳3天3:=连阳3天 AND REF(连阳3天,3);
      DRAWTEXT(连阳3天2,H*1.005,'↖连阳3天的确立日3',25),COLOR0099FF;
    BACKSET103:=BACKSET(连阳3天3,3) AND NOT(REF(连阳3天1,3));
     FILTER103:=FILTER(BACKSET103,2);
     STICKLINE(FILTER103 AND NOT(REF(FILTER103,3)),OPEN,CLOSE,6,0),COLOR0099FF;
     DRAWTEXT(FILTER103 AND NOT(REF(FILTER103,3)) ,LOW,'↖连阳3首日3',5),COLOR0099FF;


     连阳3天4:=连阳3天 AND REF(连阳3天,3);
      DRAWTEXT(连阳3天4,H*0.993,'↖连阳3天的确立日4',25),COLOR0099FF;
     BACKSET104:=BACKSET(连阳3天4,3) AND NOT(REF(连阳3天1,4));
     FILTER104:=FILTER(BACKSET104,2);
     STICKLINE(FILTER104 AND NOT(REF(FILTER104,3)),OPEN,CLOSE,6,0),COLOR0099FF;
     DRAWTEXT(FILTER104 AND NOT(REF(FILTER104,3)) ,LOW,'↖连阳3首日3',5),COLOR0099FF;


    }

    {
    不多解释了,大家能看懂的,大家说我们程序员好当吗?如果题目是连阳9天,得累死人!
    }
    {
    另外发现:
    当BACKSET函数的第一个参数,如这里的‘连阳3天’,是由若干条件语句分行形成的一个复杂条件判断结果时,千万不要在屏幕顶直接输出!会乱的一塌糊涂。一定要想这里一样输出其结果的拷贝。
    当用IF THEN BEGIN END ELSE IF....结构时,FILTER不能出现在块中,程序会陷入死循环甚至崩溃!到现在也未找出规律。
    }

     

     

    {};

     

  • 大智慧客服:

    您好,非常抱歉,如是一般的公式,可以在软件内输入sq,在社区界面点左侧“技术支持”来咨询和确认相关公式问题。

     

 

有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友

可联系技术人员 QQ: 511411198  点击这里给我发消息进行 有偿 编写!不贵!点击查看价格!


【字体: 】【打印文章】【查看评论

相关文章

    没有相关内容