文华财经模型与函数详解
- 格式:rtf
- 大小:58.02 KB
- 文档页数:33
文华财经函数大全1、引用数据AVPRICE引用均价(在盘后对于国内三个期货交易所指结算价)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,VAR1);//VAR1是变量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的次数。
文华独特的形态箱体交易策略模型[文华财经公式] 文华独特的形态箱体交易策略模型BAA:=1;MA4:=EMA(CLOSE,10)*BAA;HH:=HHV(HIGH,5)*BAA;LL:=LLV(LOW,5)*BAA;H1:=IFELSE(CLOSE>REF(HH,1),1,0)*BAA;L1:=IFELSE(CLOSE<REF(LL,1),-1,0)*BAA;H0:=REF(HIGH,1)*BAA;L0:=REF(LOW,1)*BAA;P7:=H1+L1*BAA;P8:=IFELSE(P7=0,REF(P7,1),P7)*BAA;P9:=IFELSE(P8=0,REF(P8,1),P8)*BAA;P10:=IFELSE(P9=0,REF(P9,1),P9)*BAA;P11:=IFELSE(P10=0,REF(P10,1),P10)*BAA;P12:=IFELSE(P11=0,REF(P11,1),P11)*BAA;P13:=IFELSE(P12=0,REF(P12,1),P12)*BAA;P14:=IFELSE(P13=0,REF(P13,1),P13)*BAA;P15:=IFELSE(P14=0,REF(P14,1),P14)*BAA;P16:=IFELSE(P15=0,REF(P15,1),P15)*BAA;P17:=IFELSE(P16=0,REF(P16,1),P16)*BAA;P18:=IFELSE(P17=0,REF(P17,1),P17)*BAA;P19:=IFELSE(P18=0,REF(P18,1),P18)*BAA;P20:=IFELSE(P19=0,REF(P19,1),P19)*BAA;P21:=IFELSE(P20=0,REF(P20,1),P20)*BAA;P22:=IFELSE(P21=0,REF(P21,1),P21)*BAA;P23:=IFELSE(P22=0,REF(P22,1),P22)*BAA;P24:=IFELSE(P23=0,REF(P23,1),P23)*BAA;P25:=IFELSE(P24=0,REF(P24,1),P24)*BAA; P26:=IFELSE(P25=0,REF(P25,1),P25)*BAA; P27:=IFELSE(P26=0,REF(P26,1),P26)*BAA; P28:=IFELSE(P27=0,REF(P27,1),P27)*BAA; P29:=IFELSE(P28=0,REF(P28,1),P28)*BAA; P30:=IFELSE(P29=0,REF(P29,1),P29)*BAA; T:=IFELSE(P30=0,REF(P30,1),P30)*BAA;T=1,BPK;T=-1,SPK;AUTOFILTER;//赢顺去掉该行源码解析:BAA赋值:1MA4赋值:收盘价的10日指数移动平均*BAA HH赋值:5日内最高价的最高值*BAALL赋值:5日内最低价的最低值*BAAH1赋值:IFELSE(收盘价>昨日HH,1,0)*BAA L1赋值:IFELSE(收盘价<昨日LL,-1,0)*BAA H0赋值:昨日最高价*BAAL0赋值:昨日最低价*BAAP7赋值:H1+L1*BAAP8赋值:IFELSE(P7=0,昨日P7,P7)*BAAP9赋值:IFELSE(P8=0,昨日P8,P8)*BAAP10赋值:IFELSE(P9=0,昨日P9,P9)*BAAP11赋值:IFELSE(P10=0,昨日P10,P10)*BAA P12赋值:IFELSE(P11=0,昨日P11,P11)*BAAP13赋值:IFELSE(P12=0,昨日P12,P12)*BAA P14赋值:IFELSE(P13=0,昨日P13,P13)*BAA P15赋值:IFELSE(P14=0,昨日P14,P14)*BAA P16赋值:IFELSE(P15=0,昨日P15,P15)*BAA P17赋值:IFELSE(P16=0,昨日P16,P16)*BAA P18赋值:IFELSE(P17=0,昨日P17,P17)*BAA P19赋值:IFELSE(P18=0,昨日P18,P18)*BAA P20赋值:IFELSE(P19=0,昨日P19,P19)*BAA P21赋值:IFELSE(P20=0,昨日P20,P20)*BAA P22赋值:IFELSE(P21=0,昨日P21,P21)*BAA P23赋值:IFELSE(P22=0,昨日P22,P22)*BAA P24赋值:IFELSE(P23=0,昨日P23,P23)*BAA P25赋值:IFELSE(P24=0,昨日P24,P24)*BAA P26赋值:IFELSE(P25=0,昨日P25,P25)*BAA P27赋值:IFELSE(P26=0,昨日P26,P26)*BAA P28赋值:IFELSE(P27=0,昨日P27,P27)*BAA P29赋值:IFELSE(P28=0,昨日P28,P28)*BAA P30赋值:IFELSE(P29=0,昨日P29,P29)*BAA T赋值:IFELSE(P30=0,昨日P30,P30)*BAA T=1,BPKT=-1,SPKAUTOFILTER//赢顺去掉该行。
文华财经函数大全1、引用数据AVPRICE 引用均价(在盘后对于国内三个期货交易所指结算价)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,VAR1);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值。
二、基本语法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表示失败即已经没有新信号可取。