文华财经函数列表和技术指标模型

更新时间:2023-10-02 07:48:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

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的次数。

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、数理统计

AVEDEV(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周期内的总体标准差 VAR(X,N) 得到X在N周期内的样本方差 VARP(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、平均绝对偏差AVEDEV(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、总体样本方差VARP(X,N):将偏差的平方相加,总和除以总个数N。用公式可以这样算: (-65.2)2+ (-26.2)2+ (-17.2)2+ (54.8)2+ (53.8)2/5=2226.16。 6、样本方差VAR(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。 例:LAST(CLOSE>OPEN,10,5);

表示从过去第10个周期到第5个周期内一直是阳线

LONGCROSS(A,B,N) 如果A在前N个周期内都小于B,本周期上穿B,则返回1。否则返回0。

例:LONGCROSS(CLOSE,MA(CLOSE,10),20);

表示收盘线在10日均线之下持续20周期后从下向上穿过10日均线。

NOFILTER 交易模型买卖指令信号过滤函数。(仅适用于交易模型的过滤)

设置模型对产生的交易指令不过滤,则出现的任何交易指令都会执行,如果没有设置“不过滤”,则产生的指令将按照如下规则过滤:

1.连续的同方向指令只有第一个有效,其他的将被过滤;

2.交易指令必须配对出现(例如:前面已经有了买开指令,则后面只允许出现卖平指令,其他的指令都被滤掉。这也就意味着,第一个指令只能是买开或者卖开指令,其他的都被过滤); 3.但是在进行模型效果测试及优化时,无论设置过滤与否,都按照前面的规则对指令进行了过滤。

IFELSE(C,A,B) (08版等以前版本里用IF函数表示)。 如果条件C成立则返回A值,否则返回B值. 例:IFELSE(CLOSE>REF(CLOSE,1),1,0);

表示若今日收盘价高于前一日收盘价,则返回1,否则返回0

ISDOWN判断该周期是否收阴。 ISEQUAL 判断该周期是否平盘。 ISUP 判断该周期是否收阳。

ISLASTBAR 判断当前周期是否为最后一根K线。 例:ISLASTBAR; 如果是最后一个K线返回1(Yes),否则返回0(No)。

VALUEWHEN(COND,DATA) 当条件COND满足时,取当时的DATA的值,否则取得前面一个满足条件COND的值。

例:VALUEWHEN(HIGH>REF(HIGH,5),HIGH);

表示当前最高价大于前五个周期最高价的最大值时返回当前最高价。

5、数学运算

ABS(X) 求X的绝对值

例:ABS(SAR(17,0.03,0.3));返回抛物转向SAR(17,0.03,0.3)的绝对值。

本文来源:https://www.bwwdw.com/article/fh5d.html

Top