巧转大智慧公式
如果你把下载来的其他软件中的公式拷贝到大智慧里检测,遇到最多的错误是“未定义标识符”,它是说大智慧不认识这个“字”,通常是函数名等。如果公式在原软件中能正常运行,大部分情况是可改的 --- 把这些不认识的函数换成大智慧认识的、实现相同或类似功能的函数就行了。但也有根本不能改的情况 --- 大智慧没有实现相同或类似功能的替代函数可用。
一、公式转换方法
不懂公式的朋友要想转换公式,首先要对公式有一个大面上的了解,例如:
* 一个公式是由一或多个语句组成的。可能还有参数定义部分。
* 每条语句的最后必须是一个分号(最后一条可无分号)。
* 语句中的不同元素之间用逗号分隔。
* 在花括弧{}中的内容是注释,对公式本身没任何影响,就象根本没有它一样。
* 公式中的冒号、逗号、等号、圆括号、分号等必须是英文状态下键入的标点符号。
当检测出“未定义标识符”错时,你一单击〈确定〉,光标就指到了那个出错的标识符上了。所以,不要慌,看看你能不能把它替换成大智慧中等价或类似的标识符。例如公式中有以下语句:
MA5: ma(close,5), ColorMAGENTA;
报错后,光标停在ColorMAGENTA字上,因为大智慧不认识它。但你知道这是指某种颜色。于是,把它换成大智慧认识的任何一种颜色就行,例如换成ColorFF00FF。这个语句就过了。如此继续,你一个一个地改,直到检测通过。
下文将最经常遇到、又最容易修改的“未定义标识符”列出来,也许你知道这些就能把一个比较简单的公式改好了。实在通不过,再去〈求助区〉发帖请高手帮你。不过我还是劝你学习一下怎样编公式,即便不精通,也要知道个大概,起码能改改下载来的公式。就象我似的,直到今天本人对大智慧公式也仅仅是初步了解,对其他行情软件的公式更是从未碰过,但也能凑合修修改改了。
二、“未定义标识符”:
(1) input:P1(60,1,250),P2(11,1,200); 参数描述
改: 把本语句用花括弧{}括起来。再把这些写在参数定义中。
例如P2(11,1,200)表示参数名是P2,默认值是11,最小值1,最大值200。
详解未定义标识符
(2) 颜色
在大智慧里,颜色有两种表示方式:
1)使用英文字,如
COLORWHITE(白) COLORRED(红) COLORGREEN(绿) COLORBLUE(蓝)
但以下这些在大智慧里则属于“未定义标识符”:
COLORBLACK黑色 COLORBROWN 棕色 COLORMAGENTA晶红
COLORCYAN青色 COLORGRAY 灰色
你必须删掉或改成大智慧认识的颜色。
2)使用颜色代码,如Color000000(黑), ColorFFFFFF(白)等。 一般格式为:
ColorXXXXXX
其中XXXXXXX是6位16进制数字,每一位可以是:
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,或 F
你可以查颜色代码表。随便写也行,然后看显示的颜色,不满意再改。
我看到有的公式中有“ColorFF”这样的省写,即只写了2位或4位数字,你必须把它补全成6位数字:改成“ColorFF0000”或 “Color0000FF”,是坐补0或右补0,取决于原软件系统的规定。对于改公式来说,反正没关系,用什么颜色不过是自己的喜好。
3)有的公式中还有一种RGB颜色表示法,如ColorRGB(255,255,0),它等同于ColorFFFF00,一般地,你把COLORRGB(x,y,z)中的3个参数换成3个16进制数就行了:ColorXXYYZZ。如果你不懂16进制,就按2)随便改成一种颜色吧。
(3)DRAWGBK(x,COLOR1,COLOR2,Dir);
原意是画渐变背景色,大智慧不支持此函数。虽然在大智慧里能用较多的语句画出颜色渐变的背景,但不画也罢。你把该语句用{}括起来就是。
如果你在屏幕上显示多个副图,每个公式又很复杂的话,显示其实是挺慢的。当你用PageUp/PagrDown键换股时就能感觉到这种慢。所以除非追求美观,公式还是能简单就简单点好。
(4)PartLine(X,Y),ColorXXXXXX; 几条PartLine语句一起,用来画变色的曲线。
把此语句改成:
StickLine(X,Y-d,Y+d,k,0), ColorXXXXXX;
StickLine画出的线是由一系列小矩形组成的。
其中取d=0.005或d=0.01等,d越大画出的矩形越厚;
取k=1—8,k越大矩形越宽,k<=5就变成虚线了。
(5)Vertline(X); 当X非0时画竖线。
改成StickLine(X, -m, +m,k,0);
其中m取足够大的数即可,k是线宽:1 -- 8。
(6)ALIGNi (i=0--5)
删去就行了。别忘了,把ALIGNi前面的逗号也要删去。
(7)公式中的参数
如果公式带参数,你忘了在参数表中定义,那出现在公式中的每个参数都是“未定义标识符”。
网友评论