文华赢智程序化交易顶级编程函数手册及范例
- 格式:doc
- 大小:1.13 MB
- 文档页数:31
赢智程序化交易系统使用说明书目录目录 (2一、登录软件 (7(一如何登录软件 (7(二如何选择服务器 (9(三如何保存交易密码 (9(四如何使用动态备份 (10(五如何矫正本机时间与服务器时间一致 (10 二、常用窗口基本操作 (11(一、自选报价列表 (11(二、分时走势图 (15(三、K线图窗口 (19(四当日分钟K线 (34(五、OX图 (34(六、价量运行趋势图 (37(七、三线反转图 (38(八、TICK闪电图 (40(九、盘口报价 (40(十、逐笔成交表 (42(十一、大单成交表 (43(十二、分笔统计 (44(十三、分价统计 (45(十四、分笔+分价 (46(十五、新闻 (46三、行情模块使用案例 (53(一如何设置起始页面 (53(二如何调入行情报价页面 (53(三如何创建页面 (58(四如何保存页面 (60(五如何调出页面 (61(六如何还原修改后的页面 (62(七如何设置书签并将个人重要页面设置在书签上,方便调用 (64 (八如何修改报价窗口回撤在分时——K线图循环切换 (67(九如何保存扩展分析模板 (67(十如何自定义快捷访问工具条 (69(十一鼠标滚轴操作如何切换合约 (70(十二如何区分系统页面和普通页面 (71(十三如何利用我的指标区保存多组指标参数 (71(十四如何进行指标设置周期化 (73(十五如何设置坐标显示方式 (73(十六如何在数据出现问题时重新申请数据 (74(十七如何申请更多数据及设置K线显示密度 (75(十八如何设置报价列表排序 (77(十九如何设置盘口报价买卖横竖排列 (77(二十如何设定报价红绿定义 (78(二十一如何设定成交明细红绿定义 (78(二十二如何显示小报价框 (79(二十三如何显示持仓成本线 (79(二十四如何调出信息灯塔 (80(二十五如何显示技术分析图上的十字光标 (81(二十六如何设置今天昨天分割线 (81(二十七如何设置K线形状 (82(二十八如何调整报价页面的字体及字体大小 (82(二十九如何进行颜色字体风格的设置 (83(三十如何进行合约代码、指令快捷键、分析周期快捷键的设置 (84 (三十一如何进行涨跌停定义的设置 (85(三十二如何设置页面保存机制 (85(三十三如何导出个性化设置,如何导出交易日志记录文件 (86四、交易模块使用案例 (87(一、登陆与退出交易系统 (871、如何调取下单系统 (872、如何登陆下单系统 (883、如何退出下单系统 (894、如何调取下单板 (89(二、交易部分 (90竖式下单 (90(1如何开仓 (90(2如何平仓(指定价平仓、对价平仓、超价平仓、停板价平仓、清仓 (91 (3如何撤单 (93(4如何使用追价功能 (94(5如何使用定时平仓 (94(6如何使用预埋单 (95(7如何使用条件单 (96(8如何使用锁仓、移仓、反手操作。
赢智程序化交易系统使用说明书目录一、常用窗口基本操作在文华赢智程序化交易系统行情列表和技术分析图表窗口,鼠标右键单击分析窗口-插入内容,有14个可选操作窗口,各窗口具体操作说明如下:(一)、自选报价列表1、设置自选合约方法: 右键菜单中选入合约鼠标右键单击自选报价列表窗口——》“选入合约”,在弹出的窗口中选择市场和品种后确定即可。
2、调整报价顺序鼠标右键单击自选报价列表窗口,选择报价顺序调整,选中合约后,鼠标左键单击上移或者下移确定位置后,点击确定即可。
3、抬头格式(域)的调整第一步:鼠标右键单击自选报价列表窗口,选择抬头格式(域)调整。
第二步:在弹出的窗口中进行调整抬头格式的操作。
第三步:保存抬头模板。
可以将一些常用格式域格式保存下来,换至其他页面时可直接调用该种格式。
通过选择报价界面右键菜单中的“保存/调用抬头模板”对自定义的抬头格式域进行保存和调用4、实现多股同列鼠标右键单击自选报价列表窗口,选择多股同列,可实现分时图多股同列;选中一个合约点击多周期同列,可以实现该合约不同周期K线图同列。
5、设置价格预警鼠标右键单击自选报价列表窗口,在弹出的菜单中选择设置价格预警,在价格预警设置窗口中对合约进行警告设置。
(二)、分时走势图分时走势图也叫做即时走势图,它是把市场上的交易信息实时地用曲线在坐标上加以显示的技术图形。
坐标的横轴是交易时间,纵轴是价格。
图中:白色曲线表示该合约的分时成交价格,默认快照频率为1分钟。
黄色曲线表示均价,用价格与成交量的加权计算。
1、查看该合约的涨跌停板位置。
鼠标右键单击分时图窗口,选中“查看停板位置”,即途中出现的小黄线。
注:该功能需在交易系统已登录的前提下使用2、叠加其他合约鼠标右键单击分时图窗口,选中“叠加其他合约”。
选择合约及显示的类型。
注:如需取消叠加可按“鼠标右键单击分时图窗口——叠加其他合约——取消叠加”这一步骤进行合约叠加的取消3、使用画线功能鼠标右键单击分时图窗口,选中“画线”,可以在图表中使用画线分析。
1、DRAWBKBMP(ISUP,'1378087707309');DRAWBKBMP(ISDOWN,'1967530_114434019157_2');DRAWBKBMP(ISEQUAL,'1378087806954');//请参考学习DRAWBKBMP函数2、MA50:MA(C,50);MA100:MA(C,100);MA200:MA(C,200);DRAWBMP(CROSSUP(MA50,MA100),H,'赢智截图20140825141543.BMP'); DRAWBMP(CROSSDOWN(MA50,MA100),L,'赢智截图20140825141525.BMP'); DRAWBMP(CROSSUP(MA50,MA200),H,'赢智截图20140825141652.BMP'); DRAWBMP(CROSSDOWN(MA50,MA200),L,'赢智截图20140825141606.BMP'); //请参考学习DRAWBMP函数3、DRAWGBK(C>REF(C,1),COLORLIGHTGREEN,COLORLIGHTBLUE,1);DRAWGBK(C<REF(C,1),COLORGRAY,COLORBLACK,0);//请参考学习DRAWGBK函数4、MA5:MA(C,5),NODRAW;MA20:MA(C,20),NODRAW;MA30:MA(C,30),NODRAW;MA40:MA(C,40);MA50:MA(C,50),NODRAW;MA100:MA(C,100);DRAWCOLORLINE(MA5>MA20,MA5,COLORRED,COLORGREEN),LINETHICK3;//当MA5大于MA20的时候显示红色MA5,反之显示绿色//变线颜色,注意MA5不要显示出来TT:=MA20-MA30;DRAWSL(TT>0,MA20,REFX(MA20,1)-MA20,1,0,COLORBLUE),LINETHICK2; DRAWSL(TT<0,MA20,REFX(MA20,1)-MA20,1,0,COLORYELLOW),LINETHICK2; //注意这个变色线的画法IFELSE(MA30>MA40,MA30,NULL),SETSTYLECOLOR(LINETHICK2,COLORWHITE); IFELSE(MA30<MA40,MA30,NULL),SETSTYLECOLOR(LINETHICK2,COLORGRAY); IFELSE(MA30=MA40,MA30,NULL),SETSTYLECOLOR(LINETHICK2,COLORLIGHTBL UE);//三色线或者更多的画线PARTLINE(MA50>MA100,MA50,COLORLIGHTGREEN);PARTLINE(MA50<MA100,MA50,COLORLIGHTRED);PARTLINE(MA50=MA100,MA50,COLORLIGHTBLUE);//也能表示三色等画线5、C>O,BK;C<O,SP;CHECKSIG(BK,'A',5,'D',0);//设置BK信号,出信号5秒后确认下单,K线走完复核。
注:此教程适用于赢智Wh8和乐期Wh4。
目录第一章公式系统介绍 (1)第二章模型编写语法与规则 (4)2.1 数据引用 (4)2.2 模型编写语法 (8)2.3 模型基本结构 (14)第三章一般模型编写示例 (18)3.1 条件描述 (18)3.2 K线形态描述 (20)3.3 技术指标范例 (24)3.4 价量走势编写范例 (29)3.5 盘中动态编写范例 (31)3.6 趋势类模型编写范例 (32)3.7 振荡类模型编写范例 (36)3.8 公式条件单范例 (37)3.9 常见模型公式编写问题 (40)第四章复杂模型编写示例 (42)4.1 跨指标模型 (42)4.2 跨周期模型 (44)4.3 分组指令 (47)4.4 日内模型 (48)4.5 TICK模型 (51)4.6 止损模型 (54)第五章模型的回测 (56)5.1模型回测 (56)5.2 参数优化 (60)5.3 日志检索 (66)第六章如何优化你的策略 (67)6.1 PANZHENG函数, 减少盘整行情中的交易次数 (67)6.2 TRADE_OTHER函数,在指数交易中的应用 (73)6.3 CHECKSIG函数,实现更具有优势进场价格 (73)6.4 MULTSIG函数,在一根k线上灵活进出 (73)第七章后台程序化 (73)7.1 后台程序化工作机理 (74)7.2 页面盒子 (74)7.3 运行模组 (77)7.4 盘口模型运行池 (77)第八章多账号下单 (77)第九章套利交易 (81)第十章软件的一些基本操作 (91)附录1:麦语言趋势模型函数列表 (100)附录2:交易测评报告术语详解 (222)附录3:图表分析各图表项说明 (225)第一章公式系统介绍软件的公式系统是一套功能强大、使用方便的计算机描述系统。
可供引用的函数近500个。
可以说其它软件能做的,该软件都能做到,而且能做得更好,更贴近实盘。
用户可以通过期货交易所和证券交易所发送的实时行情数据和软件保存的历史数据按照简单、复杂的运算法则进行分析、筛选、系统测试和自动交易,在软件中提供了用于公式编写的编辑器:交易系统公式编辑器交易系统旨在建议一套完整的交易规则体系,通过该编辑器对各个相关的交易环节,包括买入的切入、卖出、止损以及整体的交易性能检验等等做出定量的规定,帮助投资者建立一套属于自己的买卖规则和理论。
在15分钟图内,突破开盘后15分钟高低点的交易系统HH:=VALUEWHEN(TIME=0900,HIGH);//每天第一根15分钟K线的高点LL:=VALUEWHEN(TIME=0900,LOW); //每天第一根15分钟K线的低点CROSS(CLOSE,HH),BK; //只要价格上穿15分钟的高点,买进开仓;CROSS(LL,CLOSE),SK; //只要价格下穿15分钟的低点,卖出开仓;CROSS(CLOSE,HH)||CROSS(TIME,1444),BP; //只要价格上穿15分钟的高点,买入平仓;或时间在14:44之后平仓CROSS(LL,CLOSE)||CROSS(TIME,1444),SP; //只要价格下穿15分钟的低点,卖出平仓;或时间在14:44之后平仓在3分钟图内,突破开盘后15分钟的高低点的交易系统首先先建立一个指标就是HL.fml,然后用引用的方法#IMPORT[,MIN15,HL] AS VARHLHH1:=VARHL.HH;LL1:=VARHL.LL;CROSS(CLOSE,HH1),BK;CROSS(LL1,CLOSE),SK;CROSS(CLOSE,HH1)||CROSS(TIME,1456),BP;CROSS(LL1,CLOSE)||CROSS(TIME,1456),SP;一天只交易一次的编写方法NN:=BARSLAST(DATE<>REF(DATE,1))+1;买入开仓条件&&REF(EXIST(BB,NN),1)<1,BK;BS,SP;卖出开仓条件&&REF(EXIST(BB,NN)<1,1),SK;SS,BP;开盘交易,收盘退出DATE<>REF(DATE,1),BK;TIME>=1455,SP;周间日模型(固定金额止损)NN:=BARSLAST(DATE<>REF(DATE,1))+1;#IMPORT[,MIN15,HL] AS VARHLHH1:=VARHL.HH;LL1:=VARHL.LL;COB:=(WEEKDAY=1);CS:=(WEEKDAY=2||WEEKDAY=4);COB&&REF(EXIST(COB,NN),1)<1&&DATE<>REF(DATE,1),BK;CS&&REF(EXIST(CS,NN),1)<1&&DATE<>REF(DATE,1),SK;CROSS(TIME,1456)||CROSS(CLOSE,VALUEWHEN(TIME=0900,OPEN)+22),BP; CROSS(VALUEWHEN(TIME=0900,OPEN)-22,CLOSE)||CROSS(TIME,1456),SP;低点判断的程序编写方法RIBAO1:=(REF(LOW,1)>REF(LOW,2)&&REF(HIGH,1)<REF(HIGH,2))||(LOW>REF(LO W,1)&&HIGH<REF(HIGH,1));前一个K线低点高于前两个K线低点,同时前一个K线高点低于前两个K线高点(前一根K线被前第二个K线所包含)WAIBAO1:=(REF(LOW,1)<REF(LOW,2)&&REF(HIGH,1)>REF(HIGH,2))||(LOW<REF(L OW,1)&&HIGH>REF(HIGH,1)); 前第二根K线被前第一个K线所包含;LL:VALUEWHEN(NOT(WAIBAO1)&&NOT(RIBAO1)&&LOW>REF(LOW,1)&&REF(LOW,2)>RE F(LOW,1),REF(LOW,1));既非内孕线,也非外孕线,同时已经出现低点拐点,作为最近低点高点判断的程序编写方法RIBAO2:=(REF(LOW,1)>REF(LOW,2)&&REF(HIGH,1)<REF(HIGH,2))||(LOW>REF(LO W,1)&&HIGH<REF(HIGH,1));前一根K线被前第二个K线所包含)WAIBAO2:=(REF(LOW,1)<REF(LOW,2)&&REF(HIGH,1)>REF(HIGH,2))||(LOW<REF(L OW,1)&&HIGH>REF(HIGH,1)); 前第二根K线被前第一个K线所包含;HH:VALUEWHEN(NOT(WAIBAO2)&&NOT(RIBAO2)&&H<REF(H,1)&&REF(H,2)<REF(H,1) ,REF(H,1));既非内孕线,也非外孕线,同时已经出现高点拐点,作为最近高点利润回撤的处理1)系统发出平仓信号是需要平仓条件,没有条件系统无法发信号,2)获利回吐可以使用止赢止损编写,例如:当最高价与开仓收盘价盈利达到20—50点,回撤70%平仓。
二、基本语法1. 算法组件构成:全局变量定义、主函数定义、自定义函数定义。
注:a.全局变量定义要在主函数和自定义函数之外,主函数和自定义函数定义不分先后顺序。
b.运行原理:先读取全局变量,后直接运行主函数,在主函数运行过程中如果遇到自定义函数,在跳出主函数运行自定义函数。
2、变量定义与赋值:利用VAR函数对变量进行定义,定义好的变量可以对其进行赋值,让变量有具体的意义。
VAR N1; -----------------------//定义变量N1VAR N2; -----------------------//定义变量N2VAR N3; -----------------------//定义变量N3N1=3000; -----------------------//整型赋值N2=88.888; -----------------------//浮点型赋值N3=“股指期货”; -----------------------//字符串型赋值N4[0] = 1; -----------------------//数组型赋值N4[1] = 2; -----------------------//数组型赋值N4[2] = 3; -----------------------//数组型赋值3、主函数定义:VOID/VAR MAIN() -----------------------//定义主函数{主函数内容}例:VAR N; -----------------------//定义变量NVOID MAIN() -----------------------//定义主函数{N=“文华财经”; -----------------------//对N赋值MessageOut(N); -----------------------//输出N}4、自定义函数定义A、带返回值的函数VAR BDEAL() -----------------------//带返回值的函数{RETURN(10); -----------------------//返回值}例:带返回值函数定义VAR BDEAL(A,B) -----------------------//带返回值的函数{VAR M; -----------------------//定义变量MM=A+B;RETURN(M); -----------------------//返回值}……S=BDEAL(15,20) ; -----------------------//使用函数……B、不带返回值的函数VOID BDEAL() -----------------------//不带返回值函数{…}例:不带返回值函数定义VOID BDEAL() -----------------------//不带返回值的函数{T_Deal(“IF1312”,0,0,1,0);}……IF(…) -----------------------//当条件成立{BDEAL() -----------------------//运行函数}C、有返回值有参数的自定义函数定义例:VAR ADDTEST(VAR a,VAR b){VAR x;VAR y;x=a+b;y=a-b;MessageOut(x);MessageOut(y);RETURN(x*y);}5、循环语句while的用法:6、循环语句FOR的用法三、常用函数判断函数:IF,ELSE IFIF (F_Sig()==BK) -----------------------//如果当前是BK信号{BKDeal(); -----------------------//运行开多仓函数}ELSE IF (F_Sig()==SK) -----------------------//如果当前是SK信号{SKDeal(); -----------------------//运行开空仓函数}信号函数:F_FreshSig():取一个新信号(如果模型已经发出了多个信号,取最近发出的信号,信号消失也是一种新信号)返回1表示取到新信号,返回0表示失败即已经没有新信号可取。
赢智(WH3)算法交易编程函数手册一、引用数据某合约当前价格。
Price(Code)返回合约Code的当前价格,Code为某合约的合约代码例:V AR price;//定义一个变量priceprice=Price("m1009"); //price的值为合约m1009的当前价格某合约当前均价。
AvPrice(Code) 返回合约Code的当前均价,Code为某合约的合约代码例:V AR avprice;//定义一个变量avpriceavprice=AvPrice("m1009"); //price的值为合约m1009的当前均价某合约当前最高价。
High(Code)返回合约Code的当前最高价,Code为某合约的合约代码例:V AR high;//定义一个变量highhigh=High("m1009"); //high的值为合约m1009的当前最高价某合约当前最低价。
Low(Code)返回合约Code的当前最低价,Code为某合约的合约代码例:V AR low;//定义一个变量lowlow=Low("m1009"); //low的值为合约m1009的当前最低价某合约的买卖盘报价。
Offers(Code,strContent) 返回某合约的买卖盘报价Code为某合约的合约代码(字符串), strContent为所要取得内容,可选以下内容"bid1~5","ask1~5","bidvol1~5","askvol1~5",分别表示买1-5 卖1-5 买1量- 5量卖1量-5量。
例:V AR bid1;bid1=Offers("m1009","bid1");//bid1为豆粕1009的当前买1价某合约最小变动价位。
文华赢顺云交易软件(wh6)指标公式——数理统计函数(一)ADMA(X,N,P,Q):考夫曼均值。
用法:ADMA(X,N,P,Q);求X在N个周期中的,快线频率参数为P,慢线频率参数为Q的考夫曼自适应均值。
注:1、X为调用的k线数据(例如高、开、低,收);N为调用的间隔时间;P为快线频率参数;Q为慢线频率参数。
2、当前的K线数不足N根时,函数返回空值。
3、N为0或空值的情况下,函数返回空值。
算法:ADMA(X,N,P,Q)=REF(EMA(X,N),1)+CONSTANT*(X- REF(EMA(X,N),1));CONSTANT是平滑系数,用麦语言函数可以表示为:CONSTANT:=SQUARE((ABS((CLOSE-REF(CLOSE,N))/(SUM(ABS((CLOSE-REF(CLOSE,1))),N))))*(2/(P+ 1)-2/(Q+1))+2/(Q+1));算法举例:计算C在9周期的,快线频率参数为2,慢线频率参数为30的考夫曼均值。
1、确定价格方向:价格方向表示整个时间段中的净价格变化。
比如,使用N天的间隔(或N小时),这里N为9;2、计算方向移动:DIRECTION:=ABS(CLOSE-REF(CLOSE,9));3、计算波动性:波动性是市场噪音的总数量,计算了时间段内价格变化的总和。
VOLATILITY:=SUM(ABS((CLOSE-REF(CLOSE,1))),9);4、确定效率系数:ER:=DIRECTION/VOLATILITY;5、计算平滑系数:FASTSC:=2/(2+1);SLOWSC:=2/(30+1);SMOOTH:=ER*(FASTSC-SLOWSC)+SLOWSC;CONSTANT:=SQUARE(SMOOTH);6、计算平滑系数为CONSTANT的自适应均线:AMACLOSE:REF(EMA(C,9),1)+CONSTANT*(C-REF(EMA(C,9),1));(二)AVEDEV(X,N):返回X在N周期内的平均绝对偏差。
文华赢顺云交易软件(wh6)指标公式——金融统计函数文华赢顺云交易软件(wh6)指标公式——金融统计函数(一)BARSCOUNT(COND):第一个有效周期到当前的周期数。
注:1、返回值为COND从第一个有效周期开始计算,到现在为止的周期数。
2、条件第一次成立的当根k线上BARSCOUNT(COND)的返回值为0。
例:BARSCOUNT(MA(C,4));//计算MA(C,4)第一次有返回值到当前的周期数。
(二)BARSLASTCOUNT(COND):从当前周期向前计算,统计连续满足条件的周期数。
注:1、返回值为从当前周期计算COND连续不为0的周期数。
2、条件第一次成立的当根k线上BARSLASTCOUNT(COND)的返回值为1。
例:BARSLASTCOUNT(CLOSE>OPEN);//计算当根K线在内连续为阳线的周期数。
(三)BARSSINCE(COND):第一个条件成立到当前的周期数。
注:1、返回值为COND第一次成立到当前的周期数2、条件第一次成立的当根k线上BARSSINCE(COND)的返回值为0。
例:BARSSINCE(CLOSE>OPEN);//统计第一次满足阳线这个条件的K线到现在的周期数。
(四)BARSSINCEN(COND,N):统计N周期内第一次条件成立到当前的周期数注:1、N包含当前k线。
2、当N为有效值,但当前的k线数不足N根,按照实际的根数计算;3、若N为0返回无效值;4、N可以为变量。
例:N:=BARSLAST(DATE<>REF(DATE,1))+1;//分钟周期,当日K线数。
BARSSINCEN(ISUP,N);//统计N周期内第一次满足阳线到当前的周期数。
(五)BARSLAST(COND):上一次条件COND成立到当前的周期数注:1、条件成立的当根k线上BARSLAST(COND)的返回值为0。
2、本函数运算量很大,将占用很多的CPU资源,导致行情刷新速度变慢,请谨慎使用!例1:BARSLAST(OPEN>CLOSE); //上一根阴线到现在的周期数。
文华财经代码函数编写文华财经代码函数编写文华代码编写第三章一般模型编写示例软件提供扩展性更为强大的程式化交易模式,为此提供了一系列的功能和众多交易函数。
这些函数用户可以在【公式】菜单下的函数列表里找到。
程序化交易系统既可以实盘运行策略,又可以对历史数据进行回测。
实盘运行策略的载体有两个,分别是页面盒子(点击查看介绍)和运行模组(点击查看介绍)。
一些基础的策略模型需要在每根K线走完的时候按照出现的信号方向下单,我们把这种模型叫做收盘价模型。
页面盒子是运行收盘价策略模型的功能载体,适合需要部分手动辅助或结合图表分析的程序化用户。
运行模组则实现了更丰富的量化策略,例如头寸管理,指令价交易等。
这部分会在程序化交易高级教程中详细介绍。
3.1条件描述阶段涨幅:N日收盘价的差值的百分比。
(CLOSE-REF(CLOSE,N))/REF(CLOSE,N)*100再创新高:所谓再创新高就是指今日最高价是N日以来的最高价HIGH=HHV(HIGH,N)该函数在当日最高价创N日新高时为1,否者为0。
放量上攻:指价格上扬,成交量剧增价格上扬可以描述为:CLOSE/REF(CLOSE,5)>1.2;表示5日上涨20%成交量剧增可描述为:VOL>MA(VOL,5)*3;表示成交量超过5日均量的3倍所以公式可写成为:CLOSE/REF(CLOSE,5)>1.2ANDVOL>MA(VOL,5)*3窄幅整理:就是指近一段时期价格维持在一定幅度之内(HHV(CLOSE,20)-LLV(CLOSE,20))/CLOSE<0.08;HHV(CLOSE,20)-LLV(CLOSE,20)表示20日收盘价振幅,即20日内价格振幅在8%以内波动。
均线多头排列:移动平均线(MA)是将一段时间的股票价格用数理统计的方法加以平均,再将这些平均价标于图上并用线连接起来即可。
它可以用来观察股价的趋势。
均线多头排列可以看做是上升趋势行情的表现。
文华财经函数模型1、引用数据A VPRICE 引用均价(在盘后对于国内三个期货交易所指结算价)SETTLE 引用结算价(如果用在周期小于'日'的K线上如5分钟K线,一小时k线,每根k 线返回的值表示这根k线当日开盘时到这根k线的为止的结算价(均价)如果用在周期大于等于'日'的K线上,返回当根K线结束时间所在日的结算价.)CLOSE 引用收盘价(在盘中指最新价),也可简写为C。
HIGH 引用最高价,也可简写为H。
LOW 引用最低价,也可简写为L。
OPEN 引用开盘价,也可简写为O。
OPI 引用持仓量REF(X,N) 引用X在N个周期前的值例:REF(CLOSE,5);表示引用当前周期前第5个周期的收盘价REFX(X,N) 引用N个周期后的数据。
(N为大于等于1的整数)『未来函数』例:REFX(CLOSE,5);表示引用自当前周期后第5个周期的收盘价VOL 引用成交量,也可简写为V。
GETPRICE(N) 根据文华码取出某一品种的最新价。
例子:GETPRICE(1209);返回文华码为1209的合约品种的最新价。
2、金融统计BACKSET(X,N) 若X条件成立,则将当前位置到N周期前的数值设为1。
『未来函数』例:BACKSET(CLOSE>OPEN,3);表示当K线收阳时,自当前位置到3周期前的数值设为1 该函数参数支持变量计算如BACKSET(CLOSE>OPEN,V AR1);//V AR1是变量BARSLAST(X) 求上一次条件成立到当前的周期数。
例:BARSLAST(X):上一次满足X条件到现在的K线根数。
如果本根K线满足X条件,则BARSLAST(X)返回0.COUNT(X,N) 表示统计在N周期内满足X条件的周期数。
若N=0则从本地数据的第一个有效值开始。
例:WR:=-100*(HHV(HIGH,N)-CLOSE)/(HHV(HIGH,N)-LLV(LOW,N));COUNT(WR>80,5); 表示统计在5个周期内满足WR>80的次数。
DMA(X,N) 返回X的动态移动平均,其中N必须介于0及1之间。
计算方法:DMA(N)=DMA(N-1)*(1-A)+X(N)*A其中DMA(N-1)为第(N-1)天的DMA值。
EMA(X,N) 表示求X在N周期内的平滑移动平均。
(指数加权)计算方法:EMA(X,N)=[2*X+(N-1)*EMA(X,(N-1))]/(N+1)其中EMA(X,(N-1))为第(N-1)天的EMA值。
EMA2(X,N) 表示求X在N周期内的加权平均。
(线性加权)计算方法:EMA2(X,N)=(N*X0+(N-1)*X1+(N-2)*X2+...+1*XN)/(N+(N-1)+(N-2)+...+1),X0表示本周期值,X1表示上一周期值。
HHV(X,N) 得到X在N周期内的最高值,如果N=0,则从本地数据的第一个有效周期开始算起。
例:HHV(HIGH,13);求13个周期内的最高价的最大值。
HHVBARS(X,N) 得到X在N周期内的最高值位置到当前的周期数。
如果N=0,则从本地数据的第一个有效周期开始算起。
例:HHVBARS(VOL,0); 求历史成交量最大的周期到当前的周期数。
LLV(X,N) 得到X在N周期内的最小值,如果N=0,则从本地数据的第一个有效周期开始算起。
例:LLV(LOW,25);表示求25个周期内最低价的最小值。
LLVBARS(X,N) 得到X在N周期内的最小值的位置到当前的周期数。
如果N=0则从本地数据的第一个有效周期开始算起。
例:LLVBARS(VOL,0);求历史成交量最小的周期到当前的周期数。
MA(X,N)求X在N周期内的简单移动平均。
计算方法:MA=(A1+A2+A3+A4+A5)/5,求A在5个周期内的简单移动平均ZIGZAG(X,P,N) 之字转向,当X变化量超过P时转向,当N取1,P为百分比数;当N取0,P 为价位差值绝对值。
『未来函数』例:ZIGZAG(HIGH,10,1);表示最高价的10%的之字转向ZIGZAG(MA(HIGH,34),100,0);表示34个周期内最高价均线的100个价位的之字转向PEAK(X,P,M,N) 取得ZIGZAG前M个波峰的值。
其中X为数据,P为转折值(如果N为1,这个值为百分比数,否则为价位差值绝对值),M为大于等于1的整数。
『未来函数』例:PEAK(HIGH,10,1,1);表示最高价的10%的之字转向的上一个波峰的数值;PEAK(MA(HIGH,34),100,1,0);表示34个周期内最高价均线的100个价位的之字转向的上一个波峰的数值。
PEAKBARS(X,P,M,N) 取得ZIGZAG前M个波峰到当前周期的周期数。
其中X为数据,P 为转折值(如果N为1,这个值为百分比数,否则为价位差值绝对值),M为大于等于1的整数。
『未来函数』例:PEAKBARS(HIGH,10,1,1);表示最高价的10%的之字转向的上一个波峰到当前的周期数。
PEAKBARS(MA(HIGH,34),100,1,0);表示34个周期内最高价均线的100个价位的之字转向的上一个波峰到当前的周期数。
TROUGH(X,P,M,N) 取得ZIGZAG前M个波谷的值。
其中X为数据,P为转折值(如果N为1,这个值为百分比数,否则为价位差值绝对值),M为大于等于1的整数。
『未来函数』例:TROUGH(LOW,10,1,1);表示最低价的10%的之字转向的上一个波谷的数值。
TROUGH (MA(LOW,34),100,1,0);表示34个周期内最低价均线的100个价位的之字转向的上一个波谷的数值。
TROUGHBARS(X,P,M,N) 取得ZIGZAG前M个波谷到当前周期的周期数。
其中X为数据,P为转折值(如果N为1,这个值为百分比数,否则为价位差值绝对值),M为大于等于1的整数。
『未来函数』TROUGH(LOW,10,1,1);表示最低价的10%的之字转向的上一个波谷到当前的周期数。
TROUGH (MA(LOW,34),100,1,0);表示34个周期内最低价均线的100个价位的之字转向的上一个波谷到当前的周期数。
SAR(N,Step,Max) 得到抛物转向值。
N为计算周期,Step为步长,Max为极值。
(系统函数,计算步骤后台自动完成)例:SAR(17,0.03,0.3);表示计算17个周期抛物转向,步长为3%,极限值为30%。
SMA(X,N,M) 得到X在N个周期内的移动平均,M为权重(M为常数)。
计算方法:SMA(N)=SMA(N-1)*(N-M)/N+X(N)*M/N。
SUM(X,N) 得到X在N周期内的总和,如果N=0,则从第一个有效周期开始算起。
例: SUM(VOL,10);表示统计10周期内的成交量总和。
SUMBARS(X,A) 得到X向前累加直到大于A时的周期数。
TRMA(X,N) 求X在N周期内的三角移动平均。
TSMA(X,N) 求X在N周期内的时间序列移动平均。
计算方法:TSMA(X,N)= FOCAST(X,N)+SLOPE(X,N)。
3、数理统计A VEDEV(X,N) 求X在N周期内的平均绝对偏差。
DEVSQ(X,N) 数据偏差平方和。
FORCAST(X,N) 得到X的N周期线性回归预测值。
例:FORCAST(CLOSE,5);表示求5周期线性回归预测SLOPE(X,N) 得到X在N周期内的线性回归的斜率例:SLOPE(CLOSE,5);表示求5周期线性回归线的斜率STD(X,N) 得到X在N周期内的标准差STDP(X,N) 得到X在N周期内的总体标准差V AR(X,N) 得到X在N周期内的样本方差V ARP(X,N) 得到X在N周期内的总体样本方差数理统计举例说明:设一个数列,数列中数据的总个数为N,以今天(2005-10-14)五天内的A0605收盘价为例,N就为5。
数列的内容为:{2766,2805,2814,2886,2885}。
1、算术平均值MA(CLOSE,5):数据总和除以总个数N。
(2766+2805+2814+2886+2885)/5=2831.20。
可以用公式MA(CLOSE,5),从今天的值上看出。
2、偏差:每个数据,减去算术平均值的结果。
2766-2831.20=-65.2,2805-2831.20=-26.2, 2814-2831.20=-17.2, 2886-2831.20=54.8, 2885-2831.20=53.8, 各偏差相加,应该是等于0的。
3、平均绝对偏差A VEDEV(X,N):将偏差的绝对值相加,除以总个数N。
(65.2+26.2+17.2+54.8+53.8)/5=43.44。
4、数据偏差平方和DEVSQ(X,N):将偏差的平方相加。
(-65.2)2+ (-26.2)2+ (-17.2)2+ (54.8)2+ (53.8)2=11130.80。
5、总体样本方差V ARP(X,N):将偏差的平方相加,总和除以总个数N。
用公式可以这样算:(-65.2)2+ (-26.2)2+ (-17.2)2+ (54.8)2+ (53.8)2/5=2226.16。
6、样本方差V AR(X,N):是总体方差的N/(N-1)倍。
2226.16*5/(5-1)=2782.70 估算样本方差,总比总体样本方差大一点,当N够大时,两者趋于相等。
7、总体标准差STDP(X,N):方差的开方。
[(-65.2)2+ (-26.2)2+ (-17.2)2+ (54.8)2+ (53.8)2/5]?=47.18。
8、标准差STD(X,N):估算样本方差的开方。
[2226.16*5/(5-1)]?=52.75 同样,估算标准差也比总体标准差大一点,当N够大时,两者趋于相等。
4、逻辑判断BETWEEN(A,B,C)判断条件“A位于B及C之间”是否成立,如果条件成立则返回1(yes),否则返回0(no)。
例:BETWEEN(CLOSE,MA5,MA40);表示收盘价介于5日均线与40日均线之间。
CROSS(X,Y) 表示X上穿Y。
例:CROSS(CLOSE,MA(CLOSE,5));表示收盘线从下方向上穿过5日均线EXIST(COND,N) 判断N个周期内是否有满足条件COND的情况发生。
例:EXIST(CLOSE>REF(HIGH,1),10);表示10个周期中是否存在收盘价大于前一个周期的最高价EVERY(COND,N) 判断过去N个周期内是否一直满足条件COND。
例:EVERY(CLOSE>OPEN,5);表示5个周期内一直是阳线LAST(COND,N1,N2) 判断过去N1到N2周期内是否一直满足条件COND。