我的体验中心    飞狐数据中心    北京股道中心    阳光E商城    阳光365卡     银行汇款     
  最新推荐:
 
 您的位置:首页>飞狐交易师>函数应用> 文章内容

【飞狐交易师软件】函数简介其二
[ 来源: ] [ 作者: ][ 时间: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] 下一页
发布者:   
 
    ·在线评论

注意:

· 遵守《全国人大常委会关于维护互联网安全的决定》,遵守中华人民共和国的各项有关法律法规。
· 尊重网上道德,承担一切因您的行为而直接或间接导致的民事或刑事法律责任。

评论列表

用户名: 新注册) 密码: 匿名评论

主办单位:北京博庭科技发展中心 ICP编号:京ICP备05005105号
阳光飞狐在线@2002 - 2007 本站域名www.88158.cn 北京博庭 All Rights Reserved
网站值班电话 010-51286365 【8小时X365天】 MSN:VIP88158@sohu.com 系统集成:DedeCMS