![文华期货自动化交易模型编写教程_第1页](http://file2.renrendoc.com/fileroot_temp3/2021-6/7/55db198b-ffa1-4d63-badd-97e58033c0c3/55db198b-ffa1-4d63-badd-97e58033c0c31.gif)
![文华期货自动化交易模型编写教程_第2页](http://file2.renrendoc.com/fileroot_temp3/2021-6/7/55db198b-ffa1-4d63-badd-97e58033c0c3/55db198b-ffa1-4d63-badd-97e58033c0c32.gif)
![文华期货自动化交易模型编写教程_第3页](http://file2.renrendoc.com/fileroot_temp3/2021-6/7/55db198b-ffa1-4d63-badd-97e58033c0c3/55db198b-ffa1-4d63-badd-97e58033c0c33.gif)
![文华期货自动化交易模型编写教程_第4页](http://file2.renrendoc.com/fileroot_temp3/2021-6/7/55db198b-ffa1-4d63-badd-97e58033c0c3/55db198b-ffa1-4d63-badd-97e58033c0c34.gif)
![文华期货自动化交易模型编写教程_第5页](http://file2.renrendoc.com/fileroot_temp3/2021-6/7/55db198b-ffa1-4d63-badd-97e58033c0c3/55db198b-ffa1-4d63-badd-97e58033c0c35.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、程序化父易的编写、交易模型编写规范和一般原则1编辑平台支持的操作符操作符意义例+加法CLOS圧OPEN表示求收盘价及开盘价的和。减法CLOS OPEN表示求收盘价及开盘价的差。*乘法CLOSE*OPE表示求收盘价及开盘价的积。/除法CLOSE/OPE表示求收盘价及开盘价的商。AND与(并且),也可简写为&OR或(或者),也可简写为II大于CLOSEOPE表示判断当前周期是否收阳。=大于等于=小于等于不等于=等于只定义一个局部变量(这个变量在画图时是不画的)声明了一个变量,在画图时画出它并且按这个名字显 示。TMP1:=(OPEN+CLOSE)/2;:MA(TMP1,10);上面的公式的第一个语
2、句定义了一个局部 变量TMP1在下面一行中引用了这个局部 变量,但是要注意的是这个公式在画图的时 候只画了第二条语句MA1C所求出的结果。 相反下面这个公式则需要画出两条线,第一 条是自己定义的均价线,同时显示了均价的名称为AVP第二条线是均价的简单移动平 均线。AVP:(0PEN+CL0SE)/2;MA(AVP,10);2、编辑平台支持的函数引用数据AVPRICE引用均价(在盘后对于国内三个期货 交易所指结算价)SETTLE引用结算价(只有在日线周期盘后才 能引用当日的结算价)CLOSE引用收盘价(在盘中指最新价),也可 简写为CHIGH引用最高价,也可简写为H。LOW引用最低价,也可简写为
3、L 0OPEN引用开盘价,也可简写为 O0OPI引用持仓量REF(X,N)引用X在N个周期前的值例:REF(CLOSE,5);表示引用当前周期前第5个周期的收盘价REFX(X,N)引用N个周期后的数据。(N为大于 等于1的整数)未来函数例:REFX(CLOSE,5)表示弓1用自当前 周期后第5个周期的收盘价VOL引用成交量,也可简写为 V 0GETPRICE(N)根据文华码取出某一品种的最新价。 例:GETPRICE(1209)返回文华码为 1209的合约品种的最新价。PARAM参数名称,最小值,最 大值,缺省值在源码中定义参数。例:PARAMN,1,100,12 MAN:MA(CLOSE,N
4、);表示参数为N,最小值为1,最大值 为100,缺省值为12.#IMPORT CODE,PERIOD,FORMU AS VAR( Mytrader2009 和Myadvisor (赢智)支#IMPORTCODE,PERIOD,FORMULA LAAR;CODE文华码 PERIOD周期 FORMU引用模型名持)VAR 定义变量名例子:#IMPORT 1205,MIN5,TESTASM1005意思是引用豆粕1005五分钟图上指标TEST.FML的数据使用的方法:如当前存在一个指标TEST.FML/TEST.FMLCL:=CLOSE;OP:=OPEN;我想在新建的指标 TEST1中引用豆粕1005五
5、分钟周期上指标TEST.FML的数据可以如下编写TEST1指标/TEST1.FML#IMPORT 1205,MIN5,TESTASVARTESTDD:VARTEST.CL;DF:VARTEST.OP;引用的约束1.只能引用.FML文件2.只能引用如下周期 MIN1 MIN3 MIN5 MIN10 MIN15 MIN30 HOUF HOUR3 HOUR8 DAY WEEK MONTH3.只能短周期引用长周期比如不能 日线周期上加载引用了分钟数据的 指标。4.被引用的指标中不能存在引用金融统计BACKSET(X,N)若X条件成立,则将当前位置到N周期前的数值设为1。未来函数例:BACKSET(CL
6、OSEOPEN表示当K线收阳时,自当前位置到 3周 期前的数值设为1BARSLAST(X)求上一次条件成立到当前的周期数。COUNT(X,N)表示统计在N周期内满足X条件的周期数。如果N为0则表示从已申 请到的数据的第一天开始算起。例: WR:=-100*(HHV(HIGH,N)-CLOSE)/(HHV(HIGH,N)-LLV(LOW,N)COUNT(WR80,5表示统计在5个周期内满足WR80勺次数DMA(X,A)返回X的动态移动平均,其中A为常数,并且必须介于0及1之间。 计算方法:DMA(N)=DMA(N-1)*(1-A)+X(N)*A 其中 DMA(N-1)为第(N-1) 天的DMAS
7、。EMA(X,N)表示求X在N周期内的平滑移动平均。(指数加权)计算方法:EMA(X,N)=2*X+(N-1)*EMA(X,(N-1)/(N+1)其中EMA(X,(N-1)为第(N-1)天的 EMASEMA2(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个周期内的最高价的最大值。HHVBARS
8、(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+A
9、3+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%勺之字转向的上
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
11、,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 ,N)取得ZIGZAG前M个波谷到当前周期的周期数。其中X为数据,P为转 折值(如果N为1,这个值为百分比数,否则为价位差值绝对值),M 为大于等于1的整数。未来函数TROUGH(LOW,1O,1,1)
12、表示最低价的10%勺之字转向的上一个波谷到 当前的周期数TROUGH (MA(LOW,34),1OO,1,O);表示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/NSUM(X,N)得到X在N周期内的总和,如果
13、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)数理统计AVEDEV(X,N)求X在N周期内的平均绝对偏差。DEVSQ(X,N)数据偏差平方和。FORCAST(X,N)得到X的N周期线性回归预测值。例:FORCAST(CLOSE,5)表示求5周期线性回归预测SLOPE(X,N)得到X在N周期内的线性回归的斜率例:S
14、LOPE(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)从
15、今天的值上看出。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)将偏差的绝对值相加,除以总个数No (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、
16、总体样本方差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.1
17、6*5/(5-1)?=52.75同样,估算标准差也比总体标准差大一点,当N够大时,两者趋于相等。更多期货股票学习资料点击:逻辑判断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个周期内是否有满足条件 CON的情况发生。例: EXIST(CLOSEREF(HIGH,1),1O);表示1
18、0个周期中是否存在收盘价大于前一个周期的最咼价EVERY(COND,N)判断过去N个周期内是否一直满足条件 COND例:EVERY(CLOSEOPEN,表示5个周期内一直是阳线LAST(COND,N1,N2)判断过去N1到N2周期内是否一直满足条件COND例: LAST(CLOSEOPEN,10,5);表示从过去第10个周期到第5个周期内一直是阳线LONGCROSS(A,B,N)如果A在前N个周期内都小于B,本周期上穿B,则返回1。否 贝U返回 0。例:LONGCROSS(CLOSE,MA(CLOSE,10),20); 表示收盘线在10日均线之下持续20周期后从下向上穿过10 日均线。NOFI
19、LTER交易模型头卖指令信号过滤函数。(仅适用于交易模型的过滤) 交易模型公式后加“ NOFILTER”是指不需要过滤,出现任何 交易指令都会执行。公式后不加“ NOFILTER”是指当连续出 现同方向的交易指令时,系统只显示出第一个交易指令,其他 交易指令自动被过滤。ISDOWN判断该周期是否收阴。ISEQUAL判断该周期是否平盘。ISUP判断该周期是否收阳。ISLASTBAR判断当前周期是否为最后一根 K线。VALUEWHEN(COND,DATAJ当条件CON满足时,取当时的DATA勺值,否则取得前面一个 满足条件CON的值。例: VALUEWHEN(HIGHREF(HIGH,5),HIG
20、H);表示当前最咼价大于前五个周期最咼价的最大值时返回当前最高价。数学运算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)求开
21、盘价的自然对数。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,OPE收盘价除以开盘价所得余数NOT(X)当X为0时返回1,否则返回0。例:NOT(TIME=090530);表 示该 周期对 应的时 间 不 是9:05:30AM。POW(A,B)得到A的B
22、次幕。例:POW(CLOSE,2求得收盘价的2次方。REVERSE(X)取反,返回符号相反的数值。例:REVERSE(LOW返回-LOWSGN(X)得到X的符号,如果X0则返回1,如果X0则返回一1,否则 返回0。SIN(X)得到X的正弦值。SQRT(X)得到X的平方根。例:SQRT(CLOSE收盘价的平方根。SQUARE(X)得到X的平方。例:SQUARE(CLOSE收盘价的平方。TAN(X)得到X的正切值。更多期货股票学习资料点击:时间函数BARPOS取得当前K线的位置。DATE取得当前周期的日数(700101-341231)。DAY取得当前周期的日数(1-31 )。HOUR取得当前周期的
23、小时数(0-23 )。MINUTE取得当前周期的分钟数(0-59 )。MONTH取得当前周期的月数(1-12 )。TIME取得当前周期的时间数(0-2359), 秒级周期返回值范围为:0-235959。WEEKDAY取得当前周期的星期数(0-6 )。YEAR取得当前周期的年数(1970-2034 )。绘图8DRAWLINE(C1,P1,C2,P2,COLOR)DRAWTEXT(C,P,TEXT)当条件C1及C2均满足时,从P1画直线到P2, 颜色为COLOR例:DRAWLINE(MA1CLOSE,OPEN,MA5CLOSE,CLOSE,COLORCYA表 示当收盘价大于18日均线并且小于5日均
24、线时, 从开盘价画青色直线到收盘价。表示当条件C满足时在P上写TEXT文字。例:DRAWTEXT(CLOSEPEN&REF(CLOSE, REF(OPEN,1) &REF(VOL,1)*1.1 VOL,LOW,注 );表示连续两日收阴并且成交量比前一日至 少多10%寸,在最低价上写“注”字。1)1.08,HIGH,(CLO EN)/OPEN*100,2,COLORRED )表示当日涨幅大 于8%寸在最高价位置显示涨幅(相对开盘价的百 分比)。REDSE-OPFILLRGN(COND,DATA1,DATA2,COLOR)填充区域,当条件COND满足时,填充DATA1及 DATA2包围的区域。例:
25、FILLRGN(MA5MA10,MA5,MA10,COLORRED);POLYLINE(COND,DATA,COLOR)表示MA5MA1时以红色填充 MA5和MA10之间的区域。 _画折线,当条件CON满足时,连接各个DATA点。例:POLYLINE(CLOSE=HHV(CLOSE,100),CLOSE,COLORRED);表示在收盘价创100天新高点之间画折 线。PARTLINE(COND,DATA,COLOR)同 POLYLINE例:PARTLINE(HIGHREF(HIGH,1),HIGH,COLORRED);80,OPEN,CLOSE,COLAN,0);表示当开盘价大于收盘价时,从开盘
26、价 到收盘价画青色的实心柱,即K线阴线的实体部 分。VERTLINE画垂直线,当条件 CONE满足时,画垂直线。(COND,COLOR)例:VERTLINE(HIGH=HHV(HIGH,30),COLORRED);表示在价格创30天新高时画垂直线。RGB(R,G,B)自定义颜色函数。R,G,B的数值范围都在0255之间,例:RGB(225,225,225)表示白色COLORSTICK画彩色柱线VOLUMESTICK画成交量线BAMBOOLINE画竹线CIRCLEDOT画圆OPISTICK画持仓量柱线8 level-2函数(只有嬴智版本支持)L2_BPTIMES周期内多头平仓次数。用法:L2 B
27、PTIMES回多头平仓次数。L2_BKTIMES周期内多头开仓次数。用法:L2 BKTIMES回多头开仓次数。L2_SPTIMES周期内空头平仓次数。用法:L2 BPTIMES回空头平仓次数。L2_SKTIMES周期内空头开仓次数。用法:L2 SKTIMES回空头开仓次数。L2_ASKACCOUNT周期内卖主动次数。用法:L2 ASKACCOU返回卖主动次数。L2_BIDACCOUNT周期内买主动次数。用法:L2 BIDACCOUNI回买主动次数。L2_BIDAVVOL周期内平均总买量。用法:L2 BIDAVV O返回周期内平均总买量。L2_ASKAVVOL周期内平均总卖量。用法:L2 ASK
28、AVVO返回周期内平均总卖量。L2 ASKAVPRICE周期内卖盘加全平均价。用法:L2_ASKAVPRIC返回卖盘加全平均价。L2_BIDAVPRICE周期内买盘加全平均价。用法:L2_BIDAVPRIC返回买盘加全平均价。L2_ASKBIGTURN0VER周期内空头大单成交额。用法:L2_ASKBIGTURN0VE回空头大单成交 额。L2_BIDBIGTURN0VER周期内多头大单成交额。用法:L2_BIDBIGTURN0V返回多头大单成交 额。L2_ASKBIGC0UNT周期内空头大单成交次数。用法:L2_ASKBIGC0UN返回周期内空头大单 成交次数。L2_BIDBIGC0UNT周期
29、内多头大单成交次数。用法:L2_BIDBIGC0UN返回周期内多头大单 成交次数。L2_T0TALTURN0VER周期内总成交额。用法:L2 T0TALTURN0V返回总成交额。L2_ASKBIGENTRASTC0周期内卖1委托明细大量次数。用法:L2_ASKBIGENTRASTC0返回卖1委托 明细大量次数。L2_BIDBIGENTRASTC0l周期内买1委托明细大量次数。用法: L2_BIDBIGENTRASTC0U回买 1 委托 明细大量次数。L2_PERI0D_DATA(TEXT该周期最后时刻的买卖价格。用法:L2_PERI0D_DATA(TEX求内容为 TEX- 的该周期最后盘面数据
30、。例子:L2_PERI0D_DATA(bid1); 取得该周期最后盘面的买1数据TEXT的内容可为:买1-买5买1量-买5量卖1-卖5卖1量-卖5量bid1 bid2 bid3 bid4 bid5 ask1 ask2 ask3 ask4 ask5 bidvol1 bidvol2 bidvol3 bidvol4 bidvol5askvol1 askvol2 askvol3 askvol4askvol5L2_TICK_DATA(TEXT)取每笔买卖盘数据(只能用于Tick图,每笔 Tick时间间隔请设置为0)。用法:L2_TICK_DATA(TEXT求内容为 TEXT的 盘面实时数据。例子:L2
31、TICK DATA(bid1); 取得盘面最后的买1数据buy_entrust1 , buy_entrust2 , buy_entrust3 , buy_entrust4 , buy_entrust5 ,buy_entrust6 , buy_entrust7 , buy_entrust8 , buy_entrust9 , sell_e ntrust1 sell_e ntrust3 sell_e ntrust5 sell_e ntrust6 sell_e ntrust8 sell_e ntrust10buy_entrust10 , sell_e ntrust2 sell entrust4sell
32、_e ntrust7 sell entrust9最新价持仓量主动买卖(返回意义-1没取到, 0主动买,1主动卖,2换手)成交量newprice , opi , activity , deltavolTEXT的内容可为:买1-买5卖1-卖5买1量-买5量卖1量-卖5量bid1 , bid2 , bid3 , bid4 , bid5 , ask1, ask2, ask3, ask4, ask5,bidvol1,bidvol2,bidvol3,bidvol4,bidvol5,askvol1,askvol2,askvol3,askvol4 , askvol5总买总卖总买量总卖量tbid , task
33、, tbidvol , taskvol委买1-委买10委卖1-委卖10更多期货股票学习资料点击:9、头寸函数(连接文华服务器才能使用)TRD_ASSETS取出交易系统中的权益。用法:TRD_ASSET返回交易系统的权益。 注意:该函数只有登陆一键通下单系统才 能使用。效果测试不执行此函数。TRD_CAPITAL取出交易系统中的可用资金。用法:TRD_CAPITA返回交易系统的可用 资金。注意:该函数只有登陆一键通下单系统才 能使用。效果测试不执行此函数。TRD_LONGSPRICE取出交易系统中的多头开仓均价。用法:TRD_LONGSPRI返回交易系统的多 头开仓均价。注意:该函数只有登陆一键
34、通下单系统才 能使用。效果测试不执行此函数。TRD SHORTSPRICE取出交易系统中的空头开仓均价。用法:TRD_SHORTSPRIC返回交易系统的 空头开仓均价。注意:该函数只有登陆一键通下单系统才 能使用。效果测试不执行此函数。TRD_LONGSOPI取出交易系统中的多头持仓。用法:TRD_LONGSO返1回交易系统的多头 持仓。注意:该函数只有登陆一键通下单系统才 能使用。效果测试不执行此函数。TRD_SHORTSOPI取出交易系统中的空头持仓。用法:TRD_SHORTSO返回交易系统的空 头持仓。注意:该函数只有登陆一键通下单系统才 能使用。效果测试不执行此函数。TRD_LONGS
35、OPIREMAIN取出交易系统中的多头可平仓手数。用法:TRD_LONGSOPIREM返回交易系统 的多头可平仓手数。注意:该函数只有登陆一键通下单系统才 能使用。效果测试不执行此函数。TRD_SHORTSOPIREMAIN取出交易系统中的空头可平仓手数。用法:TRD_SHORTSOPIREMAIlffl交易系统的空头可平仓手数。注意:该函数只有登陆一键通下单系统才能使用。效果测试不执行此函数。TRD_LONGSEARN取出交易系统中的多头浮动盈亏。用法:TRD_LONGSEARN回交易系统的多 头浮动盈亏。注意:该函数只有登陆一键通下单系统才 能使用。效果测试不执行此函数。TRD_SHORT
36、SEARN取出交易系统中的空头浮动盈亏。用法:TRDSHORTSEAB回交易系统的空 头浮动盈亏。注意:该函数只有登陆一键通下单系统才 能使用。效果测试不执行此函数。TRD LIMITUP取出交易系统中的涨停价格。用法:TRD LIMITUP返回交易系统的涨停 价格。注意:该函数只有登陆一键通下单系统才 能使用。效果测试不执行此函数。TRD_LIMITDOWN取出交易系统中的跌停价格。用法:TRD_LIMITDOW返回交易系统的跌 停价格。注意:该函数只有登陆一键通下单系统才 能使用。效果测试不执行此函数。SETDEALPERCENT(fPerce n:设置模型每次下单按资金的比例下单。用法:
37、SETDEALPERCENT(fPercen表 示每 次按资金的fPercent下单。例子:SETDEALPERCENT(0.2);/每次按资 金比例的20下单注:不可与SETDEALVC函数同时使用交易系统必须启动效果测试不执行此函数SETDEALVOL( nV ol)设置模型每次下单按设置的手数下单。用法:SETDEALVOL( nVo表示每次模型下 nVol手单。例子:SETDEALVOL(2);模型每次下单 2 手注:不可与SETDEALPERCES数同时使用交易系统必须启动效果测试不执行此函数10、信号记录函数(连接文华服务器才能使用)BKPRICE模型买开信号价位。用法:BKPRI
38、CE返回上一次模型买开仓价。BARSBK上一次买开信号位置用法:BARSBI返回上一次买开仓距离当前 k线的k线数。SKPRICE模型卖开信号价位。用法:SKPRICE返回上一次模型卖开仓价。BARSSK上一次卖开信号位置用法:BARSSI返回上一次卖开仓距离当前 k线的k线数。3、编辑平台可以使用的常数常数意义COLORRED红色COLORGREEN绿色COLORBLUE蓝色COLORMAGENTA红紫色COLORYELLOW黄色COLORLIGHTGREY浅灰色COLORLIGHTRED浅红色COLORLIGHTGREEN 浅绿色COLORLIGHTBLUE浅蓝色COLORBLACK黑色C
39、OLORWHITE白色COLORCYAN青色COLORRED红色COLORGREEN绿色COLORBLUE蓝色COLORMAGENTA红紫色COLORYELLOW黄色COLORLIGHTGREY浅灰色注:在公式内即使你定义了某种颜色,在显示的时候也未必是此种颜色,取决于背景 颜色当前页面里是否保了该指标的颜色及您是否在显示的时候改变了该指标的颜色设置。更多期货股票学习资料点击:4、编辑平台的语法(1)关于公式名称:公式的名称不可以和已经存在的公式重复。(2)关于参数:每个自编公式最多可以在参数设置栏中定义四个参数, 参数的定义如下,首先是参数名称, 然后是参数的最小值,最大值,最后是参数的默认
40、值。在定义参数时要注意的是参数名称 不可以重复。(3)关于变量名称:变量名称不可以互相重复,不可以和参数名重复,不可以和函数名称重复。(4) 关于公式内容: 公式的每个语句应该以分号结束, 包括最后一条语句。 在数据公式的时候请您注意一定要 使用半角输入。 在编写公式的过程中,如果您不记得某个函数的确切写法,可以选择插 入函数来插入函数。(5) 如果您在编写公式之后,想给这个公式加上注释,说明之类的东西,可以使用公式 说明来输入。(6)IF ELSE:该语句只有 Mytrader2009 和 Myadvisor (赢智)支持MA5:=MA(CLOSE,5);MA10:=MA(CLOSE,10)
41、;MA30:=MA(CLOSE,30);IF(MA5MA10)MA5,COLORRED;ELSEIF(MA10MA30)MA10,COLORMAGENTA;ELSEMA30,COLORGREEN;以上内容表达MA5 MA10 MA3C三者中最大的数值。7)IFELSE(C,A,B)如果条件C成立则返回A值,否则返回B值例:IFELSE(CL0SEREFCL0SE,1 ,1,0);表示若今日收盘价高于前一日收盘价,则返回1,否则返回05、编辑平台使用的交易指令交易模型中的交易指令如下:期货交易指令买开公式中用BK表示买平公式中用BP表示卖开公式中用SK表示卖平公式中用SP表示买平后买开新仓公式中
42、用BPK表示卖平后卖开新仓公式中用SPK表示股票、权证、外汇交易指令买入公式中用BUY表示卖出公式中用SELL表示套利模型中的交易指令如下:第一腿买开,第二腿卖开公式中用BKSK表示第一腿卖开,第二腿买开公式中用SKBK表示第一腿买平,第二腿卖平公式中用BPSP表示第一腿卖平,第二腿买平公式中用SPBP表示注:在效果测试使用如下机制:连续的开仓指令只使用第一个指令进行开仓,开仓时使用当时的全部资金,连续的平仓指令,只有第一个有效,平掉当时的全部持仓,其他的平仓指令算做错误指令!6、快速入门以下模型源码内容仅供编写参考使用,如用于交易使用,风险自负如何把熟悉的技术指标转换成交易模型?第一步:把K
43、DJ指标公式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),COLORWHIT/RSV的移动加权平均的值用 K表示,并且画白色的线。 D:SMA(K,M2,1),COLORYELLO/W;的移动加权平均的值用 D表示,并且画黄色的线。 J:3*K-2*D,COLORMAGENTA?倍的K减去2倍的D的值用J表示,并且画紫色的线
44、。 第二步:原有公式主要是画线,所以稍作修改。如下:RSV:=(CLOSE-LLV(LOW,N)/(HHV(HIGH,N)-LLV(LOW,N)*100;/ 第一行不需要修改/ 第二行删除,在交易模型中不用钝化K:=SMA(RSV,M1,1);/ 在“:”后加上“=”变为只定义不用画线,所以把后面的颜色函数(COLORWHI)也去掉D:=SMA(K,M2,1);/ 同上J:=3*K-2*D; / 同上第三步:把自己总结的交易条件写上,就可完成交易模型。如下: RSV:=(CLOSE-LLV(LOW,N)/(HHV(HIGH,N)-LLV(LOW,N)*1OO;K:=SMA(RSV,M1,1);
45、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,发出买平交易指令/ ”/ ”后为文字说明,编写模型时不用写出如何把自编变色K线转换成交易模型?模型说明:第一根K线变红时买,第一根K线变蓝时卖 指标源码:HH1:=IF(HREF(H,2)&REF(H,1)REF(L,2)&REF(L,1)REF(L,2),REF(L,2),0);HH2:=VALUEWHEN(
46、HH10,HH1);LL2:=VALUEWHEN(LL10,LL1);K1:=IF(CLOSEHH2,-3,IF(CLOSELL2,1,0);K2:=VALUEWHEN(K10,K1);G:=IF(K2=1,HH2,LL2);G1:=VALUEWHEN(ISLASTBAR,G);/ 以上是在定义变量,转换成模型时直接引用DRAWNUMBER(L0,G1,G1,0,COLORCYAN);/ 以上是在编著数值,转换成模型时直接删除W1:=K2;W2:=OPEN-CLOSE;HT:=IF(OPENCLOSE,OPEN,CLOSE);LT:=IF(OPEN0,OPEN,CLOSE,COLORCYAN,
47、1);STICKLINE(W10&W10&W10,OPEN,CLOSE,COLORCYAN,0);DRAWLINE(W1=1&REF(W1,1)=1,G,W1=1&REF(W1,1)=1,REF(G,1),COLORGREEN);DRAWLINE(W1=-3&REF(W1,1)=-3,G,W1=-3&REF(W1,1)=-3,REF(G,1),COLORYELLOW);DRAWSL(K2=1,G,0,1,0,COLORGREEN);DRAWSL(K2=-3,G,0,1,0,COLORYELLOW);/以上是在绘图,转换成模 型时直接删除,只保 留判断k线颜色的逻 辑语句。例 如:STICKLI
48、NE(W10,OPEN,CLOSE,COLORCYANR1保留W10再加上交易指令即可改写为 交易模型修改为交易模型如下:HH1:=IF(HREF(H,2)&REF(H,1)REF(L,2)&REF(L,1)REF(L,2),REF(L,2),0); HH2:=VALUEWHEN(HH10,HH1);LL2:=VALUEWHEN(LL10,LL1); K1:=IF(CLOSEHH2,-3,IF(CLOSELL2,1,0);K2:=VALUEWHEN(K10,K1); G:=IF(K2=1,HH2,LL2);G1:=VALUEWHEN(ISLASTBAR,G);W1:=K2;W2:=OPEN-C
49、LOSE;CROSS(W1,0)|(CROSS(W2,0)&CROSS(W1,0),BPK; CROSS(0,W1)|(CROSS(W2,0)&CROSS(0,W1),SPK;/ 从上面看,编写交易模型要比编写指标简单得多。 如何合并两个不同的交易模型? 在两个模型方向相同时才开仓,两个模型指令不同时就平仓 参数 N: 最小值 0 最大值 100 缺省值 8 源码:模型AX:=BARSLAST(HIGH=HHV(HIGH,N); LL:=MIN(REF(LOW,X+3),MIN(REF(LOW,X+2),MIN(REF(LOW,X),REF(LOW,X+1); Y:=BARSLAST(LOW=
50、LLV(LOW,N);HH:=MAX(REF(HIGH,Y+3),MAX(REF(HIGH,Y+2),MAX(REF(HIGH,Y),REF(HIGH,Y+1); A:=BARSLAST(CLOSE=HH);B:=BARSLAST(CLOSEB,HH,LL);CROSS(AB,CLOSE),SPK;CROSS(CLOSE,AB),BPK;模型BHH1:=IF(HREF(H,2)&REF(H,1)REF(L,2)&REF(L,1)REF(L,2),REF(L,2),0);HH2:=VALUEWHEN(HH10,HH1);LL2:=VALUEWHEN(LL10,LL1);K1:=IF(CLOSEH
51、H2,-3,IF(CLOSELL2,1,0);K2:=VALUEWHEN(K10,K1);K2=1,SPK;K2=-3,BPK;利用并且(&和或者(| )这些逻辑语句,将A、B模型合并为模型C:X:=BARSLAST(HIGH=HHV(HIGH,N);LL:=MIN(REF(LOW,X+3),MIN(REF(LOW,X+2),MIN(REF(LOW,X),REF(LOW,X+1); Y:=BARSLAST(LOW=LLV(LOW,N);HH:=MAX(REF(HIGH,Y+3),MAX(REF(HIGH,Y+2),MAX(REF(HIGH,Y),REF(HIGH,Y+1);A:=BARSLAS
52、T(CLOSE=HH);B:=BARSLAST(CLOSEB,HH,LL);HH1:=IF(HREF(H,2)&REF(H,1)REF(L,2)&REF(L,1)REF(L,2),REF(L,2),0);HH2:=VALUEWHEN(HH10,HH1);LL2:=VALUEWHEN(LL10,LL1);K1:=IF(CLOSEHH2,-3,IF(CLOSELL2,1,0);K2:=VALUEWHEN(K10,K1);CROSS(AB,CLOSE)&K2=1,SK;CROSS(AB,CLOSE)|K2=1,SP;CROSS(CLOSE,AB)&K2=-3,BK;CROSS(CLOSE,AB)|K
53、2=-3,BP;(二)、基础指标编写示范和注意事项1、 学习编写前学要明确注意的几个概念公式: 泛指指标、模型。没有具体指向性。指标: 指能够绘出图线但不发交易指令的公式。指标是一个技术分析范畴的概念。交易信号 : 指指标上出现的提示投资者买卖的指示,可以是图线交叉、文字、图形。投资者需要 按照信号指示去手动委托下单。交易信号也是一个技术分析范畴的概念。交易模型:指能够发出BK SP等交易指令但是不绘出图线的公式,模型还包含下单方向,交易 手数,止盈止损等与交易、资金使用相关的参数设置。交易模型是一个程序化交易范畴的 概念。交易指令:指交易模型自动发出的下单委托指令,可以不经过投资者确认直接下
54、单,也可以等待投资者回车确认再下单。交易指令在K线图上以不同颜色和形状的箭头来代表。交易指令是一个程序化交易范畴的概念。2、如何进行基础指标的编写(1)、均线指标 关键函数MAMA(X,N)求X在N周期内的简单移动平均。计算方法:MA=(A1+A2+A3+A4+A5)/5求A在5个周期内的简单移动平均 五周期均线MA5:MA(CLOSE,5); 均线组合MA5:MA(CLOSE,5),COLORWHITE; MA1O:MA(CLOSE,1O),COLORYELLOW;MA3O:MA(CLOSE,3O),COLORGREEN; MA6O:MA(CLOSE,6O),COLORMAGENTA;K线+
55、均线组合MA5:MA(CLOSE,5),COLORWHITE; MA1O:MA(CLOSE,1O),COLORYELLOW;MA3O:MA(CLOSE,3O),COLORGREEN; MA6O:MA(CLOSE,6O),COLORMAGENTA;TMP:=OPEN-CLOSE; DRAWLINE(TMPO.OOOO1,HIGH,TMPO.OOOO1,OPEN,COLORCYAN);DRAWLINE(TMP0.00001, LOW,TMPO.OOOO1,CLOSE,COLORCYAN); DRAWLINE(TMP-O.OOOO1,HIGH,TMPv-O.OOOO1,CLOSE,COLORRED)
56、;DRAWLINE(TMP-0.00001 ,L OW,TMP-O.OOOO1,OPEN,COLORRED); DRAWLINE(ABS(TMP)0.00001, LOW,ABS(TMP)O.OOOO1,OPEN,COLORWHITE);DRAWLINE(ABS(TMP)O,OPEN,CLOSE,COLORCYAN,O);STICKLINE(TMPMA10&MA10MA20,BPK;MA5MA10&MA10MA10MA这样,而在文华的模型编写中, 目前只能两个变量之间进行比较, 也就是说此类三个以上变量连续比较需要像模型中那样 拆分来写:MA5MA10&MA10MA20C缺少计算函数。如:求均
57、线时,写为MA5: (CLOSE,5,而缺少了 MA此类错误语法检测无法识别,往往造 成软件应用错误。均线金死叉模型关键函数: MA、 EMA、 EMA2、 CROSS使用周期:所有 K 线周期。 模型说明:短期均线上穿长期均线(金叉)做多,短期均线下穿长期均线(死叉)做空。 参数设置:参数 N1 ,最小值 0,最大值 100,缺省值 5;参数 N2 ,最小值 0,最大值 100,缺省值 30;A、简单移动平均线:P1:=MA(CLOSE,N1);P2:=MA(CLOSE,N2);CROSS(P1,P2),BPK;CROSS(P2,P1),SPK;B指数加权平均线:P1:=EMA(CLOSE,
58、N1);P2:=EMA(CLOSE,N2);CROSS(P1,P2),BPK;CROSS(P2,P1),SPK;C线性加权平均线:P1:=EMA2(CLOSE,N1);P2:=EMA2(CLOSE,N2);CROSS(P1,P2),BPK;CR0SS(P2,P1),SPK;以上模型源码内容仅供编写参考使用,如用于交易使用,风险自负均线结合MAC模型关键函数:EMA使用周期:日线模型说明:利用DIFF和DEA的比较和收盘价的15日指数加权和最新价的比较作为买卖依 据进行交易。DIFF := EMA(CL0SE,12) - EMA(CLOSE,26);DEA := EMA(DIFF,9);EMA1
59、5:=EMA(CLOSE,15);DIFFDEA&CL0SEEMA15,BPK;DEADIF F&EMA15CLOSE,SPK;以上模型源码内容仅供编写参考使用,如用于交易使用,风险自负通道类 唐奇安通道模型关键函数:HHV LLV、REF CROSS使用周期:日线模型说明:突破前20天最高价做多,突破 前20天最低价做空。参数设置:N,最小值5,最大值100,缺省值20;HH:=HHV(HIGH,N);LL:=HHV(LOW,N);CROSS(CLOSE,REF(HH,1),BPK;CROSS(REF(HH,1),CLOSE),SPK;以上模型源码内容仅供编写参考使用,如用于交易使用,风险自
60、负容易犯的编写错误:最高价多期货前殳票学周期最高价击应写为HIGHREF(HHV(HIGH,20),1), 布林通道结合阴写为K线模型HHV(HIGH,20);关键函数:STD CROSS ISUP、ISDOWN 使用周期:日线 模型说明:收盘价向上突破布林通道下轨并前当根 k 线收阳做多,收盘价向下突破布林通 道上轨并前当根 k 线收阴做空。参数设置:N, 最小值1, 最大值100, 缺省值 26M, 最小值1, 最大值100, 缺省值 26 MID:=MA(CLOSE,N);TMP2:=STD(CLOSE,M);TOP:=MID+2*TMP2;BOTTOM:=MID-2*TMP2;CROS
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《膜表征方法简介》课件
- 2025年高二语文下学期开学第一课
- 9心中的“110”【知识精研】道德与法治三年级上册统编版
- 《路基规范理解》课件
- 二零二五年度房屋抵押借款合同签订与登记流程
- 中小学学习经验总结细节决定成败态度决定一切课件
- 2025至2031年中国尼龙布袋行业投资前景及策略咨询研究报告
- 2025至2031年中国咳哌宁口服液行业投资前景及策略咨询研究报告
- 2025至2030年中国铜艺术品数据监测研究报告
- 《感染性休克护理》课件
- LY/T 3370-2024草原术语及分类
- DL∕T 5210.2-2018 电力建设施工质量验收规程 第2部分:锅炉机组
- 【江苏省机电产品出口贸易规模结构及问题和完善策略14000字(论文)】
- 一年级下册《读读童谣和儿歌》试题及答案共10套
- CHZ 3002-2010 无人机航摄系统技术要求(正式版)
- 电梯每月电梯安全调度
- 免拆底模钢筋桁架楼承板图集
- 寻梦环游记(Coco)中英文台词对照
- 园林施工过程安全管理
- 2024年部编版五年级下册语文第一单元综合检测试卷及答案
- 设计质量管理和保证措施及设计质量管理和质量保证措施
评论
0/150
提交评论