1、 编辑平台支持的操作符 操作符 意义 例 + 加法 CLOSE+OPEN 表示求收盘价及开盘价的和。 CLOSE-OPEN 表示求收盘价及开盘价的差. CLOSE*OPEN 表示求收盘价及开盘价的积。 CLOSE/OPEN 表示求收盘价及开盘价的商。 - 减法 * 乘法 / 除法 && 与(并且) CLOSE>OPEN 表示判断当前周期是否收阳。 CLOSE=OPEN 表示判断当前周期是否平盘。 || 或(或者) 〉 大于 < 小于 >= 大于等于 <= 小于等于 〈〉 不等于 = 等于操
2、作符 := 只定义一个局部变量 (这个变量在画图时是不画的) TMP1:=(OPEN+CLOSE)/2; MA(TMP1,10); 上面的公式的第一个语句定义了一个局部变量TMP1,在下面一行中引用了这个局部变量,但是要注意的是这个公式在画图的时候只画了第二条语句所求出的结果. 相反下面这个公式则需要画出两条线,第一条是自己定义的均价线,同时显示了均价的名称为AVP,第二条线是均价的简单移动平均线。 AVP:(OPEN+CLOSE)/2; MA(AVP,10); : 声明了一个变量,在画图时画出它并且按这个名字显示。 编辑平台支持的函数
3、 1.引用数据 AVPRICE 引用均价(在盘后对于国内三个期货交易所指结算价) CLOSE 引用收盘价(在盘中指最新价) HIGH 引用最高价 LOW 引用最低价 OPEN 引用开盘价 OPI 引用持仓量 REF(X,N) 引用X在N个周期前的值 例:REF(CLOSE,5);表示引用当前周期前第5个周期的收盘价 REFX(X,N) 引用N个周期后的数据.(N为大于等于1的整数)(未来函数) 例:REFX(CLOSE,5);表示引用自当前周期后第5个周期的收盘价 SETTLE 引用结算价(只有盘后才能引用当日的结算价) VOL 引用成交量
4、 2.金融统计 BACKSET(X,N) 若X非0,则将当前位置到N周期前的数值设为1. 例:BACKSET(CLOSE〉OPEN,3);表示当K线收阳时,自当前位置到3周期前的数值设为1 BARSLAST(X) 求上一次条件成立到当前的周期数。 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,A) 返回X的动态移动平均,其
5、中A必须介于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(N-1)]/(N+1) 其中EMA(N-1)为第(N-1)天的EMA值 EMA2(X,N) 表示求X在N周期内的加权平均。(线性加权) 计算方法:EMA2(N)=(N*X0+(N-1)*X1+(N-2)*X2+。。。+1*XN)/(N+(N—1)+(N—2)+..。+1),X0表示本周期值,X1表示上一周期值..。
6、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则从第一个有
7、效周期开始算起。 例:LLVBARS(VOL,0); 求历史成交量最小的周期到当前的周期数 MA(X,N) 求X在N周期内的简单移动平均。 计算方法:MA=(A1+A2+A3+A4+A5)/5 求A在5个周期内的简单移动平均 ZIGZAG(X,P,C) 之字转向(未来函数),当C取1,P为百分比数;当C取0,P为价位差值。 例:ZIGZAG(HIGH,10,1);表示最高价的10%的之字转向 ZIGZAG(MA(HIGH,34),100,0);表示34个周期内最高价均线的100个价位的之字转向 PEAK(X,P,M,C) 取得ZIGZAG前M个波峰的值。其中X为数据
8、P为转折值(如果C为1的话,这个值为百分比,否则为绝对值),M为大于等于1的整数。(未来函数) 例:PEAK(HIGH,10,1,1);表示最高价的10%的之字转向的上一个波峰的数值 PEAK(MA(HIGH,34),100,1,0);表示34个周期内最高价均线的100个价位的之字转向的上一个波峰的数值 PEAKBARS(X,P,M,C) 取得ZIGZAG前M个波峰到当前周期的周期数.(未来函数) 例:PEAKBARS(HIGH,10,1,1);表示最高价的10%的之字转向的上一个波峰到当前的周期数 PEAKBARS(MA(HIGH,34),100,1,0);表示34个周期内最
9、高价均线的100个价位的之字转向的上一个波峰到当前的周期数 TROUGH(X,P,M,C) 取得ZIGZAG前M个波谷的值.(未来函数) 例:TROUGH(LOW,10,1,1);表示最低价的10%的之字转向的上一个波谷的数值 TROUGH (MA(LOW,34),100,1,0);表示34个周期内最低价均线的100个价位的之字转向的上一个波谷的数值 TROUGHBARS(X,P,M,C) 取得ZIGZAG前M个波谷到当前周期的周期数 (未来函数) TROUGHBARS(LOW,10,1,1);表示最低价的10%的之字转向的上一个波谷到当前的周期数 TROUGHBARS
10、MA(LOW,34),100,1,0);表示34个周期内最低价均线的100个价位的之字转向的上一个波谷到当前的周期数 SAR(N, Step, Max) 得到抛物转向值。N为计算周期,Step为步长,Max为极值。 例:SAR(17,3,30);表示计算17个周期抛物转向,步长为3%,极限值为30% SMA(X,N,M) 得到X在N个周期内的移动平均,M为权重。 计算方法:SMA(N)=SMA(N-1)*(N—M)/N+X(N)*M/N SUM(X,N) 得到X在N周期内的总和,如果N=0,则从第一个有效周期开始算起. 例: SUM(VOL,10);表示统计10周期内
11、的成交量总和 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周期内的线性回归的斜率.
12、 例: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+288
13、5)/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)²+ (—26.2
14、)²+ (—17。2)²+ (54。8)²+ (53.8)²=11130.80 5、总体样本方差VARP(X,N):将偏差的平方相加,总和除以总个数N。用公式可以这样算: (-65。2)²+ (-26。2)²+ (-17.2)²+ (54。8)²+ (53。8)²/5=2226.16 6、样本方差VAR(X,N):是总体方差的N/(N-1)倍。 2226。16*5/(5-1)=2782.70 估算样本方差,总比总体样本方差大一点,当N够大时,两者趋于相等。 7、总体标准差STDP(X,N):方差的开方。 [(—65.2)²+ (-26.2)²+ (—17.2)²+ (54.8)²+
15、 (53.8)²/5]½=47.18 8、标准差STD(X,N):估算样本方差的开方。 [2226.16*5/(5-1)]½=52.75 同样,估算标准差也比总体标准差大一点,当N够大时,两者趋于相等。 4.逻辑判断 BETWEEN(A,B,C) 判断A是否位于B及C之间,如果A介于B,C之间则返回1,否则返回0. 例:BETWEEN(CLOSE,MA5,MA40); 表示收盘价介于5日均线与40日均线之间 CROSS(X,Y) 如果X上穿Y则返回1(yes),否则返回0(no). 例:CROSS(CLOSE,MA(CLOSE,5));表示收盘线从下方向上穿过5日均线
16、 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,本
17、周期上穿B,则返回1。否则返回0。 例:LONGCROSS(CLOSE,MA(CLOSE,10),20);表示收盘线在10日均线之下持续20周期后从下向上穿过10日均线 NOFILTER 信号过滤函数. 公式后加“NOFILTER;”是指不需要过滤,出现任何交易指令都会执行。公式后不加“NOFILTER;”是指当连续出现同方向的交易指令时,系统只显示出第一个交易指令,其他交易指令自动被过滤。 IF(C,A,B) 如果C成立返回A,否则返回B。 例:IF(CLOSE>REF(CLOSE,1),1,0);表示若今日收盘价高于前一日收盘价,则返回1,否则返回0 ISDOWN
18、如果该周期收阴则返回1,否则返回0。 ISEQUAL 如果该周期平盘则返回1,否则返回0. ISUP 如果该周期收阳则返回1,否则返回0。 ISLASTBAR 取得当前周期是否为最后一根K线。最后一个周期返回值为1,其余为0. VALUEWHEN(COND,DATA) 当条件COND满足时,取当时的DATA的值,否则取得VALUEWHEN的前一个值. 例:VALUEWHEN(HIGH〉REF(HIGH,5),HIGH);表示当前最高价大于前五个周期最高价的最大值时返回当前最高价 5.数学运算 ABS(X) 求X的绝对值。 例:ABS(CLOSE—10) 返回收
19、盘价和10的价差的绝对值 ACOS(X) 求X的反余弦值。 ASIN(X) 求X的反正弦值。 ATAN(X) 求X的反正切值。 CEILING(X) 向上舍入。返回沿X数值增大方向最接近的整数. COS(X) 返回X的余弦值。 EXP(X) 表示求e的X次幂。 FLOOR(X) 向下舍入。返回沿X数值减小方向最接近的整数。 INTPART(X) 取X的整数部分。INTPART(X)返回沿X绝对值减小方向最接近的整数。 LN(X) 得到X的自然对数。以e为底的对数。 例:LN(OPEN);求开盘价的自然对数. LOG(X) 得到X的常用对数。取得X的以1
20、0为底的对数。 例: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=0905);表示该周期对应的时间不是9:05AM POW(A,B) 得到A的B次幂。 例:P
21、OW(CLOSE,2);求得收盘价的2次方 REVERSE(X) 取反。 例:REVERSE(LOW);返回—LOW SGN(X) 得到X的符号,如果X〉0则返回1,如果X〈0则返回-1,否则返回0. SIN(X) 得到X的正弦值. SQRT(X) 得到X的平方根。 例:SQRT(CLOSE);收盘价的平方根 SQUARE(X) 得到X的平方. 例:SQUARE(CLOSE);收盘价的平方 TAN(X) 得到X的正切值。 时间函数 BARPOS 取得当前K线的位置。 DATE 取得当前周期的日期数(700101—341231)。 DAY 取得当前
22、周期的日数(1—31)。 HOUR 取得当前周期的小时数(0—23). MINUTE 取得当前周期的分钟数(0—59). MONTH 取得当前周期的月数(1—12)。 TIME 取得当前周期的时间数(0-2359)。 WEEKDAY 取得当前周期的星期数(0-6)。 YEAR 取得当前周期的年数(1970—2034)。 7.绘图 DRAWLINE (C1,P1,C2,P2, COLOR) 当条件C1及C2均满足时,从P1画直线到P2,颜色为COLOR。 例:DRAWLINE(MA18< CLOSE,OPEN,MA5 >CLOSE,CLOSE,COLORCY
23、AN); 表示当收盘价大于18日均线并且小于5日均线时,从开盘价画青色直线到收盘价. DRAWTEXT(C,P,TEXT) 表示当条件C满足时在P上写TEXT文字。 例:DRAWTEXT(CLOSE< OPEN&&REF(CLOSE,1)〈 REF(OPEN,1) &&REF(VOL,1)*1.1〈 VOL,LOW,’注’); 表示连续两日收阴并且成交量比前一日至少多10%时,在最低价上写“注”字。 DRAWSL(COND,DATA, SLOPE,LEN,EXPAND, COLOR) 画斜线,当条件COND满足时,从DATA开始以每个周期相差SLOPE个点的斜率画斜线,划线
24、长度为LEN个周期,EXPAND为线段的延长方式(0:不延伸;1:向左延伸;2:向右延伸;3:双向延伸). 例:DRAWSL(LOW=LLV(LOW,50),LOW,5,3,2,COLORRED); 表示当前最低价等于50周期内的最小值时,从当前最小值开始以每隔5个点的斜率画长度为3个周期向右延伸的斜线,颜色为红色 DRAWNUMBER (COND,DATA,NUMBER,PRECISION,COLOR) 画数字.当条件COND满足时,在DATA位置写数字NUMBER(为数组),精度为PRECISION(小数点后有几位数字). 例:DRAWNUMBER(CLOSE/OPEN〉1。0
25、8,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(
26、CLOSE,100),CLOSE,COLORRED); 表示在收盘价创100天新高点之间画折线。 PARTLINE (COND,DATA,COLOR) 同POLYLINE. 例:PARTLINE(HIGH〉REF(HIGH,1),HIGH,COLORRED); 表示当期最高价大于前期最高价用红色绘制最高价连线。 STICKLINE (C,P1,P2,Color,Empty) 如果条件C满足时,从P1到P2画柱线,颜色为Color,如果Empty不为0,则为空心柱,否则为实心柱。 例:STICKLINE(OPEN-CLOSE〉0,OPEN,CLOSE,COLORCYAN,0)
27、 表示当开盘价大于收盘价时,从开盘价到收盘价画青色的实心柱,即K线阴线的实体部分。 VERTLINE (COND,COLOR) 画垂直线,当条件COND满足时,画垂直线。 例:VERTLINE(HIGH〉=HHV(HIGH,30),COLORRED); 表示在价格创30天新高时画垂直线。 编辑平台可以使用的常数 常数 意义 COLORRED 红色 COLORGREEN 绿色 COLORBLUE 蓝色 COLORMAGENTA 红
28、紫色 COLORYELLOW 黄色 COLORLIGHTGREY 浅灰色 COLORLIGHTRED 浅红色 COLORLIGHTGREEN 浅绿色 COLORLIGHTBLUE 浅蓝色 COLORBLACK 黑色 COLORWHITE 白色 COLORCYAN 青色 COLORSTICK 画彩色柱线 VOLUMESTICK 画成交量线 BAMBOOLINE 画竹线 CIRCLEDOT 画圆 OPISTICK 画持仓量柱线 注意:在公式内即使你定义了某种颜色,在显示的时候也未必是此种颜色,取决于背景颜色当前页面里是否保了该
29、指标的颜色及您是否在显示的时候改变了该指标的颜色设置. 编辑平台的语法 1.关于公式名称: 公式的名称不可以和已经存在的公式重复。 2.关于参数: 每个自编公式最多可以定义四个参数,参数的定义如下, 首先是参数名称,然后是参数的最小值,最大值,最后是参数的默认值。在定义参数时要注意的是参数名称不可以重复。 3。关于变量名称: 变量名称不可以互相重复,不可以和参数名重复,不可以和函数名称重复。 4。关于公式内容: 公式的每个语句应该以分号结束,包括最后一条语句。在数据公式的时候请您注意一定要使用半角输入. 在编写公式的过程中,
30、如果您不记得某个函数的确切写法,可以选择插入函数来插入函数。 5.如果您在编写公式之后,想给这个公式加上注释,说明之类的东西,可以使用公式说明来输入. 编辑平台使用的交易指令 交易模型中的交易指令如下: 图示 指令 意义 BK 或 BUY 买开指令 BP 买平指令 SK 卖开指令 SP 或 SELL 卖平指令 BPK 买平同时等价等量买开指令 SPK 卖平同时等价等量卖开指令 套利模型中的交易指令如下: 图示 指令 意义
31、BKSK 甲合约买开;乙合约卖开信号 BPSP 甲合约买平;乙合约卖平信号 SKBK 甲合约卖开;乙合约买开信号 SPBP 甲合约卖平;乙合约买平信号 请注意,在效果测试使用如下机制: 连续的开仓指令只使用第一个指令进行开仓,开仓时使用当时的全部资金,连续的平仓指令,只有第一个有效,平掉当时的全部持仓,其他的平仓指令算做错误指令! | 操作符 | 函数 | 常数 | 语法 | 交易指令 | 快速入门 | 快速入门 1、如何把熟悉的技术指标转换成交易模型? 第一步:把KDJ指标公式COPY过来。
32、 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
33、减去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;{同上} 第三步:把自己总结的交易条件写上,就可完成交易模型。如下:
34、 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、
35、如何编制交叉(金叉/死叉)类型的交易模型? 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,
36、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个周期收盘价的简 单移动平均} (CRO
37、SS(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时发
38、出卖出开仓交易指 令} 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=当前周期的开盘价 -[ (一个周期前 的最高价减最低价的差+两个周期前的最高
39、价减最低价的差+三个周期前的最高价减最低价 的差+四个周期前的最高价减最低价的差)/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,
40、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—CLO
41、SE)〉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时,买入开仓前一品 种,卖出开仓后一品种}
42、 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);
43、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时,买入平仓前一品种 ,卖出平仓后一品种}{{}内为文字说明,编写模型时不用写出}






