[原创]大智慧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 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容