您好,欢迎光临博庭科技! |服务中心|繁体版
  • 打印
  • 字号

飞狐公式编写入门之(四)

欢迎发表评论 2014-11-20 11:19   作者:admin

四、引用其它公式、引用其它周期、引用其它个股数据:

 
㈠引用指标公式/交易系统/条件选股公式
1、引用指标公式,可以写成:
"公式名称.指标线名称"(参数表), 其中参数表中的参数个数应该与该公式的实际参数数量一致,若不写参数表,则表示使用缺省参数。
例如:"MACD.DIFF",表示引用根据缺省参数,引用MACD指标中DIFF指标线数值。

2、引用交易系统公式,可以写为:
"SYSTEM.公式名称.交易类型"(参数表), 交易类型可以为ENTERLONG、EXITLONG、ENTERSHORT或者 EXITSHORT,分别表示引用多头买入、多头卖出、空头买入、空头卖出。
例如:"SYSTEM.MACD.ENTERLONG",表示根据缺省参数,引用MACD交易系统的多头买入条件。

3、用条件选股公式,可以写为:
"EXPLORER.公式名称"(参数表)
例如:"EXPLORER.MACD",表示根据缺省参数,引用MACD条件选股条件。

㈡跨周期引用公式  
下面举例说明跨周期引用的书写方法:

例1."MACD.DIFF#WEEK"(26,10,5)

表示引用MACD指标公式DIFF指标线的数值,在计算指标线值时,参数取(26,10,5),计算周期取周线。

例2."SYSTEM.MACD.ENTERLONG#MONTH"

表示引用MACD交易系统的多头买入信号,参数取缺省值,计算周期取月线。
例3. "VOL##DAY"
表示引用日线数据的前一周期(前天)的VOL指标,这里使用了双引用符号“##”。


注意:跨周期引用只能从较短周期引用较长周期,不允许反方向的引用。

可供引用的周期类型有:MIN1、MIN5、MIN15、MIN30、MIN60、DAY、WEEK、MONTH、YEAR、MULTIDAY、MULTIMIN、MULTISEC等十二种,分别表示1、5、15、30、60分钟线,以及日线、周线、月线、年线、多日线、多分钟线、多秒线。


㈢引用任意股票的数据
在公式中可以引用其它任何股票的数据,方法为:

"股票代码$数据名称"

数据名称可以是OPEN、HIGH、LOW、CLOSE、VOL、AMOUNT、CAPITAL,分别表示包括开盘价、最高价、最低价、收盘价、成交量、成交额、流通盘。

2、使用函数stkindi()引用任意证券任意周期的任意其它指标:
用法:STKINDI(STKLABEL,INDINAME,INDITYPE,PERIOD)
STKLABEL指定证券代码,如为空表示当前证券
INDITYPE为指标类型,有效值范围为(0-2),依次表示技术指标、条件选股、交易系统公式;
PERIOD为周期类型,有效值范围为(-1-12),依次表示:
当前周期、分笔成交、1分钟、5分钟、15分钟、30分钟、60分钟、日、周、月、年、多日、多分钟、多秒线
例1:STKINDI('1A0001','MA.MA1',0,-1);//计算1A0001的当前周期MA指标的MA1指标线
例2:STKINDI('','RSI.RSI1',0,2);//计算当前证券的5分钟周期MA指标的MA1指标线

3、举例说明:这里再举一个综合性的例子:

例1:在分笔周期的主图,显示价位线(即PRICE主图),按下面要求设计主图指标,设为SL005:
⑴显示最新价;
⑵显示均价线;
⑶显示昨收盘,以红色线表示;
求解:(请回顾一下,什么是主图指标、主图叠加指标)
⑴显示最新价,就是最新的收盘价。公式代码很简单,即

最新价:close;

⑵所谓均价,就是当天的平均成交价,等于“当前”的总成交金额除以“当前”的总成交量。在分笔周期,显示的主图,仅显示当天的数据,它的有效起始周期,是当天的开盘时间,结束于当天收盘。
当前”的总成交金额,等于从开盘到“当前”的成交金额总和,需用“引用函数”类中的求和函数即SUM(X,N),经查询,其注释为

{求总和。
用法: SUM(X,N),统计N周期中X的总和,N=0则从第一个有效值开始。
例如: SUM(VOL,0)表示统计从上市第一天以来的成交量总和}

成交金额的函数是amount,因此,“当前”的总成交金额为
sum(amount,0)
同理,“当前”的总成交量为
sum(vol,0)

这样,我们就得到均价的公式代码为

均价:sum(amount,0)/sum(vol,0);

⑶昨收盘,是日周期,现在我们是设计分笔周期的公式,这就是说,现在要从分笔周期引用日周期的昨收盘价。怎么办?当然要设计一个被引用的指标公式,设为yy001(意为“引用001”),只需一行代码

zsp:ref(c,1);

有了被引用的公式yy001,设计引用昨收盘的公式如下

昨收盘:"yy001.zsp#day",colorred;{意思是,引用公式yy001的变量(即指标线)zsp,被引用的周期是日线}

综合起来,本题的主公式代码如下(另有一个被引用公式yy001),

最新价:c;
均价:sum(amount,0)/sum(vol,0)/100;
昨收盘:"yy001.zsp#day",colorred;

最后公式编辑器中,设定公式的默认周期为分笔,其它周期全部禁用。

本讲小结:今天学习了如何引用其它公式、引用其它周期、引用其它个股数据。(飞狐交易师3.X新增了更加强大的引用其它公式的函数stkindi,将在后续教程中介绍)

练习1:在公式SL005的基础上,显示成交量的数值,但不显示成交量的指标线。(提示:使用线型描述)

练习2:根据本讲前面的若干简单例子,自行练习一些简单的公式,以熟悉本讲所学内容。

难题1:在1分钟周期中,设计量比曲线。量比定义:(总成交量/昨5日均量)*240/T,T为开盘后的交易分钟数。提示,本题难点在如何表达T,必须研究“时间函数”类中若干函数。

难题2:仿照叠加大盘的分时图及公式SL005,在1分钟周期中设计一个副图指标,要求叠加大盘指标。提示,本题难点在于,大盘如何跟个股叠加,因为二者的绝对数值相差很大。

思考:如果把本节SL005及YY001公式改如下,行不行?为什么?
YY001为
收盘价:close;

SL005为
最新价:c;
均价:sum(amount,0)/sum(vol,0)/100;
昨收盘:ref("yy001.收盘价#day",1),colorred;

我要评论



Copyright©广州新博庭网络信息科技股份有限公司 粤ICP备11107430号-3 All Rights Reserved 版权所有 复制必究

【工信部】

地址::广州市天河区花城大道667号美林基业大厦1201

回顶部