文华财经函数大全

您所在的位置:网站首页 k线的收盘价是昨天还是今天 文华财经函数大全

文华财经函数大全

2024-07-16 21:31| 来源: 网络整理| 查看: 265

文华财经函数大全

 

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的合约品种的最新价。

BARSBK:取上一次买开仓位置

BARSSK:取上一次卖开仓位置

BKPRICE:取最近一次买开信号位

SKPRICE:取最近一次卖开信号位

MINPRICE1:取模组交易合约的最小变动价位

HHV(H,BARSBK+1):取最近买开位置到现在的最高价

LL:=LLV(L,BARSSK+1);取最近卖开位置到现在的最低价

 

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)的绝对值。

ACOS(X) 求X的反余弦值ASIN(X) 求X的反正弦值ATAN(X) 求X的反正切值COS(X) 返回X的余弦值EXP(X) 返回e的X次幂CEILING(X) 向上舍入,返回沿X数值增大方向最接近的整数。FLOOR(X) 向下舍入,返回沿X数值减小方向最接近的整数。INTPART(X) 取X的整数部分,返回沿X绝对值减小方向最接近的整数。

LN(X) 得到X的自然对数,以e为底的对数。例:LN(OPEN);求开盘价的自然对数。

LOG(X) 得到X的常用对数,取得X的以10为底的对数。例:LOG(OPEN);求开盘价的以10为底的对数。

MAX(A,B) 求A,B中的较大者。例:MAX(CLOSE-OPEN,0);表示若收盘价大于开盘价返回它们的差值,否则返回0。

MIN(A,B) 求A,B中的较小者。例:MIN(OPEN,CLOSE);返回开盘价和收盘价中的较小值。

MOD(A,B) 返回A对B得到模。例:MOD(CLOSE,OPEN);收盘价除以开盘价所得余数

NOT(X) 当X为0时返回1,否则返回0。例:NOT(TIME=090530);表示该周期对应的时间不是9:05:30AM。

POW(A,B)  得到A的B次幂。例:POW(CLOSE,2);求得收盘价的2次方。

REVERSE(X) 取反,返回符号相反的数值。例:REVERSE(LOW);返回-LOW。

SGN(X) 得到X的符号,如果X>0则返回1,如果X1.08,HIGH,(CLOSE-OPEN)/OPEN*100,2,COLORRED);表示当日涨幅大于8%时在最高价位置显示涨幅(相对开盘价的百分比)。

FILLRGN(COND,DATA1,DATA2,COLOR) 填充区域,当条件COND满足时,填充DATA1及DATA2包围的区域。例:FILLRGN(MA5>MA10,MA5,MA10,COLORRED);表示MA5>MA10时以红色填充MA5和MA10之间的区域。

POLYLINE(COND,DATA,COLOR) 画折线,当条件COND满足时,连接各个DATA点。例:POLYLINE(CLOSE>=HHV(CLOSE,100),CLOSE,COLORRED);表示在收盘价创100天新高点之间画折线。

PARTLINE(COND,DATA,COLOR) 画线段,条件COND满足时,以COLOR颜色的直线连接DATA各点。例:PARTLINE(HIGH>REF(HIGH,1),HIGH,COLORRED);表示当期最高价大于前期最高价用红色绘制最高价线段。

STICKLINE(C,P1,P2,COLOR,EMPTY) 如果条件C满足时,从P1到P2画柱线,颜色为Color,如果Empty取1,则为空心柱;如果Empty取0,则为实心柱。例:STICKLINE(OPEN-CLOSE>0,OPEN,CLOSE,COLORCYAN,0);表示当开盘价大于收盘价时,从开盘价到收盘价画青色的实心柱,即K线阴线的实体部分。

VERTLINE(COND,COLOR) 画垂直线,当条件COND满足时,画垂直线。例:VERTLINE(HIGH>=HHV(HIGH,30),COLORRED);表示在价格创30天新高时画垂直线。

08版本与09版本函数区别: 08版本函数 09版本函数SETTLE 日线周期只有盘后才能引用当日的结算价。其他周期计算结果等同于AVPRICE 引用结算价(如果用在周期小于'日'的K线上如5分钟K线,一小时k线,每根k线返回的值表示这根k线当日开盘时到这根k线的为止的结算价(均价)如果用在周期大于等于'日'的K线上,返回当根K线结束时间所在日的结算价.)BACKSET(X,N) 『未来函数』 函数参数不支持变量计算 函数参数支持变量计算如:BACKSET(CLOSE>OPEN,VAR1);//VAR1是变量DMA 函数参数不支持变量计算 DMA(X,N)返回X的动态移动平均,其中N必须介于0及1之间。N 支持变量。计算方法:DMA(N)=DMA(N-1)*(1-A)+X(N)*A其中DMA(N-1)为第(N-1)天的DMA值。HHV(X,N) 函数参数N不支持变量计算 函数参数N支持变量计算LLV(X,N) 函数参数N不支持变量计算 函数参数N支持变量计算COUNT(X,N) 函数参数N不支持变量计算 函数参数N支持变量计算

09版本新增函数: GETPRICE(N) 根据文华码取出某一品种的最新价。例:GETPRICE(1209);返回文华码为1209的合约品种的最新价。

RGB(R,G,B) 自定义颜色函数。R,G,B的数值范围都在0~255之间,例:RGB(225,225,225)表示白色

PARAM[参数名称,最小值,最大值,缺省值] 在源码中定义参数。例:PARAM[N,1,100,12]

MAN:MA(CLOSE,N);表示参数为N,最小值为1,最大值为100,缺省值为12.IF(COND)A,COLOR;ELSEB, COLOR; 条件循环函数。多层次循环时使用“{}”套用。例:取得MA5、MA10、MA30三者中最大的数值MA5:=MA(CLOSE,5);MA10:=MA(CLOSE,10);MA30:=MA(CLOSE,30);IF(MA5>MA10)MA5,COLORRED;ELSE{IF(MA10>MA30)MA10,COLORMAGENTA;ELSEMA30,COLORGREEN;}注意:区别于IFELSE函数,为了使多层次套用看的清楚,以上示例中将“{}”单独空行,实际使用中可以不必这样使用。

#IMPORT [CODE,PERIOD,FORMULA] AS VAR 跨周期、跨合约取数据函数。语句格式:#IMPORT [CODE,PERIOD,FORMULA] AS VARCODE 文华码(文华码见http://www.wenhua.com.cn/guide/guide.htm 其他—>期货品种代码表)PERIOD 被引用的周期FORMULA 被引用指标名称

例:引用[豆粕1005]合约日K线图周期的指标[KDJ.FML] 中K值、D值:#IMPORT [1205,DAY,KDJ] AS VARKDJK1:KDJ.K;D1:KDJ.D;

注意点:1.只能引用一个当前存在的‘.FML文件’(指标文件)中的变量,不支持同时引用多个指标和多个周期。2.只能引用如下周期 MIN1 MIN3 MIN5 MIN10 MIN15 MIN30 HOUR1 HOUR3 HOUR8 DAY WEEK MONTH;3.只能短周期引用长周期指标数据,分钟周期上可引用小时、日周期数据,不能日线周期上加载引用分钟数据的指标;4.被引用的指标中不能存在引用。5.如果不写文华码,默认引用当前合约。

模型注释符号在2009版本中修改为“//”。2008版本中模型注释语句使用在2009版本中时在{}前面增加//即可。

(三)编辑平台可以使用的常数常数 意义COLORRED 红色COLORGREEN 绿色COLORBLUE 蓝色COLORMAGENTA 紫色COLORYELLOW 黄色COLORLIGHTGREY 浅灰色COLORLIGHTRED 浅红色COLORLIGHTGREEN 浅绿色COLORLIGHTBLUE 浅蓝色COLORBLACK 黑色COLORWHITE 白色COLORCYAN 青色COLORSTICK 画彩色柱线VOLUMESTICK 画成交量线BAMBOOLINE 画竹线CIRCLEDOT 画圆OPISTICK 画持仓量柱线RGB(R,G,B) 自定义颜色函数。R,G,B的数值范围都在0~255之间。例:RGB(225,225,225)表示白色PARAM[参数名称,最小值,最大值,缺省值] 在源码中定义参数。例:PARAM[N,1,100,12]MAN:MA(CLOSE,N);表示参数为N,最小值为1,最大值为100,缺省值为12.

注意:在公式内即使你定义了某种颜色,在显示的时候也未必是此种颜色,取决于背景颜色当前页面里是否保了该指标的颜色及您是否在显示的时候改变了该指标的颜色设置。

欢迎交流:QQ:419549257Q群:138709040

(四)编辑平台的语法

1、关于公式名称:公式的名称不可以和已经存在的公式重复。

 

2、关于参数:每个自编公式最多可以定义四个参数,参数的定义如下,首先是参数名称,然后是参数的最小值,最大值,最后是参数的默认值。在定义参数时要注意的是参数名称不可以重复。

3、关于变量名称:变量名称不可以互相重复,不可以和参数名重复,不可以和函数名称重复。

4、关于公式内容:公式的每个语句应该以分号结束,包括最后一条语句。在数据公式的时候请您注意一定要使用半角输入。 在编写公式的过程中,如果您不记得某个函数的确切写法,可以选择插入函数来插入函数。

5、如果您在编写公式之后,想给这个公式加上注释,说明之类的东西,可以使用公式说明来输入。

(五)编辑平台使用的交易指令交易模型中的交易指令如下:

图示 指令 意义 BK  买开指令 BP 买平指令 SK 卖开指令 SP 卖平指令 BPK 买平同时等价等量买开指令 SPK 卖平同时等价等量卖开指令

套利模型中的交易指令如下:

图示 指令 意义 BKSK 甲合约买开;乙合约卖开信号 BPSP 甲合约买平;乙合约卖平信号 SKBK 甲合约卖开;乙合约买开信号 SPBP 甲合约卖平;乙合约买平信号

请注意,在效果测试使用如下机制:连续的开仓指令只使用第一个指令进行开仓,开仓时使用当时的全部资金,连续的平仓指令,只有第一个有效,平掉当时的全部持仓,其他的平仓指令算做错误指令!

(六)快速入门

1、如何把熟悉的技术指标转换成交易模型?

第一步:把KDJ指标公式COPY过来。RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;//{算出(收盘价-N周期内的最低价)/(N周期的最高价—N周期内的最低价)*100的值,用RSV来表示。}BACKGROUNDSTYLE(1);{确定背景的样式,(钝化)}K:SMA(RSV,M1,1),COLORWHITE;//{RSV的移动加权平均的值用K表示,并且画白色的线。}D:SMA(K,M2,1),COLORYELLOW;//{K的移动加权平均的值用D表示,并且画黄色的线。}J:3*K-2*D,COLORMAGENTA;//{3倍的K减去2倍的D的值用J表示,并且画紫色的线。}

第二步:原有公式主要是画线,所以稍作修改。如下:RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;//{第一行不需要修改}//{第二行删除,在交易模型中不用钝化}K:=SMA(RSV,M1,1);//{在“:”后加上“=”变为只定义不用画线,所以把后面的颜色函数(COLORWHITE)也去掉}D:=SMA(K,M2,1);//{同上}J:=3*K-2*D;//{同上}

第三步:把自己总结的交易条件写上,就可完成交易模型。如下:RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;K:=SMA(RSV,M1,1);D:=SMA(K,M2,1);J:=3*K-2*D;CROSS(K,D),BK;//{K向上穿越D,发出买开交易指令}CROSS(J,100),SP;//{J向上穿越100,发出卖平交易指令}CROSS(D,K),SK;//{K向下穿越D,发出卖开交易指令}CROSS(0,J),BP;//{J向下穿越0,发出买平交易指令}//后为文字说明,编写模型时不用写出

2、如何编制交叉(金叉/死叉)类型的交易模型?MA5:=MA(CLOSE,5);//{5个周期收盘价的简单移动平均}MA10:=MA(CLOSE,10);//{10个周期收盘价的简单移动平均}MA20:=MA(CLOSE,20);//{20个周期收盘价的简单移动平均}CROSS(MA10,MA20),BK;//{当MA10上穿MA20时,发出买入开仓交易指令}CROSS(MA10,MA5),SP;//{当MA10上穿MA5时,发出卖出平仓交易指令}CROSS(MA20,MA10),SK;//{当MA20上穿MA10时,发出卖出开仓交易指令}CROSS(MA5,MA10),BP;//{当MA5上穿MA10时,发出买入平仓交易指令} //后为文字说明,编写模型时不用写出}

3、如何编制多条件类型的交易模型?RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;K:=SMA(RSV,3,1);D:=SMA(K,3,1);J:=3*K-2*D;//{以上为KDJ公式}MA5:=MA(CLOSE,5);MA10:=MA(CLOSE,10);//{以上为定义5个周期收盘价的简单移动平均和10个周期收盘价的简单移动平均}(CROSS(MA5,MA10)&&REF(J,1)30)||(CROSS(D,K)&&J>70),SK;//{5周期均线下叉10周期均线并且前一个周期的J值(KDJ)大于30或者KD死叉时并且J值大于70时发出卖出开仓交易指令}CROSS(K,D)&&REF(J,1)REF(CLOSE,2)&&REF(CLOSE,2) >REF(CLOSE,3)&&REF(CLOSE,3)>REF(CLOSE,  4)&&CLOSE8,SK;//{10周期均线上穿5周期均线或者收盘价与5周期均线的差值大于8时,发出卖出开仓交易指令}(MA5-CLOSE)>6,BP;//{5周期均线与收盘价的差值大于6时,发出买入平仓交易指令} CROSS(MA5,MA10)||(MA5-CLOSE)>8,BK;//{5周期均线上穿10周期均线或者收盘价与5周期均线的差值大于8时,发出买入开仓交易指令}(CLOSE-MA5)>6,SP;//{收盘价与5周期均线的差值大于6时,发出卖出平仓交易指令}{{}内为  文字说明,编写模型时不用写出}

6、如何编制简单价差类型的套利模型?CROSS(300,CLOSE),BKSK; //{CLOSE为两个品种的价差。当价差小于300时,买入开仓前一品种,卖出开仓后一品种}CROSS(CLOSE,500),SPBP;//{当价差大于500时,卖出平仓前一品种,买入平仓后一品种}  CROSS(CLOSE,600),SKBK;//{当价差大于600时,卖出开仓前一品种,买入开仓后一品种}  CROSS(400,CLOSE),BPSP;//{当价差小于400时,买入平仓前一品种,卖出平仓后一品种}  

7、如何编制组合类型的套利模型?RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;K:=SMA(RSV,M1,1);D:=SMA(K,M2,1);J:=3*K-2*D;//{以上为KDJ公式}CLOSE600&&CROSS(D,K),SKBK;//{当价差大于600并且D上穿K时,卖出开仓前一品种,买入开仓后一品种}CROSS(400,CLOSE)||CROSS(K,D),BPSP;//{当价差下穿400或者K上穿D时,买入平仓前一品种,卖出平仓后一品种}

技术指标模型大全

1 ADTM模型DTM:=IFELSE(OPEN=REF(OPEN,1),0,MAX((OPEN-LOW),(OPEN-REF(OPEN,1))));STM:=SUM(DTM,N);SBM:=SUM(DBM,N);ADTM:=IFELSE(STM>SBM,(STM-SBM)/STM,IFELSE(STM=SBM,0,(STM-SBM)/SBM));ADTMMA:=MA(ADTM,M);ADTMMAQ,SPK;

2 ARBR模型

AR := SUM(HIGH-OPEN,N)/SUM(OPEN-LOW,N)*100;BR := SUM(MAX(0,HIGH-REF(CLOSE,1)),N)/SUM(MAX(0,REF(CLOSE,1)-LOW),N)*100;(BRCC,AA+BB/2+DD/4,IFELSE(BB>CC&&BB>AA,BB+AA/2+DD/4,CC+DD/4));X:=(CLOSE-LC+(CLOSE-OPEN)/2+LC-REF(OPEN,1));SI:=16*X/R*MAX(AA,BB);ASI:=SUM(SI,0);ASI>REF(ASI,1),BPK;//当前周期ASI指标数值大于前一周期开多;ASIMA(C,10) && CROSS(TR,ATR) && ATR>REF(ATR,1) && ISDOWN,BK;//在上升通道中,ATR真实波幅向上时,且白线上穿黄线,此时K线收阴者买入开仓;CROSS(MA(C,10),C),SP;//当价格下穿10周期均线平多仓。

 

5 B3612模型B36 := MA(CLOSE,3)-MA(CLOSE,6);B612 := MA(CLOSE,6)-MA(CLOSE,12);B36REF(B612,1) ,BPK;//本周期B36与B612分别小于前一周期B36与B612时平多开空。

 

6 BBI模型BBI1:=(MA(CLOSE,N1)+MA(CLOSE,N2)+MA(CLOSE,N3)+MA(CLOSE,N4))/4;MA54:=MA(C,54);//以MA54来判断当前价格处于高价区还是低价区。CMA54 && CROSS(BBI1,C),SPK;

 

7 BIAS模型BIAS1 := (CLOSE-MA(CLOSE,L1))/MA(CLOSE,L1)*100;BIAS1>M1 && MA(C,54)P && MA(C,54)LLV(NQ,M)*(1+M1*0.001) && TIME>=0900 && TIME=1455,BP;//当NQ上涨超过前M周期最低值的千分之M1,买开。

 

11 CDP日内模型PT  := REF(HIGH,1)-REF(LOW,1);CDP := (REF(HIGH,1) + REF(LOW,1) + REF(CLOSE,1))/3;AH  :=MA(CDP + PT,N);AL  :=MA(CDP - PT,N);NH  :=MA(2*CDP-LOW,N);NL  :=MA(2*CDP-HIGH,N);NQ:=(AH+AL+NH+NL)/4;//计算出CDP中四条指标线的均值NQNQ>LLV(NQ,M)*(1+M1*0.001),BPK;//当NQ上涨超过前M周期最低值的千分之P,买平开;NQLLV(NQ,M)*(1+M1*0.001),BPK;//当NQ上涨超过前M周期最低值的千分之M1,买平开;NQREF(MM,1),BPK;MM0,BPK;//DDI大于零平空开多;DDI0&&HD>LD,HD,0),N,1);DMM:= SMA(IFELSE(LD>0&&LD>HD,LD,0),N,1);PDI:= DMP*100/TR;MDI:= DMM*100/TR;ADX:= SMA(ABS(MDI-PDI)/(MDI+PDI)*100,N,1);ADXR:=(ADX+REF(ADX,M))/2;CROSS(PDI,MDI),BK;//PDI上穿MDI开多仓。CROSS(MDI,PDI),SK;//PDI下穿MDI开空仓。ADXLD,HD,0),N,1);DMM:= SMA(IFELSE(LD>0&&LD>HD,LD,0),N,1);PDI:= DMP*100/TR;MDI:= DMM*100/TR;ADX:= SMA(ABS(MDI-PDI)/(MDI+PDI)*100,N,1);ADXR:=(ADX+REF(ADX,M))/2;CROSS(PDI,MDI) && TIME>0900 && TIME0900 && TIMEMA4,BK;//当MA2上穿MA3,并且收盘价大于MA4,发出买入开仓交易指令。CROSS(MA2,MA1),SP;//当MA2上穿MA1,发出卖出平仓交易指令。CROSS(MA3,MA2)&&CLOSEREF(MAH,1)&&MAL>REF(MAL,1)&&MAC>REF(MAC,1),BPK;//MAH,MAL,MAC同时上涨,买平并买开。MAHREF(MA1,2)&&REF(MA1,4)>REF(MA1,3),BPK;//上拐时买平并买开MA1REF(MV2,1),SPK;//收盘价在60均线下,并且MV1,MV2处于上升状态中,卖平并卖

 

40 PRICEOSC模型PRICEOSC:=(MA(CLOSE,SHORT)-MA(CLOSE,LONG))/MA(CLOSE,SHORT)*100;CROSS(PRICEOSC,0),BPK;//向上突破0为买点CROSS(0,PRICEOSC),SPK;//向下突破0为卖点

 

41 PUBU模型PB1:=PUBU(CLOSE,0);PB2:=PUBU(CLOSE,1);PB3:=PUBU(CLOSE,2);PB4:=PUBU(CLOSE,3);PB5:=PUBU(CLOSE,4);PB6:=PUBU(CLOSE,5);CROSS(PB1,PB6),BPK;//短线瀑布线向上穿越长线瀑布,买入。CROSS(PB6,PB1),SPK;//短线瀑布线向下穿越长线瀑布,卖出。

 

42 RC模型RC:=CLOSE/REF(CLOSE,N);ARC:=SMA(REF(RC,1),N,1);MA10:=MA(CLOSE,10);MA20:=MA(CLOSE,20);CROSS(MA10,MA20)&&ARC>1,BPK;//MA10上穿MA20且RC指标在1上,做多CROSS(MA20,MA10)&&ARCREF(CLOSE,4)&&CLOSEREF(HHV(C,N1),1)&&ROCMA60&&WR-20,SP;//在60天均线上wr>-20平多仓C-20,SK;//在60天均线下wr>-20开空仓C8,BK;//5周期均线上穿10周期均线或者收盘价与5周期均线的差值大于8时,发出买入开仓交易指令(CLOSE-MA5)>6,SP;//收盘价与5周期均线的差值大于6时,发出卖出平仓交易指令

51 多条件模型示例RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;K:=SMA(RSV,3,1);D:=SMA(K,3,1);J:=3*K-2*D;//以上为KDJ公式

MA5:=MA(CLOSE,5);MA10:=MA(CLOSE,10);//以上为定义5个周期收盘价的简单移动平均和10个周期收盘价的简单移动平均

(CROSS(MA5,MA10)&&REF(J,1)30)||(CROSS(D,K)&&J>70),SK;//5周期均线下叉10周期均线并且前一个周期的J值(KDJ)大于30或者KD死叉时并且J值大于70时发出卖出开仓交易指令CROSS(K,D)&&REF(J,1)=0905&&TIME=1455,BP;//当时间到14点55分时自动发出买平指令TIME>=0905&&TIME=1455,SP;//当时间到14点55分时自动发出卖平指令

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3