搜索
查看: 4133|回复: 0

飞狐公式系统--技术分析描述语言系统

[复制链接]
发表于 2014-4-27 17:49 | 显示全部楼层

飞狐公式系统--技术分析描述语言系统

来自:MACD论坛(bbs.shudaoyoufang.com) 作者:XXM2014 浏览:4133 回复:0

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
『飞狐交易师』的公式系统是一套功能强大、使用简单的技术分析描述语言系统。

  公式系统的作用是什么呢?公式系统其实就是对一系列随时间变化的原始数据组序列进行代数和逻辑计算。为什么是数据组序列呢?因为每一个时间周期(即相邻两组数据间的时间间隔)都包含了一组原始数据,如开高低收量额,公式系统能对其中的任何原始数据进行操作。使用者定义出如何对原始数据进行处理得到一个新的数据,公式系统读出原始数据并按要求计算出使用者定制的数据,并以曲线、图形、指示等形式显示出来。

  公式系统可以编辑四种类型的公式,分别是技术指标、交易系统、条件选股和五彩K线公式。技术指标公式是最基本的公式,它用于指标图形的绘制。技术指标公式结合选股条件逻辑判断表达式,即得到条件选股公式,用于条件选股。技术指标公式结合买卖逻辑判断表达式,得到交易系统公式,用于交易系统指示。技术指标公式结合色彩逻辑判断表达式,即得到K线模式公式,用于描述特定的K线模式。公式的编辑在公式编辑器中完成。

 公式系统处理的原始数据的分析周期(即相邻两组数据间的时间间隔)可以从1分钟到1000天间的任意值,也可以是分笔成交数据,我们用鼠标把一个公式拖到某只证券的某个周期的图形分析窗口,则该公式处理这个周期的原始数据,如开高低收量额,改变分析窗口显示的分析周期,则公式处理新的分析周期的数据。

   公式系统对数据的运算是基于一系列『函数』,函数中除ZIG之字转向函数类和BACKSET函数外,其余函数均满足时间不变性,即时间靠后的数据不对时间靠前的结果产生影响。

弹出公式编辑器后,在公式名称处输入sl001,在公式说明中输入“示例公式001”,在代码框中输入“spj:”,点“插入函数”,在“行情函数”中找到CLOSE,点“插入函数”框的“确定”按钮,在代码框中就插入了一个函数CLOSE。
  注:收盘价函数CLOSE可以简写为C,其它如开盘价等经常使用的函数OPEN、HIGH、LOW、VOL也可以简写为其第一个字母。

最后在公式编辑器中点“确定”按钮,我们就建立了一个名为sl001的新公式。公式只有一行代码即:

spj:close

其中,spj(“收盘价”的拼音代码)称为公式变量,close是函数(行情函数的一种)两者间以半角的冒号“:”相隔,表示spj定义为close。

  3、进入某个股的K线图,在键盘上敲“sl001”调用我们刚才设计的公式,结果在副图显示一条收盘价曲线,曲线的名称是“spj”

  注意观察,该曲线是对应了K线的第一天到最后一天,说明,“spj”不是一个简单的变量,是一个数组或者说是一个序列变量,当然理解成一个函数也可以,是一个自变量为时间日期的函数。
  因此,今后看公式时,对公式中的变量,一定要理解成是一个序列变量。(序列变量---字面上理解,就是含有一个序列的变量。如“spj:close”,spj就被定义为一个序列变量,spj的值是一个序列,包含很多收盘价,spj的值跟日期(或一般意义上的所处周期)有关,不同的交易日,spj的值就不同,序列变量,有点类似数学中的数列。)

  4、在副图指标sl001的空白处,点鼠标右键选“修改指标公式”,在公式编辑器中,看到“主图叠加”的选项了吗?打上“√”确定退出。键盘敲“sl001”,调用sl001公式,结果你看到了什么?

  结果是,副图指标sl001变成了主图叠加指标sl001。
  在主图指标的名称sl001处,点鼠标右键选“修改指标公式”,在公式编辑器中给“主图”选项打上勾,确定退出。再观察一下,有何变化?

  结果是,主图叠加指标变成主图指标,取代了原有的主图(图中是,主图K线被SL001指标所取代,因此就看不到K线了)。

二、参数、参数精灵及其应用:

  1、起始有效周期:

  上一讲,我们学习了在飞狐中新建公式的基础知识。并编了一个最简单的公式SL001。下面我们再来新建一个主图叠加公式SL002,代码如下:

ma5:ma(close,5);{可以简写为ma5:ma(c,5);}

  代码解释:定义了一个序列变量ma5,其序列值由函数ma(close,5)确定。查ma函数的注释是:
{
求简单移动平均。
用法: MA(X,N),求X的N日移动平均值。
算法: (X1+X2+X3+...+Xn)/N
例如: MA(CLOSE,10)表示求10日均价
}
显然,ma5被定义为5日均价,在K线图中,切换股票到600004(行情 消息 资金),敲sl002,调用这个公式,观察5日均价曲线,发现了什么?

  可以看出,ma5是从第5根K线开始的,也就是说,ma5的起始有效周期是5,为什么是5而不是其它数据?根据ma函数的定义,ma5即ma(close,5)等于当日及前4日收盘价的算术平均值,至少要有5天的数据,这就是说,从第5天开始,才会有5日均价。

  想想看,ma(close,10)表示什么?它的起始有效周期是多少?

  下面,我们修改刚才建立的公式sl002,代码如下:

ma5:ma(close,5);
ma10:ma(close,10);
ma20:ma(close,20);
ma30:ma(close,30);
ma60:ma(close,60);

注意,每一行公式代码的末尾要有一个半角的分号“;”,表示一行代码结束。切换股票到600317(行情 消息 资金),观察我们修改后的sl002显示的结果,原来就是我们所熟悉的均线系统,由5、10、20、30、60日均价线组成。

  2、参数、参数精灵:

  上面修改后的公式sl002,已经是很实用的公式了。但有个缺点,如果你想要的不是5、10、20、30、60日均价线,而是其它的譬如7、14、21、28、35日的均价线,怎么办?修改公式代码是一个可行的办法,但太麻烦。在飞狐中,可以使用参数,把公式sl002修改如下:

ma5:ma(close,n1);
ma10:ma(close,n2)
ma20:ma(close,n3);
ma30:ma(close,n4);
ma60:ma(close,n5);

在公式编辑器中,输入参数n1----n5的最小、最大、缺省值。
  为了验证公式代码是否正确,用鼠标左键点“调试公式”按钮,飞狐提示“行3:语句缺少分号”,仔细分析公式代码,原来是第2行少了分号,修正后再点“调试公式”按钮,提示“调试通过”。点“确定”按钮退出并保存公式。

参照上图一边修改参数,一边观察指标线是否变化。最后可以按照自己的需要,把参数修改为自己所需的数值。到此应该满意了吧?
  说明:从前面的图中,可以看出,飞狐交易师支持多达16个参数。

  3、参数精灵:在上面修改参数的过程,是否注意到参数的提示?因为公式是自己设计的,参数的提示尽管很简单,但自己仍然知道参数的含义,但如果是其他人的话,就可能摸不着头脑了,因此有必要对参数加上一点提示。方法是,在公式编辑器中,点“参数精灵”按钮,输入以下文字:

Param#1日均价(1--999);
Param#2日均价(1--999);
Param#3日均价(1--999);
Param#4日均价(1--999);
Param#5日均价(1--999);

这里,Param#1表示参数N1,其它依此类推,点“确定”退出公式编辑器。再试试调整参数,发现参数调整窗口的提示已经符合我们的要求。
  注意:这里的“Param”中第一个字母要大写。
金币:
奖励:
热心:
注册时间:
2014-4-27

回复 使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

本站声明:MACD仅提供交流平台,请交流人员遵守法律法规。
值班电话:18209240771   微信:35550268

举报|意见反馈|手机版|MACD俱乐部

GMT+8, 2025-4-23 00:00 , Processed in 0.038977 second(s), 15 queries , MemCached On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表