文华财经函数列表和技术指标模型
更新时间:2024-05-04 13:11: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)的绝对值。
MAN:MA(CLOSE,N);
表示参数为N,最小值为1,最大值为100,缺省值为12.
注意:在公式内即使你定义了某种颜色,在显示的时候也未必是此种颜色,取决于背景颜色当前页面里是否保了该指标的颜色及您是否在显示的时候改变了该指标的颜色设置。
欢迎交流: QQ:419549257 Q群: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)<70)||(CROSS(K,D)&&J<30),BK;//{5周期均线上穿10周期均线并且前一个周期的J值(KDJ)少于70或者KD金叉时并且J值小于30时发出买入开仓交易指令}
CROSS(D,K)&&REF(J,1)>70,SP;//{KD出现死叉并且前一个周期J值大于70时发出卖出平仓交易指令}
(CROSS(MA10,MA5)&&REF(J,1)>30)||(CROSS(D,K)&&J>70),SK;//{5周期均线下叉10周期均线并且前一个周期的J值(KDJ)大于30或者KD死叉时并且J值大于70时发出卖出开仓交易指令}
CROSS(K,D)&&REF(J,1)<30,BP;//{KD出现金叉并且前一个周期J值小于30时发出买入平仓交易指令} {{}内为文字说明,编写模型时不用写出}
4、如何编制REF(X,N)类型的交易模型?
A:=OPEN-(((REF(HIGH,1)-REF(LOW,1))+(REF(HIGH,2)-REF(LOW,2))+(REF(HIGH,3)-REF (LOW,3))+(REF(HIGH,4)-REF(LOW,4)))/4)*1.8;//{A=当前周期的开盘价 -[ (一个周期
前的最高价减最低价的差+两个周期前的最高价减最低价的差+三个周期前的最高价减最低价的差+四个周期前的最高价减最低价的差)/4]*1.8 }
REF(CLOSE,1)< REF(CLOSE,2)&&REF(CLOSE,2)< REF(CLOSE,3)&&REF(CLOSE,3)< REF(CLOSE,4)&&CLOSE >A,BPK;//{连续四个周期的收盘价小于前一周期的收盘价并且当前周期的收盘价大于A时,发出买平并且买开(反手)交易指令}
REF(CLOSE,1)>REF(CLOSE,2)&&REF(CLOSE,2) >REF(CLOSE,3)&&REF(CLOSE,3)>REF(CLOSE,
4)&&CLOSE<=A,SPK;//{连续四个周期的收盘价大于前一周期的收盘价并且当前周期的收盘价小于等于A时,发出卖平并且卖开(反手)交易指令}{{}内为文字说明,编写模型时不用写出}
5、如何编制价差类型的交易模型?
MA5:=MA(CLOSE,5);//{5个周期收盘价的简单移动平均} MA10:=MA(CLOSE,10);//{10个周期收盘价的简单移动平均}
CROSS(MA10,MA5)||(CLOSE-MA5)>8,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公式}
CLOSE<300&&CROSS(K,D),BKSK;//{当价差小于300并且K上穿D时,买入开仓前一品种,卖出开仓后一品种}
CROSS(CLOSE,500)||CROSS(D,K),SPBP;//{当价差上穿500或者D上穿K时,卖出平仓前一品种,买入平仓后一品种}
CLOSE>600&&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((HIGH-OPEN),(OPEN-REF(OPEN,1)))); DBM:=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); ADTMMA
Q,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; (BRP && AR-REF(AR,M) 3 ASI模型 LC:=REF(CLOSE,1); AA:=ABS(HIGH-LC); BB:=ABS(LOW-LC); CC:=ABS(HIGH-REF(LOW,1)); DD:=ABS(LC-REF(OPEN,1)); R:=IFELSE(AA>BB&&AA>CC,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指标数值大于前一周期开多; ASI 4 ATR模型 TR := MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW)); ATR := MA(TR,N); C>MA(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); B36 B36>REF(B36,1) && B612>REF(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来判断当前价格处于高价区还是低价区。 C 7 BIAS模型 BIAS1 := (CLOSE-MA(CLOSE,L1))/MA(CLOSE,L1)*100; BIAS1>M1 && MA(C,54)REF(C,54),SK; BIAS1<-1*P && MA(C,54)P && MA(C,54)>REF(C,54),BP; BIAS1 8 BOLL模型 MID:=MA(CLOSE,N); TMP2:=STD(CLOSE,M); TOP:=MID+P*TMP2; BOTTOM:=MID-P*TMP2; A:=TOP-C; B:=C-BOTTOM; CROSS(C,BOTTOM),BPK; CROSS(TOP,C),SPK; 9 CCI模型 TYP:=(CLOSE+HIGH+LOW)/3; CCI:=(TYP-MA(TYP,N))/(0.015*AVEDEV(TYP,N)); CROSS(CCI,100),BK;//CCI从+100~-100的常态区,由下往上突破+100天线时,为买入开仓。 CROSS(100,CCI),SP;//CCI从+100天线之上,由上往下跌破天线时,为卖出平仓。 CROSS(100,CCI),SK;//CCI从+100~-100的常态区,由上往下跌破-100地线时,为卖出开仓。 CROSS(CCI,100),BP;//CCI从-100下方,由下往上突破-100地线时,为买入平仓。 10 CDPV日内模型 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中四条指标线的均值NQ NQ>LLV(NQ,M)*(1+M1*0.001) && TIME>=0900 && TIME<1455,BP;//当NQ上涨超过前M周期最低值的千分之M1,买开; NQ NQ NQ>LLV(NQ,M)*(1+M1*0.001) || 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中四条指标线的均值NQ NQ>LLV(NQ,M)*(1+M1*0.001),BPK;//当NQ上涨超过前M周期最低值的千分之P,买平开; NQ 12 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中四条指标线的均值NQ NQ>LLV(NQ,M)*(1+M1*0.001),BPK;//当NQ上涨超过前M周期最低值的千分之M1,买平开; NQ 13 CR模型 MID := (HIGH+LOW+CLOSE)/3; CR:=SUM(MAX(0,HIGH-REF(MID,1)),N)/SUM(MAX(0,REF(MID,1)-LOW),N)*100; CR 14说明 文中“//” 后面的文字是解说,实际编写与测试过程中,不用编写。 15 DBCD模型 BIAS:=(CLOSE-MA(CLOSE,N))/MA(CLOSE,N); DIF:=(BIAS-REF(BIAS,M)); DBCD:=SMA(DIF,T,1); MM:=100000*MA(DBCD,5); MM>REF(MM,1),BPK; MM 16 DDI模型 TR:=MAX(ABS(HIGH-REF(HIGH,1)),ABS(LOW-REF(LOW,1))); DMZ:=IFELSE((HIGH+LOW)<=(REF(HIGH,1)+REF(LOW,1)),0,MAX(ABS(HIGH-REF(HIGH,1)),ABS(LOW-REF(LOW,1)))); DMF:=IFELSE((HIGH+LOW)>=(REF(HIGH,1)+REF(LOW,1)),0,MAX(ABS(HIGH-REF(HIGH,1)),ABS(LOW-REF(LOW,1)))); DIZ:=SUM(DMZ,N)/(SUM(DMZ,N)+SUM(DMF,N)); DIF:=SUM(DMF,N)/(SUM(DMF,N)+SUM(DMZ,N)); DDI:=DIZ-DIF; DDI>0,BPK;//DDI大于零平空开多; DDI<0,SPK;//DDI小于零平多开空。 17 DMA模型 DDD := (MA(CLOSE,SHORT)-MA(CLOSE,LONG)); AMA := MA(DDD,M); CROSS(DDD,AMA),BPK;//DMA向上交叉AMA,买进; CROSS(AMA,DDD),SPK;//DMA向下交叉AMA,卖出。 18 DMI-QL模型 TR := SMA(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(LOW-REF(CLOSE,1))),N,1); HD := HIGH-REF(HIGH,1); LD := REF(LOW,1)-LOW; DMP:= SMA(IFELSE(HD>0&&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开空仓。 ADX 19 DMI日内模型 TR := SMA(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(LOW-REF(CLOSE,1))),N,1); HD := HIGH-REF(HIGH,1); LD := REF(LOW,1)-LOW; DMP:= SMA(IFELSE(HD>0&&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) && TIME>0900 && TIME<1450,BK;//PDI上穿MDI开多仓。 CROSS(MDI,PDI) && TIME>0900 && TIME<1450,SK;//PDI下穿MDI开空仓。 ADX ADX 20 DPO模型 DPO:=CLOSE-REF(MA(CLOSE,20),11); CROSS(DPO,O),BK;//当DPO指标数值上穿0线,开多仓。 DPO DPO>LLV(DPO,N)*(1-0.01*M),BP;//当DPO指标上涨超过N日最低点的M%时平空仓。 21 EMA2模型 EMA210:=EMA2(CLOSE,10);//定义10周期收盘价的加权平均值。 EMA220:=EMA2(CLOSE,20);//定义20周期收盘价的加权平均值。 CROSS(EMA210,EMA220),BK;//10周期均线上穿20周期均线,发出买入开仓指令。 CROSS(EMA220,EMA210),SK;//10周期均线下穿20周期均线,发出卖出开仓指令。 EMA210 EMA210>REF(EMA210,1)&&EMA220>REF(EMA220,1),BP;//10周期均线和20周期均线都下降时,发出平空仓指令。 22 EMA模型 EMA10:=EMA(CLOSE,10);//定义10周期收盘价的指数平滑移动平均值。 EMA20:=EMA(CLOSE,20);//定义20周期收盘价的指数平滑移动平均值。 CROSS(EMA10,EMA20),BK;//10周期均线上穿20周期均线,发出买入开仓指令。 CROSS(EMA20,EMA10),SK;//10周期均线下穿20周期均线,发出卖出开仓指令。 EMA10 EMA10>REF(EMA10,1)&&EMA20>REF(EMA20,1),BP;//10周期均线和20周期均线都上升时,发出平空仓指令。 23 ENV模型 UPPER := MA(CLOSE,N1)*(1+N2/100); LOWER := MA(CLOSE,N1)*(1-N2/100); //以上为ENV公式 CROSS(CLOSE,UPPER),BPK;//收盘价上穿UPPER,买平并买开。 CROSS(LOWER,CLOSE),SPK;//收盘价下穿LOWER,卖平并卖开。 24 EXPMA模型 MA1:=EMA(CLOSE,P1); MA2:=EMA(CLOSE,P2); MA3:=EMA(CLOSE,P3); MA4:=EMA(CLOSE,P4); //以上为EXPMA指标 CROSS(MA2,MA3)&&CLOSE>MA4,BK;//当MA2上穿MA3,并且收盘价大于MA4,发出买入开仓交易指令。 CROSS(MA2,MA1),SP;//当MA2上穿MA1,发出卖出平仓交易指令。 CROSS(MA3,MA2)&&CLOSE CROSS(MA1,MA2),BP;//当MA1上穿MA2,发出买入平仓交易指令。 25 HCL模型 MAH:=MA(HIGH,N); MAL:=MA(LOW,N); MAC:=MA(CLOSE,N); //以上为HCL指标公式 MAH>REF(MAH,1)&&MAL>REF(MAL,1)&&MAC>REF(MAC,1),BPK;//MAH,MAL,MAC同时上涨,买平并买开。 MAH 26 KDJ模型 RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;//定义RSV K:=SMA(RSV,M1,1); //定义K D:=SMA(K,M2,1); //定义D J:=3*K-2*D; //定义J //以上为KDJ指标公式 J<30&&CROSS(K,D),BPK;//J值小于30并且K、D金叉,买平并买开。 J>70&&CROSS(D,K),SPK;//J值大于70并且K、D死叉,卖平并卖开。 27 KD模型 RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100; K:=SMA(RSV,M1,1); D:=SMA(K,M2,1); //以上为KD指标公式 CROSS(K,D),BPK;//K,D金叉,买平并买开。 CROSS(D,K),SPK;//K,D死叉,卖平并卖开。 28 LW&R模型 RSV:= (CLOSE-HHV(HIGH,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;//定义RSV LWR1:=SMA(RSV,3,1);//定义LWR1 LWR2:=SMA(LWR1,3,1);//定义LWR2 CROSS(LWR1,LWR2),BPK;//LWR1上穿LWR2,买平并买开 CROSS(LWR2,LWR1),SPK;//LWR1下穿LWR2,卖平并卖开 29 LW&R模型1 RSV:= (CLOSE-HHV(HIGH,N))/(HHV(HIGH,N)-LLV(LOW,N))*100; LWR1:=SMA(RSV,M1,1); LWR2:=SMA(LWR1,M2,1); //以上为LW&R指标公式 LWR1<30&&CROSS(LWR1,LWR2),BK;//LWR1小于30,并且LWR1上穿LWR2,买开。 LWR1>70&&CROSS(LWR2,LWR1),SK;//LWR1大于70,并且LWR1下穿LWR2,卖开。 LWR1>80&&LWR2>70,BP;//LWR1大于80,并且LWR2大于70,平空仓。 LWR1<20&&LWR2<30,SP;//LWR1小于20,并且LWR2小于30,平多仓。 30 MACD模型 DIFF := EMA(CLOSE,SHORT) - EMA(CLOSE,LONG);//定义DIFF DEA := EMA(DIFF,M);//定义DEA //以上为MACD指标公式 (DIFF<0)&&(DEA<0)&&(CROSS(DIFF,DEA)),BPK;//DIFF小于0并且DEA小于0并且DIFF上穿DEA,买平并买开 (DIFF>0)&&(DEA>0)&&(CROSS(DEA,DIFF)),SPK;//DIFF大于0并且DEA大于0并且DIFF下穿DEA,卖平并卖开 31 MASS模型 MASS:=SUM(EMA((HIGH-LOW),N1)/EMA(EMA((HIGH-LOW),N1),N1),N2);//定义MASS MA9:=MA(CLOSE,9);//定义9周期收盘价的均线 CROSS(26.5,MASS)&&MA9>REF(MA9,1),SPK;//MASS下穿26.5,并且MA9在上升趋势中,卖平并卖开 CROSS(26.5,MASS)&&MA9 32 MA模型 MA1:=MA(CLOSE,N);//定义10周期均线 MA1>REF(MA1,1)&&REF(MA1,1)>REF(MA1,2)&&REF(MA1,3)>REF(MA1,2)&&REF(MA1,4)>REF(MA1,3),BPK;//上拐时买平并买开 MA1 33 MA组合模型 MA1:=MA(CLOSE,P1); MA2:=MA(CLOSE,P2); MA3:=MA(CLOSE,P3); MA4:=MA(CLOSE,P4); //已上是MA组合指标公式 CROSS(MA2,MA3)&&CLOSE>MA4,BK;//当MA2上穿MA3,并且收盘价大于MA4,发出买入开仓交易指令 CROSS(MA2,MA1),SP;//当MA2上穿MA1,发出卖出平仓交易指令 CROSS(MA3,MA2)&&CLOSE CROSS(MA1,MA2),BP;//当MA1上穿MA2,发出买入平仓交易指令 34 MFI模型 TYP := (HIGH + LOW + CLOSE)/3; MR:=SUM(IFELSE(TYP>REF(TYP,1),TYP*VOL,0),N)/SUM(IFELSE(TYP MFI:=100-(100/(1+MR)); //以上是MFI指标公式 MFIREF(CLOSE,1)&&MFI>20&&MFI<80,BPK;//当MFI处于下降趋势,并且收盘价处于上升趋势,并且MFI大于20并且小于80,买平并买开 MFI>REF(MFI,1)&&CLOSE20&&MFI<80,SPK;//当MFI处于上升 趋势,并且收盘价处于下降趋势,并且MFI大于20并且小于80,卖平并卖开 35 MICD模型 MI:=CLOSE-REF(CLOSE,1); AMI:=SMA(MI,N,1); DIF:=MA(REF(AMI,1),N1)-MA(REF(AMI,1),N2); MICD:=SMA(DIF,10,1); //上述是MICD指标公式 (DIF<0)&&(MICD<0)&&(CROSS(DIF,MICD)),BPK;//DIF小于0并且MICD小于0并且DIFF上穿MICD,买平并买开 (DIF>0)&&(MICD>0)&&(CROSS(MICD,DIF)),SPK;//DIF大于0并且MICD大于0并且DIFF下穿MICD,卖平并卖 36 MIKE模型 TYP:=(HIGH+LOW+CLOSE)/3; LL:=LLV(LOW,N); HH:=HHV(HIGH,N); WR:=TYP+(TYP-LL); MR:=TYP+(HH-LL); SR:=2*HH-LL; WS:=TYP-(HH-TYP); MS:=TYP-(HH-LL); SS:=2*LL-HH; //上述是MIKE指标公式 WRREF(WR,2) && MRREF(MR,2) && SRREF(SR,2),BPK;//WR,MR,SR同时下拐,买平并买开 WS>REF(WS,1)&&REF(WS,1)REF(MS,1)&&REF(MS,1)REF(SS,1)&&REF(SS,1) 37 MI模型 A:=CLOSE-REF(CLOSE,N); MI:=SMA(A,N,1); //上述是MI指标公式 CROSS(A,MI),BPK;//A金叉MI,买平并买开 CROSS(MI,A),SPK;//A死叉MI,卖平并卖开 38 MTM模型 MTM:=CLOSE-REF(CLOSE,N);//定义MTM CROSS(MTM,0),BPK;//MTM上穿0轴,买平并买开 CROSS(0,MTM),SPK;//MTM下穿0轴,卖平并卖开 39 MV模型 MV1:=SMA(VOL,N,1); MV2:=SMA(VOL,M,1); //上述是MV指标公式 MA60:=MA(CLOSE,60);//定义60周期收盘价均线 CLOSE>MA60&&MV1>REF(MV1,1)&&MV2>REF(MV2,1),BPK;//收盘价在60均线上,并且MV1,MV2处于上升状态中,买平并买开 CLOSE 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上,做多
正在阅读:
文华财经函数列表和技术指标模型05-04
2012年整形外科学主治医师考试大纲05-30
全国2014年10月自考国际私法试题和答案 - 图文03-20
天然药物化学指导08-15
仪器分析练习题及答案10-24
我喜欢音乐作文400字06-28
心灵感应:超越距离的心灵共振07-25
FX-PGBG-023-00 药品生产过程防止差错与混淆管理质量风险评估报告07-18
《访谈法》教案10-16
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 文华
- 技术指标
- 函数
- 模型
- 财经
- 列表
- 2011高考英语词汇表
- 资料员基础知识试题
- 2015年12月电工证复审试题
- 毕业生顶岗实习动员大会发言稿
- 小学教育
- 航空旅客运输合同中承运人的义务
- 健康管理师练习题1
- 中国文化概论学习笔记(最新最全)
- 庐阳区2018年中考模拟试题(二摸)数学试卷
- 工程力学客观题及答案(复习题)
- 美国职业体育的起源、演化和创新
- 毕业设计初稿 - 图文
- 生态系统结构 能量流动学案
- 2016上学期-单片机综合课程设计安排
- 我国企业应收账款保理业务的现状及改进措施
- 八年级道德与法治下册第三单元人民当家作主第五课我国基本制度第
- 四川理工学院课程设(四通分线盒)
- 09届高三生物第一学期月考试卷
- LED道路照明灯具光度数据的现状分析 - 图文
- 2017尔雅通识课传统文化与现代经营管理章节测验答案