【飞狐交易师软件】函数简介其二
[ 来源: ] [ 作者: ][ 时间:2007-03-10 ]
二、字符串函数和解盘函数
字符串函数不可以单独输出,要用其它可以输出字符串的函数来输出。
解盘函数经过不断改进,已经比较完备了,以后再添加新解盘函数的可能性相当小。
1、
函数: STKLABEL
返回: 数组
说明: 取证券代码字符串
所有字符串函数,都不能单独输出。如果直接写STKLABEL,公式调试会通不过。用DRAWTEXT或者EXPLAIN等函数来输出字符串,才能正常显示。比如:
DRAWTEXT(ISLASTBAR,H,STKLABEL);
STKLABEL与ZQDMNUM不同,ZQDMNUM输出的是证券代码数值,如果写成:
DRAWTEXT(ISLASTBAR,L,ZQDMNUM);
是不合法的,调试会通不过。
2、
函数: STKNAME
返回: 数组
说明: 取证券名称字符串
DRAWTEXT(SYSPARAM(2)=BARSCOUNT(C),1,STKNAME),ALIGN4,COLORWHITE;
在左上角显示证券名称。
3、
函数: STKMARKET
返回: 数组
说明: 取证券所在市场代码字符串
用这个公式来观察:
DRAWTEXT(ISLASTBAR,H,STKMARKET),ALIGN4;
可以看到,
证券所 代码 备注
上海 SH AB股
深圳 SZ AB股
大连 DL 期货品种
上海 SQ 期货品种
郑州 ZZ 期货品种
4、
函数: STKINBLOCK(BLKNAME)
返回: 数字
说明: STKINBLOCK(BLKNAME) 属于输出1否则为0
示例: STKINBLOCK('上海A股');STKINBLOCK('金融板块')
这是判断某证券品种,是否属于某个板块。板块名称一定要写对。板块名称写错了,或者所写的板块根本就不存在,均返回0。
STKINBLOCK('上海A股');
STKINBLOCK('没有');
STKINBLOCK('大连期货');
5、
函数: STRCMP(STR1, STR2)
返回: 数组
说明: STR1>STR2输出1;STR1=STR2输出0;STR1<STR2输出-1
示例: STRCMP(STKLABEL, '000001') 为0表示证券代码为000001;
比如:
STRCMP('000002', '000001')
返回1。
6、
函数: STRNCMP(STR1, STR2, LEN)
返回: 数组
说明: 指定长度比较字符串
示例: VAR:=STRNCMP(STKNAME, 'ST', 2)=0 表示该股为ST股;
长度由LEN指定,指STR1的前LEN个字符,是否与STR2一样。一样的话返回0,否则返回1。
STRNCMP(STKNAME, 'ST', 2);
STRNCMP(STKNAME, '*ST', 3);
7、
函数: STRLEN(STR)
返回: 数组
说明: 取字符串长度
示例: check:STRLEN(USERNAME)>0
为0表示用户注册名为空
一个汉字,返回的字符串长度为2。
check:STRLEN(USERNAME);
STRLEN('000001');
STRLEN('清扬 ');{两个汉字,加上一个空格,返回5}
8、
函数: STKCOUNT(BLKNAME)
返回: 数组
说明: 板块所包含证券数量,
示例: STKCOUNT('上海A股');STKCOUNT('金融板块')
这个函数算出来的某板块中包含的证券数量,是不管是否已经摘牌,是否当天开盘停盘,全部统计在内的。
那么某板块中当天开盘的个股数量有几个?就要用横向变量来统计,这个函数做不到。
9、
函数: TPLDATACOUNT(TPLNAME)
返回: 数组
说明: K线模板数据数量
示例: TPLDATACOUNT('一马平川');“一马平川”K线模板数据数量
通俗地讲,就是所指定的K线模板中,有几根K线。
10、解盘函数
A、
函数: EXPLAIN(COND,TEXT)
说明: EXPLAIN(COND,TEXT),在COND条件满足时在[解]中输出解盘文字,可用'\n'空一行。
示例: EXPLAIN(HIGH>=HHV(HIGH,20), '创20天新高\n')表示在创20天新高时在[解]中输出解说并空1行显示下条解盘文字。
这是输出字符串,比如:
EXPLAIN(ISLASTBAR,STKNAME),COLORGREEN; {在解盘中输出证券名称}
EXPLAIN(ISLASTBAR,USERNAME),COLORGREEN; {用户注册名}
B、
函数: EXPLAINEX(COND,TEXT,NUMBER,PRECISION,SKIPLINES)
说明: 在COND条件满足时在[解]中输出数值解说。
PRECISION为小数显示位数,SKIPLINES为空出几行显示下一个解盘
示例: EXPLAINEX(HIGH>=HHV(HIGH,20), '20天新高价:',HIGH,2,1)表示在创20天新高时在[解]中输出数值解说。
这个可以输出字符串和数值。另外:
EXPALINEX指定的字符串中若带 %f,则数值在对应的位置替换显示。例如:explainex(1,'涨幅 %f %',(c-ref(c,1))/ref(c,1)*100,1,0);
这样相当于在解盘数据后,也可以带上字符串了。带上单位,显示会更清楚。比如:
EXPLAINEX(ISLASTBAR,'离金叉有 %f 天',BARSLAST(CROSS(MA(C,5),MA(C,10))),0,1);
C、
函数: EXPLAINICON(COND,ICON)
说明: 在COND条件满足时在[解]中绘制解盘图标,ICON为数字时4种图标编码为1-4(阴雨、初彩、中彩、彩虹)。为字符串表示自制图标
示例: EXPLAINICON(HIGH>=HHV(HIGH,20), 2)表示在创20天新高时在[解]中画2号图标(雨后初彩虹)。
EXPLAINICON(HIGH>=HHV(HIGH,20), 'MyBMP')表示在创20天新高时在[解]中画FmlDLL子目录下的自制图标MyBMP.BMP。
可用ALIGN0中对齐,ALIGN1左对齐,ALIGN2右对齐
可以输出系统自带图标,也可以输出BMP文件,与DRAWICON的设计非常相似。比如:
EXPLAINICON(HIGH>=HHV(HIGH,20), 2);
EXPLAINICON(ISLASTBAR,'TREE'),ALIGN0;
11、技巧
A、双击副图可使该副图最大化,再次双击恢复原来大小;
B、公式编辑器中可设置用于快速计算的数据数量;
(例如要正确计算出MA(C,5)的最后一组有效值只跟5组数据有关,所以只需调入5组数据进行计算。本设置可提高预警、条件选股、指标排序、报表自设指标等只需计算出最后一组数据的速度。请谨慎设置,设置数量太少将导致无输出或结果不准确)
共2页: 上一页 1 [2] 下一页
发布者:
注意:
· 遵守《全国人大常委会关于维护互联网安全的决定》,遵守中华人民共和国的各项有关法律法规。· 尊重网上道德,承担一切因您的行为而直接或间接导致的民事或刑事法律责任。
评论列表
用户名: (新注册) 密码: 匿名评论