ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:24.83KB ,
资源ID:6728982      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6728982.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(飞狐公式系统指南.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

飞狐公式系统指南.docx

1、飞狐公式系统指南一、与分析家公式系统的比较 飞狐交易师V1.2的公式系统几乎完全涵盖了分析家V4.x的公式系统,但微有区别: 除扩展数据函数 EXTDATA 外,飞狐公式系统与分析家公式系统在源码上几乎完全兼容,直接支持分析家扩展程序调用DLL; 在线型修饰函数和颜色函数前,必须用“,”号(半角逗号)与输出指标的公式分开; 颜色函数为真正的COLOR(rrggbb)格式,符合习惯,而分析家的是COLOR(bbggrr)格式 因黑色可能为底色,COLORBLACK 不起作用,请用COLOR101010等深灰色代替; 除定向加密公式外,可直接导入分析家V3.x输出的公式文件,包括密码加密和完全加密

2、的公式; 飞狐交易师V1.2的公式系统提供了许多特有的强大扩展: 在公式中可嵌入VB脚本,轻易实现循环语句、条件语句、数组操作、函数、过程等高级语言的语法和语句,使其具有强大的计算能力、扩展能力、生命力; DLL扩展程序调用的参数可不限数量,且每个参数都可为数值或序列;(分析家最多只能4个,且其中只能有1个序列参数) 输出的指标线数目没有限制;(分析家不能超过16条) 公式中可定义多达16个参数;(分析家最多只能4个) 许多函数的参数可以为序列变量;(如COST(N),LONGCROSS(X,N)的第二个参数等,分析家的这些函数参数只能为常数) 绘图函数根据K线所有数据进行条件判断画线;(分析

3、家只在K线可见范围内进行条件判断画线,实际上存在缺线现象) 提供 DRAWNUMBER(COND,PRICE,NUMBER,PRECISION)、DRAWYITEXT(COND,PRICE, CODE,TYPE)等飞狐特有绘图函数; 提供 LYEAR、LMONTH、LDAY、LSOLARTERM、ZQDMNUM、ZQDMSUM、NUMBERSUM(NUMBER, N)、KGUA(TYPE, N)、GANZHI(DATETIME, TYPE)、WUXING(X, TYPE)、WXGX(WX1,WX2)、WXLD( JI, LD)、WXSS(WX, SS)、DZGX(DZ1, DZ2)、DZXH(

4、DZ1, DZ2,DZ3, DZ4)等飞狐特有的易理函数; 二、嵌入式VB脚本 在各种高级语言中,熟悉和精通VB的人无疑是最多的。VBScript 是 VB 的一个子集,它提供的各种语句和语法、常量和变量、函数和过程的规则与VB完全相同,并且也提供了许多基本的计算、处理函数。VBScript 是标准的脚本语言,广泛应用于动态网页、大型电子商务系统、Windows系统管理等领域。因此,飞狐交易师选用 VBScript 作为自己的公式脚本语言(之一),使其公式系统具有强大的计算能力、扩展能力和生命力。 飞狐交易师采用嵌入脚本语言的方式引入VBScript,编制方法类似制作ASP、PHP动态网页。采

5、用这种方式可以保持原有公式系统的兼容性,避免一些冲突(例如原条件函数IF与条件语句IF的关键字冲突)。另外,这种方式便于将来再引入新的脚本语言,这就大大提升了飞狐交易师公式系统的扩展性和生命力。 VBScript所能进行的计算、处理能力非常强大,甚至可进行文件操作等,所以,只要是想得到的计算,都应该能够实现。类似编制ASP、PHP动态网页,可在公式中多处嵌入脚本(用括起即可),可在脚本中定义函数、过程供脚本自己调用。 VBScript接口 由于飞狐交易师原公式系统处理变量的方式与VBScript不同,因此,需要通过变量转换在两套语言之间传递数据。飞狐交易师为此设计提供了一种对象:FFL(Fox

6、Trader FORMula Language 飞狐交易师公式语言对象)供VBScript调用,通过赋值语句转入、转出飞狐交易师公式系统的变量,或者提供其它控制,如信息提示等。 FFL对象现设计有三种接口:(将来会不断扩充) FFL.VarData(变量名) 传递数组变量数据 FFL.VarStartIndex(变量名) 传递数组变量有效数值起始位置,若脚本处理过程中不改变变量有效数值起始位,则无须调用 FFL.MsgBox(strMsg) 显示信息提示对话框,strMsg为字符串类型的变量或常量 实例 1、交易系统: 背景:假定买入信号发生的条件是创200天新高,第一次达到条件时发出买入信号

7、,略去随后的买入信号,利润目标是10%,最大亏损是8%,达到止赢止损点发出止损卖出信号,这样的交易系统在原公式系统中无法实现,而用脚本语言就解决了这样的问题。该实例综合应用了循环语句、条件语句和数组操作,请注意变量数据是怎样被转入、转出的。 请看代码: 买入信号临时变量:收盘创200天新高 BUY:= CLOSE = HHV(CLOSE,200); 初始化卖出信号临时数组变量给下面的脚本用,任意赋给一个有效数值起始位置为0的数组变量即可,注意,若SELL:=0则表示SELL为数值而非数组 SELL:= BUY; 初始化收盘价临时数组变量给下面的脚本用 CLOSEPRICE:= CLOSE; 用

8、 嵌入脚本语言,类似编写ASP 0 ) then buy( i ) = 0 end if 若满足买入条件取买入价,也用于设置开仓 if ( lastbuyprice = 0 ) AND (buy( i ) = 1) then lastbuyprice = close( i ) end if 若已买入且满足卖出条件,产生卖出信号并平仓 if (lastbuyprice 0 ) AND ( ( close( i ) ( 1.1 * lastbuyprice ) ) OR ( close( i ) ENTERLONG: BUY; EXITLONG: SELL; 有兴趣的用户可以将这段代码扩充为同时考

9、虑回落、横盘平仓点的情况。 2、技术指标 背景:在达到某个条件时弹出信息提示对话框,请注意公式参数和常数变量是怎样被转入VB脚本中的。 请看代码:(已设置一参数P 缺省5,2,60) MA1:MA(C,P); N:=3; n ) then str = 大于3 MsgBox(str) end if FFL.VarData(MA1)=ma 设置有效起始位置示例 FFL.VarStartIndex(ma1)=nFirst % 类似地,运用脚本语言强大的语法、函数,当然也可以在技术指标、条件选股、五彩K线中实现原来不可想象的计算和处理。指标函数 COST(X)支持序列数组 ZIG类函数支持序列数组:

10、函数: ZIG(X,N) 参数: X为序列数组或常数,为常数时表示0:开盘价,1:最高价,2:最低价,3:收盘价,N为常数 返回: 返回序列数组 说明: 当序列或K线变化量超过N%时转向 示例: ZIG(3,5)表示收盘价的5%的ZIG转向 ZIG(MA(C,20),5)表示20日平均线的5%的ZIG转向 函数: PEAK(X,N,M) 参数: X为序列数组或常数,N为常数,M为大于等于1的整数 返回: 返回序列数组 说明: 表示之字转向ZIG(X,N)的前M个波峰的数值 示例: PEAK(1,5,1)表示%5最高价ZIG转向的上一个波峰的数值 PEAK(MA(C,20),5,1)表示均线的5

11、%的ZIGVAR转向的上一个波峰的数值 函数: PEAKBARS(X,N,M) 参数: X为序列数组或常数,N为常数,M为大于等于1的整数 返回: 返回序列数组 说明: 表示之字转向ZIG(X,N)的前M个波峰到当前的周期数 示例: PEAKBARS(0,5,1)表示%5开盘价ZIG转向的上一个波峰到当前的周期数 PEAKBARS(MA(C,20),5,1)表示线的5%的ZIGVAR转向的上一个波峰到当前的周期数 函数: TROUGH(X,N,M) 参数: X为序列数组或常数,N为常数,M为大于等于1的整数 返回: 返回序列数组 说明: 表示之字转向ZIG(X,N)的前M个波谷的数值 示例:

12、TROUGH(2,5,2)表示%5最低价ZIG转向的前2个波谷的数值 TROUGH(MA(C,20),5,2)表示均线的5%的ZIGVAR转向的前2个波谷的数值 函数: TROUGHBARS(X,N,M) 参数: X为序列数组或常数,N为常数,M为大于等于1的整数 返回: 返回序列数组 说明: 表示之字转向ZIG(X,N)的前M个波谷到当前的周期数 示例: TROUGHBARS(2,5,2)表示%5最低价ZIG转向的前2个波谷到当前的周期数 TROUGHBARS(MA(C,20),5,2)表示均线的5%的ZIGVAR转向的前2个波谷到当前的周期数 这样扩展后,ZIG类函数可用于判断 RSI 等

13、指标的 M头 W底。 绘图函数 DRAWNUMBER(COND, PRICE, NUMBER, PRECISION) 说明:当COND条件满足时,在PRICE位置书写数字NUMBER(可以为常数或数组序列),PRECISION为精度(取值范围0-3),即显示到小数点后PRECISION位。该函数可用于显示指标数值。 例如: DRAWNUMBER(CLOSE/OPEN1.05, HIGH,(CLOSE-OPEN)/OPEN*100, 1)表示当日涨幅大于5%时在最高价位置显示涨幅(相对于开盘价的百分比,取一位小数); DRAWYITEXT(COND, PRICE, CODE, TYPE) 说明:

14、在图形上显示干支、64卦文字。当COND条件满足时,在PRICE位置书写TYPE类型的CODE的对应文字。TYPE为常数,取0-1,分别表示显示的是干支、64卦,CODE为对应的代码。 例如: DRAWYITEXT(CLOSE/OPEN1.05, LOW, GANZHI(DATE, 0, 2), 0)表示当日涨幅大于5%时在最低价位置显示日干支; DRAWYITEXT(REF(CLOSE,2)REF(OPEN, 2) AND REF(CLOSE,1)REF(OPEN, 1) AND CLOSEOPEN, LOW, KGUA(1, 1), 1 )表示连续三阳线时在最低价位置显示K线卦象。 易理函

15、数 函数: LDAY 参数: 无 返回: 返回有效值范围为(1-30). 说明: 取得该周期的农历日期。 示例: 函数: LMONTH 返回: 无 参数: 返回有效值范围为(1-12) 说明: 取得该周期的农历月份。 函数: LYEAR 参数: 无 返回: 返回有效值范围为(1970-2038) 说明: 取得该周期的农历年份。 函数: LSOLARTERM(X) 参数: X为序列变量,格式与DATE同,有效值范围为(700101-1341231),表示19700101-20341231 返回: 返回有效值范围为(0-24).0表示该周期不在节气日中,1-24分别表示小寒、大寒、立春、雨水、惊蛰

16、、春分、清明、谷雨、立夏、小满、芒种、夏至 、小暑、大暑、立秋、处暑、白露、秋分、寒露、霜降、立冬、小雪、大雪、冬至 说明: 取得该周期所在的二十四节气。 示例: LSOLARTERM(DATE)表示求当前周期节气 ZQDMNUM 用法: ZQDMNUM 返回: 返回证券代码数,如0001返回1,600001返回600001,指数返回0 ZQDMSUM 用法: ZQDMSUM 返回: 返回证券代码各位数字之和,如0001返回1,600001返回7,指数返回3 NUMBERSUM(NUMBER, N) 参数: NUMBER为待计算的数据,N表示小数点后取几位 返回: 各位数字之和 说明: 各位数

17、字之和 示例: NUMBERSUM(CLOSE, 2) 则收盘价为9.53时返回17 函数: GANZHI(DATE, TIME, TYPE) 参数: DATE为数组或常数,有效值范围( 年月日 80010100-130123123) TIME为数组或常数,有效值范围( 时分秒 000000-235959) TYPE为常数,取0-3,分别表示计算的是年、月、日、时的干支 返回: 返回六十甲子代码,有效值范围为(0-59), 依次表示甲子、乙丑.癸亥 说明: 取得日期的年、月、日、时的干支代码 示例: GANZHI(DATE, 0, 2) 取得该周期的日干支代码 GANZHI(DATE, TIM

18、E, 3) 取得该周期的时干支代码 GANZHI(1010901, 0, 0) 取得2001年9月1 日的年干支代码 这样: MOD(GANZHI(DATE, 0, 2), 10) 即可得到该周期的对应的日天干代码。 0-9分别表示甲、乙.癸 MOD(GANZHI(DATE, 0, 1), 12) 即可得到该周期的对应的月地支代码。 0-11分别表示子、丑.亥 INTPART(GANZHI(DATE, 0,2)/10) 即可得到该周期的旬代码(0-5), 依次表示甲子旬、.甲寅旬 (5 - INTPART(GANZHI(DATE, 0, 2)/10) * 2 即可得到该周期的第一个旬空地支代码

19、 (5 - INTPART(GANZHI(DATE, 0, 2)/10) * 2 + 1 即可得到该周期的第二个旬空地支代码 WUXING(X, TYPE) 参数:TYPE为常数,取0-2,分别表示计算的是天干、地支、八卦对应的五行,X为对应的代码,数组或常数 返回: 返回五行代码,有效值范围为(0-4), 依次表示金水木火土 说明: 取得天干、地支、八卦对应的五行代码 示例: WUXING( MOD(GANZHI(DATE, 0, 2), 12), 1 ) 取得该周期的日地支对应的五行代码 WXGX(WX1, WX2) 参数: WX1,WX2为五行代码的数组或常数,有效值范围为(0-4),

20、依次表示金水木火土 返回: 返回五行生克关系代码,有效值范围为(0-3),依次表示WX1无关WX2、WX1生WX2、WX1克X2、WX1反克WX2 说明: 取得五行相生相克反克的关系 示例: WUXING( 0, 1) 返回1,表示金生水 五行序数的相生次序:0-1-2-3-4-0 五行序数的相克次序:0-2-4-1-3-0 五行序数的反克次序:0-3-1-4-2-0 WXLD( JI, LD) 参数: LD为五行四季力度代码,有效值范围为(4-0),依次表示旺(4)、相(3)、休(2)、囚(1)、死(0); JI为四季数代码,有效值范围为(0-4),依次表示春、夏、秋、冬、四季土 返回: 返

21、回五行代码, 依次表示金水木火土 说明: 取得不同时间的力度(旺相休囚死)对应的五行代码 示例:WXLD(0, 4) =2,表示春季木旺 WXSS(WX, SS) 参数: WX为五行代码的数组或常数,SS五行盛衰十二阶段代码,有效值范围为(0-11),依次表示绝、胎、养、长生、沐浴、冠带、临官、帝旺、衰、病、死、墓 返回:地支代码,0-11分别表示子、丑.亥 说明: 取得五行盛衰十二阶段(原生旺死绝)对应的地支代码 示例:WXSS(1, 0) 返回2,金绝于寅 DZGX(DZ1, DZ2) 参数: DZ1, DZ2为地支代码的数组或常数,有效值范围为(0-11) 返回: 返回地支关系代码,有效

22、值范围为(0-5),依次表示无关(0)、DZ1生DZ2(1)、DZ1克DZ2(2)、相冲(3)、相害(4)、DZ1刑DZ2(5) 说明: 地支间的关系 示例: DZGX( 0, 6) 返回3,表示子与午冲 DZXH(DZ1, DZ2, DZ3, DZ4) 参数: DZ1, DZ2, DZ3, DZ4为地支代码的数组或常数,有效值范围为(0-11),若求六合,则DZ3为-1, DZ4除算申子辰化合成水局外为-1 返回: 返回合成的无行代码,有效值范围为(-1-4),-1表示无相合关系 说明: 地支间的相合关系 示例: DZXH( 0, 1, -1, -1) 返回4,表示子丑合而化土 DZXH(

23、8, 0, 4, -1) 返回1,表示申子辰化合成水局 KGUA(TYPE, N) 参数: TYPE取爻次序,为0表示以第一个周期为初爻,当前周期为上爻,不为0则反之 N为所取的周期数,为0取3个周期,不为0表示取6个周期 返回:K线卦象,若N为0,返回八卦代码(1-8),否则返回六十四卦代码(11-88),请参考易卦代码表 说明: 取得K线卦象 示例: KGUA(1, 1)以当前周期为初爻,取6个周期组成的某个六十四卦 升为阳,跌为阴,平盘则相对前收盘(如果也相等?) 反日k线:若改为阳线为阴爻,阴线为阳爻,则可写成 99KGUA(1,1) 附:易卦代码表 将八纯卦及64别卦按先天数编排:

24、乾(1)、兑(2)、离(3)、震(4)、巽(5)、坎(6)、艮(7)、坤(8) 天(1)、泽(2)、火(3)、雷(4)、风(5)、水(6)、山(7)、地(8) 譬如上卦为艮,就7,下卦为乾,就1,这样,山天大畜就可以用71来表示,所以64卦的最大范围为坤卦纯卦,为88,纯乾卦为最小,为11 乾为天(11),天泽履(12),天火同人(13),天雷无妄(14),天风姤(15),天水讼(16),天山(17),天地否(18), 泽天夬(21),兑为泽(22),泽火革(23),泽雷随(24),泽风大过(25),泽水困(26),泽山咸(27),泽地萃(28), 火天大有(31),火泽睽(32),离为火(3

25、3),火雷噬嗑(34),火风鼎(35),火水未济(36),火山旅(37),火地晋(38), 雷天大壮(41),雷泽归妹(42),雷火丰(43),震为雷(44),雷风恒(45),雷水解(46),雷山小过(47),雷地豫(48), 风天小畜(51),风泽中孚(52),风火家人(53),风雷益(54),巽为风(55),风水涣(56),风山渐(57),风地观(58), 水天需(61),水泽节(62),水火既济(63),水雷屯(64),水风井(65),坎为水(66),水山蹇(67),水地比(68), 山天大畜(71),山泽损(72),山火贲(73),山雷颐(74),山风蛊(75),山水蒙(76),艮为山

26、(77),山地剥(78), 地天泰(81),地泽临(82),地火明夷(83),地雷复(84),地风升(85),地水师(86),地山谦(87),坤为地(88), 三、DLL扩展程序调用接口 分析家现有的DLL接口只能调用4个参数,其中只能有一个序列,飞狐对分析家DLL调用接口信息数据结构进行了扩展,使扩展程序调用的参数不限数量,且每个参数都可为数值或序列。 % / /调用接口信息数据结构 typedef struct tagCALCINFO DWORD m_dwSize;/结构大小 DWORD m_dwVersion;/调用软件版本 DWORD m_dwSerial;/调用软件序列号 char*

27、 m_strStkLabel;/股票代码 BOOL m_bIndex;/大盘 int m_nNumData;/数据数量(pData,pDataEx,pResultBuf数据数量) STKDATA* m_pData;/常规数据,注意:当m_nNumData=0时可能为 NULL STKDATAEx* m_pDataEx;/扩展数据,分笔成交买卖盘,注意:可能为 NULL int m_nParam1Start;/参数1有效位置 float* m_pfParam1;/调用参数1 float* m_pfParam2;/调用参数2 float* m_pfParam3;/调用参数3 float* m_pfParam4;/调用参数3 float* m_pResultBuf;/结果缓冲区 int m_dataType;/数据类型 float* m_pfFinData;/财务数据 /以上与分析家兼容,所以沿用其结构和名称 /以下为 FoxTrader 扩展 DWORD m_dwReserved;/ 保留,将来用于设置标志 int m_nNumParam;/ 调用参数数量 CALCPARAM* m_pCalcParam;/ 调用参数数组 CALCINFO; / /调用参数项结构 typedef struct tagCALCPARAM union float* m_pfParam;/

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1