




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.PAGE.WORD文档可编辑技术资料专业分享程序化交易的编写㈠、交易模型编写规范和一般原则1、编辑平台支持的操作符操作符意义例+加法CLOSE+OPEN表示求收盘价及开盘价的和。-减法CLOSE-OPEN表示求收盘价及开盘价的差。*乘法CLOSE*OPEN表示求收盘价及开盘价的积。/除法CLOSE/OPEN表示求收盘价及开盘价的商。AND与<并且>,也可简写为&&OR或<或者>,也可简写为||>大于CLOSE>OPEN表示判断当前周期是否收阳。<小于CLOSE=OPEN表示判断当前周期是否平盘。>=大于等于<=小于等于<>不等于=等于:=只定义一个局部变量<这个变量在画图时是不画的>TMP1:=<OPEN+CLOSE>/2;
:MA<TMP1,10>;
上面的公式的第一个语句定义了一个局部变量TMP1,在下面一行中引用了这个局部变量,但是要注意的是这个公式在画图的时候只画了第二条语句MA10所求出的结果。相反下面这个公式则需要画出两条线,第一条是自己定义的均价线,同时显示了均价的名称为AVP,第二条线是均价的简单移动平均线。AVP:<OPEN+CLOSE>/2;MA<AVP,10>;:声明了一个变量,在画图时画出它并且按这个名字显示。2、编辑平台支持的函数⑴引用数据AVPRICE引用均价<在盘后对于国内三个期货交易所指结算价>SETTLE引用结算价<只有在日线周期盘后才能引用当日的结算价>CLOSE引用收盘价<在盘中指最新价>,也可简写为CHIGH引用最高价,也可简写为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的合约品种的最新价。PARAM
[参数名称,最小值,最大值,缺省值]在源码中定义参数。
例:PARAM[N,1,100,12]
MAN:MA<CLOSE,N>;
表示参数为N,最小值为1,最大值为100,缺省值为12.#IMPORT[CODE,PERIOD,FORMULA]ASVAR〔Mytrader2009和Myadvisor〔赢智支持#IMPORT[CODE,PERIOD,FORMULA]ASVAR;
CODE文华码PERIOD周期FORMULA引用模型名
VAR
定义变量名例子:
#IMPORT[1205,MIN5,TEST]ASM1005
意思是引用[豆粕1005]五分钟图上指标[TEST.FML]的数据
使用的方法:
如当前存在一个指标TEST.FML
//TEST.FML
CL:=CLOSE;
OP:=OPEN;我想在新建的指标TEST1中引用[豆粕1005]五分钟周期上指标[TEST.FML]的数据
可以如下编写TEST1指标
//TEST1.FML
#IMPORT[1205,MIN5,TEST]ASVARTEST
DD:VARTEST.CL;
DF:VARTEST.OP;引用的约束
1.只能引用.FML文件
2.只能引用如下周期MIN1MIN3MIN5MIN10MIN15MIN30HOUR1HOUR3HOUR8DAYWEEKMONTH
3.只能短周期引用长周期比如不能日线周期上加载引用了分钟数据的指标。
4.被引用的指标中不能存在引用⑵金融统计BACKSET<X,N>若X条件成立,则将当前位置到N周期前的数值设为1。『未来函数』
例:BACKSET<CLOSE>OPEN,3>;表示当K线收阳时,自当前位置到3周期前的数值设为1BARSLAST<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的动态移动平均,其中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<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/NSUM<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>⑶数理统计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>²+<-26.2>²+<-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>²+<53.8>²/5]½=47.18。8、标准差STD<X,N>:估算样本方差的开方。[2226.16*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个周期内是否有满足条件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交易模型买卖指令信号过滤函数。〔仅适用于交易模型的过滤交易模型公式后加"NOFILTER;"是指不需要过滤,出现任何交易指令都会执行。公式后不加"NOFILTER;"是指当连续出现同方向的交易指令时,系统只显示出第一个交易指令,其他交易指令自动被过滤。ISDOWN判断该周期是否收阴。ISEQUAL判断该周期是否平盘。ISUP判断该周期是否收阳。ISLASTBAR判断当前周期是否为最后一根K线。VALUEWHEN<COND,DATA>当条件COND满足时,取当时的DATA的值,否则取得前面一个满足条件COND的值。例:VALUEWHEN<HIGH>REF<HIGH,5>,HIGH>;表示当前最高价大于前五个周期最高价的最大值时返回当前最高价。⑸数学运算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,如果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取得当前周期的日数〔1-31。HOUR取得当前周期的小时数〔0-23。MINUTE取得当前周期的分钟数〔0-59。MONTH取得当前周期的月数〔1-12。TIME取得当前周期的时间数〔0-2359,秒级周期返回值范围为:0-235959。WEEKDAY取得当前周期的星期数〔0-6。YEAR取得当前周期的年数〔1970-2034。⑺绘图DRAWLINE<C1,P1,C2,P2,COLOR>当条件C1及C2均满足时,从P1画直线到P2,颜色为COLOR。
例:DRAWLINE<MA18<CLOSE,OPEN,MA5>CLOSE,CLOSE,COLORCYAN>;表示当收盘价大于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个点的斜率画斜线,划线长度为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.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>同POLYLINE。
例: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天新高时画垂直线。RGB<R,G,B>自定义颜色函数。
R,G,B的数值范围都在0~255之间,例:RGB<225,225,225>表示白色COLORSTICK画彩色柱线VOLUMESTICK画成交量线BAMBOOLINE画竹线CIRCLEDOT画圆OPISTICK画持仓量柱线8、level-2函数〔只有嬴智版本支持L2_BPTIMES周期内多头平仓次数。
用法:L2_BPTIMES返回多头平仓次数。L2_BKTIMES周期内多头开仓次数。
用法:L2_BKTIMES返回多头开仓次数。L2_SPTIMES周期内空头平仓次数。
用法:L2_BPTIMES返回空头平仓次数。L2_SKTIMES周期内空头开仓次数。
用法:L2_SKTIMES返回空头开仓次数。L2_ASKACCOUNT周期内卖主动次数。
用法:L2_ASKACCOUNT返回卖主动次数。L2_BIDACCOUNT周期内买主动次数。
用法:L2_BIDACCOUNT返回买主动次数。L2_BIDAVVOL周期内平均总买量。
用法:L2_BIDAVVOL返回周期内平均总买量。L2_ASKAVVOL周期内平均总卖量。
用法:L2_ASKAVVOL返回周期内平均总卖量。L2_ASKAVPRICE周期内卖盘加全平均价。
用法:L2_ASKAVPRICE返回卖盘加全平均价。L2_BIDAVPRICE周期内买盘加全平均价。
用法:L2_BIDAVPRICE返回买盘加全平均价。L2_ASKBIGTURNOVER周期内空头大单成交额。
用法:L2_ASKBIGTURNOVER返回空头大单成交额。L2_BIDBIGTURNOVER周期内多头大单成交额。
用法:L2_BIDBIGTURNOVER返回多头大单成交额。L2_ASKBIGCOUNT周期内空头大单成交次数。
用法:L2_ASKBIGCOUNT返回周期内空头大单成交次数。L2_BIDBIGCOUNT周期内多头大单成交次数。
用法:L2_BIDBIGCOUNT返回周期内多头大单成交次数。L2_TOTALTURNOVER周期内总成交额。
用法:L2_TOTALTURNOVER返回总成交额。L2_ASKBIGENTRASTCOUNT周期内卖1委托明细大量次数。
用法:L2_ASKBIGENTRASTCOUNT返回卖1委托明细大量次数。L2_BIDBIGENTRASTCOUNT周期内买1委托明细大量次数。
用法:L2_BIDBIGENTRASTCOUNT返回买1委托明细大量次数。L2_PERIOD_DATA<TEXT>该周期最后时刻的买卖价格。
用法:L2_PERIOD_DATA<TEXT>求内容为TEXT的该周期最后盘面数据。
例子:L2_PERIOD_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''bidvol5''askvol1''askvol2''askvol3''askvol4''askvol5'L2_TICK_DATA<TEXT>取每笔买卖盘数据<只能用于Tick图,每笔Tick时间间隔请设置为0>。
用法:L2_TICK_DATA<TEXT>求内容为TEXT的盘面实时数据。
例子:L2_TICK_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,bidvol5,askvol1,askvol2,askvol3,askvol4,askvol5
总买总卖总买量总卖量
tbid,task,tbidvol,taskvol
委买1-委买10委卖1-委卖10
buy_entrust1,buy_entrust2,buy_entrust3,buy_entrust4,buy_entrust5,
buy_entrust6,buy_entrust7,buy_entrust8,buy_entrust9,buy_entrust10,
sell_entrust1,sell_entrust2,sell_entrust3,sell_entrust4,sell_entrust5,
sell_entrust6,sell_entrust7,sell_entrust8,sell_entrust9,sell_entrust10
最新价持仓量主动买卖<返回意义-1没取到,0主动买,1主动卖,2换手>成交量
newprice,opi,activity,deltavol更多期货股票学习资料点击:9、头寸函数〔连接文华服务器才能使用TRD_ASSETS取出交易系统中的权益。
用法:TRD_ASSETS返回交易系统的权益。
注意:该函数只有登陆一键通下单系统才能使用。效果测试不执行此函数。TRD_CAPITAL取出交易系统中的可用资金。
用法:TRD_CAPITAL返回交易系统的可用资金。
注意:该函数只有登陆一键通下单系统才能使用。
效果测试不执行此函数。TRD_LONGSPRICE取出交易系统中的多头开仓均价。
用法:TRD_LONGSPRICE返回交易系统的多头开仓均价。
注意:该函数只有登陆一键通下单系统才能使用。
效果测试不执行此函数。TRD_SHORTSPRICE取出交易系统中的空头开仓均价。
用法:TRD_SHORTSPRICE返回交易系统的空头开仓均价。
注意:该函数只有登陆一键通下单系统才能使用。
效果测试不执行此函数。TRD_LONGSOPI取出交易系统中的多头持仓。
用法:TRD_LONGSOPI返回交易系统的多头持仓。
注意:该函数只有登陆一键通下单系统才能使用。
效果测试不执行此函数。TRD_SHORTSOPI取出交易系统中的空头持仓。
用法:TRD_SHORTSOPI返回交易系统的空头持仓。
注意:该函数只有登陆一键通下单系统才能使用。
效果测试不执行此函数。TRD_LONGSOPIREMAIN取出交易系统中的多头可平仓手数。
用法:TRD_LONGSOPIREMAIN返回交易系统的多头可平仓手数。
注意:该函数只有登陆一键通下单系统才能使用。
效果测试不执行此函数。TRD_SHORTSOPIREMAIN取出交易系统中的空头可平仓手数。
用法:TRD_SHORTSOPIREMAIN返回交易系统的空头可平仓手数。
注意:该函数只有登陆一键通下单系统才能使用。
效果测试不执行此函数。TRD_LONGSEARN取出交易系统中的多头浮动盈亏。
用法:TRD_LONGSEARN返回交易系统的多头浮动盈亏。
注意:该函数只有登陆一键通下单系统才能使用。
效果测试不执行此函数。TRD_SHORTSEARN取出交易系统中的空头浮动盈亏。
用法:TRD_SHORTSEARN返回交易系统的空头浮动盈亏。
注意:该函数只有登陆一键通下单系统才能使用。
效果测试不执行此函数。TRD_LIMITUP取出交易系统中的涨停价格。
用法:TRD_LIMITUP返回交易系统的涨停价格。
注意:该函数只有登陆一键通下单系统才能使用。
效果测试不执行此函数。TRD_LIMITDOWN取出交易系统中的跌停价格。
用法:TRD_LIMITDOWN返回交易系统的跌停价格。
注意:该函数只有登陆一键通下单系统才能使用。
效果测试不执行此函数。
SETDEALPERCENT<fPercent>设置模型每次下单按资金的比例下单。
用法:SETDEALPERCENT<fPercent>表示每次按资金的fPercent下单。
例子:SETDEALPERCENT<0.2>;//每次按资金比例的%20下单
注:不可与SETDEALVOL函数同时使用
交易系统必须启动
效果测试不执行此函数
SETDEALVOL<nVol>设置模型每次下单按设置的手数下单。
用法:SETDEALVOL<nVol>表示每次模型下nVol手单。
例子:SETDEALVOL<2>;//模型每次下单2手
注:不可与SETDEALPERCENT函数同时使用
交易系统必须启动
效果测试不执行此函数10、信号记录函数〔连接文华服务器才能使用BKPRICE模型买开信号价位。
用法:BKPRICE返回上一次模型买开仓价。BARSBK上一次买开信号位置
用法:BARSBK返回上一次买开仓距离当前k线的k线数。SKPRICE模型卖开信号价位。
用法:SKPRICE返回上一次模型卖开仓价。BARSSK上一次卖开信号位置
用法:BARSSK返回上一次卖开仓距离当前k线的k线数。3、编辑平台可以使用的常数常数意义COLORRED红色COLORGREEN绿色COLORBLUE蓝色COLORMAGENTA红紫色COLORYELLOW黄色COLORLIGHTGREY浅灰色COLORLIGHTRED浅红色COLORLIGHTGREEN浅绿色COLORLIGHTBLUE浅蓝色COLORBLACK黑色COLORWHITE白色COLORCYAN青色COLORRED红色COLORGREEN绿色COLORBLUE蓝色COLORMAGENTA红紫色COLORYELLOW黄色COLORLIGHTGREY浅灰色注:在公式内即使你定义了某种颜色,在显示的时候也未必是此种颜色,取决于背景颜色当前页面里是否保了该指标的颜色及您是否在显示的时候改变了该指标的颜色设置。更多期货股票学习资料点击:4、编辑平台的语法〔1关于公式名称:公式的名称不可以和已经存在的公式重复。〔2关于参数:每个自编公式最多可以在参数设置栏中定义四个参数,参数的定义如下,首先是参数名称,然后是参数的最小值,最大值,最后是参数的默认值。在定义参数时要注意的是参数名称不可以重复。〔3关于变量名称:变量名称不可以互相重复,不可以和参数名重复,不可以和函数名称重复。〔4关于公式内容:公式的每个语句应该以分号结束,包括最后一条语句。在数据公式的时候请您注意一定要使用半角输入。在编写公式的过程中,如果您不记得某个函数的确切写法,可以选择插入函数来插入函数。〔5如果您在编写公式之后,想给这个公式加上注释,说明之类的东西,可以使用公式说明来输入。〔6IF
ELSE:
该语句只有Mytrader2009和Myadvisor〔赢智支持MA5:=MA<CLOSE,5>;
MA10:=MA<CLOSE,10>;
MA30:=MA<CLOSE,30>;
IF<MA5>MA10>
MA5,COLORRED;
ELSE
{
IF<MA10>MA30>
MA10,COLORMAGENTA;
ELSE
MA30,COLORGREEN;
}
以上内容表达MA5、MA10、MA30三者中最大的数值。〔7IFELSE<C,A,B>
如果条件C成立则返回A值,否则返回B值
例:IFELSE<CLOSE>REF〔CLOSE,1,1,0>;表示若今日收盘价高于前一日收盘价,则返回1,否则返回05、编辑平台使用的交易指令交易模型中的交易指令如下:期货交易指令买开公式中用BK表示买平公式中用BP表示卖开公式中用SK表示卖平公式中用SP表示买平后买开新仓公式中用BPK表示卖平后卖开新仓公式中用SPK表示股票、权证、外汇交易指令买入公式中用BUY表示卖出公式中用SELL表示套利模型中的交易指令如下:第一腿买开,第二腿卖开公式中用BKSK表示第一腿卖开,第二腿买开公式中用SKBK表示第一腿买平,第二腿卖平公式中用BPSP表示第一腿卖平,第二腿买平公式中用SPBP表示注:在效果测试使用如下机制:连续的开仓指令只使用第一个指令进行开仓,开仓时使用当时的全部资金,连续的平仓指令,只有第一个有效,平掉当时的全部持仓,其他的平仓指令算做错误指令!6、快速入门★以下模型源码内容仅供编写参考使用,如用于交易使用,风险自负。⑴如何把熟悉的技术指标转换成交易模型?第一步:把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,发出买平交易指令//"//"后为文字说明,编写模型时不用写出⑵如何把自编变色K线转换成交易模型?模型说明:第一根K线变红时买,第一根K线变蓝时卖指标源码:HH1:=IF<H<REF<H,2>&&REF<H,1><REF<H,2>,REF<H,2>,0>;LL1:=IF<L>REF<L,2>&&REF<L,1>>REF<L,2>,REF<L,2>,0>;HH2:=VALUEWHEN<HH1>0,HH1>;LL2:=VALUEWHEN<LL1>0,LL1>;K1:=IF<CLOSE>HH2,-3,IF<CLOSE<LL2,1,0>>;K2:=VALUEWHEN<K1<>0,K1>;G:=IF<K2=1,HH2,LL2>;G1:=VALUEWHEN<ISLASTBAR,G>;//以上是在定义变量,转换成模型时直接引用DRAWNUMBER<L>0,G1,G1,0,COLORCYAN>;//以上是在编著数值,转换成模型时直接删除W1:=K2;W2:=OPEN-CLOSE;HT:=IF<OPEN>CLOSE,OPEN,CLOSE>;LT:=IF<OPEN<CLOSE,OPEN,CLOSE>;//以上是在定义变量,转换成模型时直接引用DRAWLINE<W1=1,HIGH,W1=1,HT,COLORCYAN>;DRAWLINE<W1=1,LOW,W1=1,LT,COLORCYAN>;DRAWLINE<W1=-3,HIGH,W1=-3,HT,COLORRED>;DRAWLINE<W1=-3,LOW,W1=-3,LT,COLORRED>;STICKLINE<W1>0,OPEN,CLOSE,COLORCYAN,1>;STICKLINE<W1<=0,OPEN,CLOSE,COLORRED,1>;STICKLINE<W2>0&&W1<=0,OPEN,CLOSE,COLORRED,0>;STICKLINE<W2>0&&W1>0,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线颜色的逻辑语句。例如:STICKLINE<W1>0,OPEN,CLOSE,COLORCYAN,1>;则保留W1>0,再加上交易指令即可改写为交易模型修改为交易模型如下:HH1:=IF<H<REF<H,2>&&REF<H,1><REF<H,2>,REF<H,2>,0>;LL1:=IF<L>REF<L,2>&&REF<L,1>>REF<L,2>,REF<L,2>,0>;HH2:=VALUEWHEN<HH1>0,HH1>;LL2:=VALUEWHEN<LL1>0,LL1>;K1:=IF<CLOSE>HH2,-3,IF<CLOSE<LL2,1,0>>;K2:=VALUEWHEN<K1<>0,K1>;G:=IF<K2=1,HH2,LL2>;G1:=VALUEWHEN<ISLASTBAR,G>;W1:=K2;W2:=OPEN-CLOSE;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=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<CLOSE<=LL>;AB:=IF<A>B,HH,LL>;CROSS<AB,CLOSE>,SPK;CROSS<CLOSE,AB>,BPK;模型BHH1:=IF<H<REF<H,2>&&REF<H,1><REF<H,2>,REF<H,2>,0>;LL1:=IF<L>REF<L,2>&&REF<L,1>>REF<L,2>,REF<L,2>,0>;HH2:=VALUEWHEN<HH1>0,HH1>;LL2:=VALUEWHEN<LL1>0,LL1>;K1:=IF<CLOSE>HH2,-3,IF<CLOSE<LL2,1,0>>;K2:=VALUEWHEN<K1<>0,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:=BARSLAST<CLOSE>=HH>;B:=BARSLAST<CLOSE<=LL>;AB:=IF<A>B,HH,LL>;HH1:=IF<H<REF<H,2>&&REF<H,1><REF<H,2>,REF<H,2>,0>;LL1:=IF<L>REF<L,2>&&REF<L,1>>REF<L,2>,REF<L,2>,0>;HH2:=VALUEWHEN<HH1>0,HH1>;LL2:=VALUEWHEN<LL1>0,LL1>;K1:=IF<CLOSE>HH2,-3,IF<CLOSE<LL2,1,0>>;K2:=VALUEWHEN<K1<>0,K1>;CROSS<AB,CLOSE>&&K2=1,SK;CROSS<AB,CLOSE>||K2=1,SP;CROSS<CLOSE,AB>&&K2=-3,BK;CROSS<CLOSE,AB>||K2=-3,BP;<二>、基础指标编写示范和注意事项1、学习编写前学要明确注意的几个概念公式:泛指指标、模型。没有具体指向性。指标:指能够绘出图线但不发交易指令的公式。指标是一个技术分析范畴的概念。交易信号:指指标上出现的提示投资者买卖的指示,可以是图线交叉、文字、图形。投资者需要按照信号指示去手动委托下单。交易信号也是一个技术分析范畴的概念。交易模型:指能够发出BK、SP等交易指令但是不绘出图线的公式,模型还包含下单方向,交易手数,止盈止损等与交易、资金使用相关的参数设置。交易模型是一个程序化交易范畴的概念。交易指令:指交易模型自动发出的下单委托指令,可以不经过投资者确认直接下单,也可以等待投资者回车确认再下单。交易指令在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;MA10:MA<CLOSE,10>,COLORYELLOW;MA30:MA<CLOSE,30>,COLORGREEN;MA60:MA<CLOSE,60>,COLORMAGENTA;③K线+均线组合MA5:MA<CLOSE,5>,COLORWHITE;MA10:MA<CLOSE,10>,COLORYELLOW;MA30:MA<CLOSE,30>,COLORGREEN;MA60:MA<CLOSE,60>,COLORMAGENTA;TMP:=OPEN-CLOSE;DRAWLINE<TMP>0.00001,HIGH,TMP>0.00001,OPEN,COLORCYAN>;DRAWLINE<TMP>0.00001,LOW,TMP>0.00001,CLOSE,COLORCYAN>;DRAWLINE<TMP<-0.00001,HIGH,TMP<-0.00001,CLOSE,COLORRED>;DRAWLINE<TMP<-0.00001,LOW,TMP<-0.00001,OPEN,COLORRED>;DRAWLINE<ABS<TMP><0.00001,LOW,ABS<TMP><0.00001,OPEN,COLORWHITE>;DRAWLINE<ABS<TMP><0.00001,HIGH,ABS<TMP><0.00001,OPEN,COLORWHITE>;STICKLINE<TMP>0,OPEN,CLOSE,COLORCYAN,0>;STICKLINE<TMP<=0,OPEN,CLOSE,COLORRED,1>;小技巧:如何最快捷的增加K线在我的指标里,当需要书写的源代码比较长时,如果系统中已经有完整的指标,我们可以直接拿来引用,而不需要重复录入。更多期货股票学习资料点击:〔2、四周法则关键函数HHV、LLV、REFHHV<X,N>得到X在N周期内的最高值,如果N=0,则从本地数据的第一个有效周期开始算起。
例:HHV<HIGH,13>;求13个周期内的最高价的最大值。LLV<X,N>得到X在N周期内的最小值,如果N=0,则从本地数据的第一个有效周期开始算起。
例:LLV<LOW,25>;表示求25个周期内最低价的最小值REF<X,N>引用X在N个周期前的值
例:REF<CLOSE,5>;表示引用当前周期前第5个周期的收盘价HH:REF<HHV<HIGH,19>,1>;LL:REF<LLV<LOW,19>,1>;<三>、交易模型编写示范和注意事项1、趋势类交易模型编写示范⑴均线类①均线排列模型关键函数:MA使用周期:任意模型说明:MA5,MA10,MA20多头排列时做多,空头排列时做空。编者以一个周期内这三条均线的大小关系为判断标准举例,大家也可以使用多个周期的比较来判断多/空头排列关系。MA5:=MA<CLOSE,5>;MA10:=MA<CLOSE,10>;MA20:=MA<CLOSE,20>;MA5>MA10&&MA10>MA20,BPK;MA5<MA10&&MA10<MA20,SPK;模型源码内容仅供编写参考使用,如用于交易使用,风险自负容易犯的编写错误:A、交易模型中不允许使用只写:〔即定义并画线的写法。如:MA5:=MA<CLOSE,5>;错误写成MA5:MA<CLOSE,5>;B、对于三个数的比较,大家往往习惯写成MA5>MA10>MA20这样,而在文华的模型编写中,目前只能两个变量之间进行比较,也就是说此类三个以上变量连续比较需要像模型中那样拆分来写:MA5>MA10&&MA10>MA20。C、缺少计算函数。如:求均线时,写为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,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;CROSS<P2,P1>,SPK;★以上模型源码内容仅供编写参考使用,如用于交易使用,风险自负③均线结合MACD模型关键函数:EMA使用周期:日线模型说明:利用DIFF和DEA的比较和收盘价的15日指数加权和最新价的比较作为买卖依据进行交易。DIFF:=EMA<CLOSE,12>-EMA<CLOSE,26>;DEA:=EMA<DIFF,9>;EMA15:=EMA<CLOSE,15>;DIFF>DEA&&CLOSE>EMA15,BPK;DEA>DIFF&&EMA15>CLOSE,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;以上模型源码内容仅供编写参考使用,如用于交易使用,风险自负最高价高于前20最高价高于前20周期最高价。应写为HIGH>REF<HHV<HIGH,20>,1>,常见错误是直接写为HIGH>HHV<HIGH,20>;容易犯的编写错误:更多期货股票学习资料点击:②布林通道结合阴阳K线模型关键函数:STD、CROSS、ISUP、ISDOWN使用周期:日线模型说明:收盘价向上突破布林通道下轨并前当根k线收阳做多,收盘价向下突破布林通道上轨并前当根k线收阴做空。参数设置:N,最小值1,最大值100,缺省值26M,最小值1,最大值100,缺省值26MID:=MA<CLOSE,N>;TMP2:=STD<CLOSE,M>;TOP:=MID+2*TMP2;BOTTOM:=MID-2*TMP2;CROSS<CLOSE,BOTTOM>&&ISUP,BPK;CROSS<TOP,CLOSE>&&ISDOWN,SPK;★以上模型源码内容仅供编写参考使用,如用于交易使用,风险自负⑶其他类①宝塔线关键函数:REF、HHV、LLV使用周期:日线模型说明:宝塔线变红做多,宝塔线变绿做空。因为文华并未公布宝塔线的后台公式,所以此指标的显示结果与文华系统中的宝塔显示能结果有一定的区别。C1:=REF<CLOSE,1>;
C2:=REF<CLOSE,2>;
C3:=REF<CLOSE,3>;
C4:=REF<CLOSE,4>;
CMAX:=HHV<CLOSE,2>;
CMIN:=LLV<CLOSE,2>;
<CLOSE=CMAX&&<C1>=C2||C1>=C3>||C1=CMAX&&<C2=CMIN||C3=CMIN>&&CLOSE>=C2||C2=CMAX&&C3=CMIN&&CLOSE>=C1||C3=CMAX&&CLOSE>=C1&&CLOSE>=C2>,BPK;
<CLOSE=CMIN&&<C1<C2||C1<C3>||C1=CMIN&&<C2=CMAX||C3=CMAX>&&CLOSE<C2
||C2=CMIN&&C3=CMAX&&CLOSE<C1||C3=CMIN&&CLOSE<C1&&CLOSE<C2>,SPK;★以上模型源码内容仅供编写参考使用,如用于交易使用,风险自负②分形关键函数:MA、REF、REFX<未来函数>、BARSLAST、CROSS、VALUEWHEN使用周期:日线模型说明:向上突破分形做多,向下突破分形做空MA13:=MA<CLOSE,13>;
HO:=H>REF<H,1>&&H>REF<H,2>&&H>=REFX<H,1>&&IF<H=REFX<H,2>,H>REFX<H,3>,H>REFX<H,2>>;
FXH:=CROSS<HO,0.9>;
HH:=REF<H,BARSLAST<FXH>>;
LO:=L<REF<L,1>&&L<REF<L,2>&&L<=REFX<L,1>&&IF<L=REFX<L,2>,L<REFX<L,3>,L<REFX<L,2>>;
FXL:=CROSS<LO,0.9>;
LL:=REF<L,BARSLAST<FXL>>;
A:=VALUEWHEN<CROSS<CLOSE,HH>,REF<LL,1>>;A1:=VALUEWHEN<CROSS<CLOSE,HH>,CLOSE>;
B:=VALUEWHEN<CROSS<LL,CLOSE>,REF<HH,1>>;
B1:=VALUEWHEN<CROSS<LL,CLOSE>,CLOSE>;
<CROSS<CLOSE,HH>&&CLOSE>MA13>||CROSS<CLOSE,B>,BK;
<CLOSE>A1&&CROSS<MA13,CLOSE>>||CROSS<A,CLOSE>,SP;
<CROSS<LL,CLOSE>&&CLOSE<MA13>||CROSS<A,CLOSE>,SK;
<CLOSE<B1&&CROSS<CLOSE,MA13>>||CROSS<CLOSE,B>,BP;★以上模型源码内容仅供编写参考使用,如用于交易使用,风险自负③SAR模型关键函数:ABS,SAR使用周期:任意模型说明:SAR指标出现红点买平开,蓝点卖平开N:最小值1最大值100缺省值4STEP:最小值0.01最大值0.2缺省值0.02MVALUE:最小值0.01最大值1缺省值0.2SARLINE:=ABS<SAR<N,STEP,MVALUE>>;CLOSE>SARLINE,BPK;CLOSE<SARLINE,SPK;★以上模型源码内容仅供编写参考使用,如用于交易使用,风险自负容易犯的编写错误:直接写CLOSE>SARLINE是不对的,CLOSE恒大于0,而SARLINE有正有负,应将SARLINE取绝对值。如下:SARLINE:=ABS<SAR<4,0.02,0.2>>;再用CLOSE进行比较更多期货股票学习资料点击:2、振荡类交易模型编写示范⑴主动买与主动卖模型关键函数:SCALE,CROSS,VALUEWHEN,TIME模型说明:现价大于当日开盘价并且主动买大于主动卖时买平开,现价小于开盘价并且主动卖大于主动买时卖平仓。另SCALE为内部函数,不可以进行效果测试的。A、使用周期:日线ZB:=SCALE*VOL;ZS:=<1-SCALE>*VOL;CLOSE>OPEN&&CROSS<ZB,ZS>,BPK;CLOSE<OPEN&&CROSS<ZS,ZB>,SPK;B、使用周期:任意分钟线ZB:=SCALE*VOL;ZS:=<1-SCALE>*VOL;OO:=VALUEWHEN<TIME=0900,OPEN>;CLOSE>OO&&CROSS<ZB,ZS>,BPK;CLOSE<OO&&CROSS<ZS,ZB>,SPK;★以上模型源码内容仅供编写参考使用,如用于交易使用,风险自负⑵ROC<变动速率>与价格趋势变动背离:关键函数:REF,CROSS,MA,HHV使用周期:所有K线周期。模型说明:价格创新高,ROC未配合上升,显示上涨动力减弱;价格创新低,ROC未配合下降,显示下跌动力减弱参数设置:参数N,最小值5,最大值100,缺省值24;参数M,最小值5,最大值100,缺省值20;ROC:=<CLOSE-REF<CLOSE,N>>/REF<CLOSE,N>*100;ROCMA:=MA<ROC,M>;C>REF<HHV<C,N1>,1>&&ROC<ROCMA,SPK;C<REF<HHV<C,N1>,1>&&ROC>ROCMA,BPK;★以上模型源码内容仅供编写参考使用,如用于交易使用,风险自负⑶三减六日乖离模型:关键函数:REF,MA,HHV,LLV使用周期:所有K线周期。模型说明:乖离值为正数时,未能突破前期高值,卖出;反之,买进。参数设置:参数N,最小值0,最大值20,缺省值5;B36:=MA<CLOSE,3>-MA<CLOSE,6>;B612:=MA<CLOSE,6>-MA<CLOSE,12>;REF<B36>REF<HHV<B36,N>,1>,1>&&B36<REF<B36,1>,SPK;REF<B36<REF<LLV<B36,N>,1>,1>&&B36>REF<B36,1>,BPK;★以上模型源码内容仅供编写参考使用,如用于交易使用,风险自负3、日内交易模型编写示范⑴开盘价突破模型关键函数:REF,VALUEWHEN,TIME,CROSS,DATE使用周期:五分钟模型说明:五分钟周期开盘第二根K线的收盘价与当日开盘价比较及最新价和当日开盘价的比较作为买卖依据进行交易,尾盘平仓不留隔夜单。A:=VALUEWHEN<TIME=905,CLOSE>;B:=VALUEWHEN<DATE<>REF<DATE,1>,OPEN>;A<B&&CROSS<CLOSE,B>&&TIME<1450,BK;<A>B&&CROSS<B,CLOSE>>||TIME>=1450,SP;A>B&&CROSS<B,CLOSE>&&TIME<1450,SK;<A<B&&CROSS<CLOSE,B>>||TIME>=1450,BP;★以上模型源码内容仅供编写参考使用,如用于交易使用,风险自负更多期货股票学习资料点击:容易犯的编写错误:A、所选周期与所用模型时间上不统一如5分钟周期最小能取到的时间点就是5分钟,如1455,1450,1445这样,所以其最后一根K线的1455这根。而如果您使用的是3分钟周期,那么1455就不是最后一根K线了,因为3分钟周期上所能取到的时间点为每3分钟,如1454,1457,那么就需要作出相应修改,如TIME=1455,BP;就需要修改为TIME=1457,BP;B、开仓漏写时间控制进行日内交易时注意时间函数的使用,不仅平仓条件中需要使用时间函数控制,有时开仓条件也需要使用时间函数来进行控制。例如:上面的模型,14:50进行平仓,不仅需要在平仓条件中写入时间1450,还需要写入开仓条件,否则可能会在1450平仓后,继续开仓进行交易。C、使用这种VALUEWHEN<TIME=AA,DATA>格式的交易模型,一定要注意限制开仓时间在时间AA之后,否则在开盘到AA之前,对比的是昨日的DATA值⑵开盘后前三十分钟最高最低价突破模型关键函数:REF,VALUEWHEN,TIME,DATE,HHV,LLV,BARSLAST使用周期:五分钟模型说明:以最新价与开盘30分钟内的最高最低价进行比较开仓,在收盘前平仓。M:=BARSLAST<DATE<>REF<DATE,1>>;B:=VALUEWHEN<TIME<=0930,HHV<HIGH,M>>;D:=VALUEWHEN<TIME<=0930,LLV<LOW,M>>;CLOSE>B&&TIME<1455&&TIME>0900,BK;TIME=1455,SP;CLOSE<D&&TIME<1455&&TIME>0900,SK;TIME=1455,BP;★以上模型源码内容仅供编写参考使用,如用于交易使用,风险自负⑶单均线模型关键函数:MA,TIME使用周期:1分钟K线模型说明:开盘后15分钟再根据均线与收盘价之间的关系进行日内买卖,尾盘平仓。MAN:=MA<CLOSE,15>;TIME>=0915&&TIME<1455&&CLOSE>MAN&&BARSLAST<CROSS<CLOSE,MAN>>>=3,BK;TIME>=1455||<CLOSE<MAN&&BARSLAST<CROSS<MAN,CLOSE>>>=3>,SP;TIME>=0900&&TIME<1455&&CLOSE<MAN&&BARSLAST<CROSS<MAN,CLOSE>>>=3,SK;TIME>=1455||<CLOSE>MAN&&BARSLAST<CROSS<CLOSE,MAN>>>=3>,BP;注:加入BARSLAST函数过滤,避免短时间段内频繁交易。★以上模型源码内容仅供编写参考使用,如用于交易使用,风险自负4、跨合约、跨周期模型编写示范⑴如何将沪铜1002合约〔文华码:2102日K线的M5,M10,M25均线引用到其他合约5分钟K线图上?关键函数:#IMPORT,CROSS,MA使用周期:五分钟第一步:建立指标"MA1"MA5:=MA<CLOSE,5>;MA10:=MA<CLOSE,10>;MA25:=MA<CLOSE,25>;第二步:建立指标"5MA"并在5分钟周期应用#IMPORT[2102,DAY,MA1]ASAM1:A.MA5;M2:A.MA10;M3:A.MA25;容易犯的编写错误:A、被引用指标文件类型及名称不符合要求编写跨合约,跨周期指标或模型,被引用的只能是"指标〔即.FLM文件"。被引用的指标中不能存在引用其他指标语句。被引用指标名称需以英文开头,可以是英文加数字形式,但不能出现汉字。如:被引用指标名称可以是"MAA"、"MA1",但不可以是"1MA"或"MA组合"。B、文华码输入错误如沪铜1002合约文华码为2102,并不是1002,各合约文华码可在报价列表"文华码"抬头列或各合约K线图右上角合约名称后括号内查到。同品种不同周期间调用数据时可不必填写文华码,但#IMPORT函数填写文华码位置需以空格代替,不可省略。C、周期使用混乱目前跨周期函数只允许短周期引用长周期数据,如不能在日周期上引用分钟周期数据。目前可供引用周期:MIN1、MIN3、MIN5、MIN10、MIN15、MIN30、HOUR1、HOUR3、HOUR8、DAY、WEEK、MONTH。⑵跨周期均线组合模型关键函数:#IMPORT,CROSS使用周期:三十分钟模型说明:日周期均线为多头排列时,三十分钟周期上只做多,不做空;日周期均线为空头排列时,三十分钟周期上只做空,不做多。第一步:建立日周期均线指标"MAD"MA1:=MA<CLOSE,5>;MA2:=MA<CLOSE,10>;MA3:=MA<CLOSE,25>;第二部:编写跨周期交易模型#IMPORT[,DAY,MAD]ASAM1:=A.MA1;M2:=A.MA2;M3:=A.MA3;MA5:=MA<CLOSE,5>;MA10:=MA<CLOSE,10>;CROSS<MA5,MA10>&&M1>M2&&M2>M3,BK;CROSS<MA10,MA5>,SP;CROSS<MA10,MA5>&&M1<M2&&M2<M3,SK;CROSS<MA5,MA10>,BP;★以上模型源码内容仅供编写参考使用,如用于交易使用,风险自负⑶跨合约MACD模型关键函数:#IMPORT使用周期:五分钟模型说明:当沪铜指数〔文华码2100五分钟周期DIFF金叉DEA时,在沪铜1002合约上买平开;当沪铜指数〔文华码2100五分钟周期DIFF死叉DEA时,在沪铜1002合约上卖平开。第一步:文华自带"MACD"指标,所以无需另新建指标。第二步:编写跨合约交易模型#IMPORT[2100,MIN5,MACD]ASVARD:=VAR.DIFF;E:=VAR.DEA;CROSS<D,E>,BPK;CROSS<E,D>,SPK;★以上模型源码内容仅供编写参考使用,如用于交易使用,风险自负容易犯的编写错误:所引用变量名称需与原指标变量名称相符,如:#IMPORT[2100,MIN5,MACD]ASVARD:=VAR.DIFF;编写跨合约模型前需确认原MACD指标中确实含有DIFF变量名称〔确认方法:通过公式管理器找到原指标,打开查看;请注意原指标变量名称的大小写,如原指标变量名称为diff,则需要在引用时引用D:=VAR.diff;而不是D:=VAR.DIFF;5、头寸及信号记录模型编写示范⑴按资金比例下单模型关键函数:SETDEALPERCENT使用周期:五分钟模型说明:当满足开仓条件时按可用资金比例的30%下单。SETDEALPERCENT<0.3>;A:=VALUEWHEN<TIME=905,CLOSE>;B:=VALUEWHEN<DATE<>REF<DATE,1>,OPEN>;A<B&&CROSS<CLOSE,B>&&TIME<1450,BK;<A>B&&CROSS<B,CLOSE>>||TIME>=1450,SP;A>B&&CROSS<B,CLOSE>&&TIME<1450,SK;<A<B&&CROSS<CLOSE,B>>||TIME>=1450,BP;★以上模型源码内容仅供编写参考使用,如用于交易使用,风险自负⑵资金权益模型关键函数:TRD_CAPITAL,TRD_ASSETS,SAR使用周期:十五分钟模型说明:只有当可用资金占总权益50%以上时满足价格上/下突破止损点才执行开仓条件,否则不予执行。SARLINE:=ABS<SAR<4,0.02,0.2>>;A:=TAD_CAPITAL/TRD_ASSETS;CROSS<CLOSE,SARLINE>&&A>0.5,BK;CROSS<SARLINE,CLOSE>,SP;CROSS<SARLINE,CLOSE>&&A>0.5,SK;CROSS<CLOSE,SARLINE>,BP;★以上模型源码内容仅供编写参考使用,如用于交易使用,风险自负⑶信号记录模型关键函数:BKPRICE,SKPRICE使用周期:五分钟模型说明:突破4个周期最高/最低价开仓,获利15个点以上平仓。CLOSE>=REF<HHV<HIGH,4>,1>,BK;CLOSE-BKPRICE>15,SP;CLOSE<=REF<LLV<LOW,4>,1>,SK;SKPRICE-CLOSE>15,BP;★以上模型源码内容仅供编写参考使用,如用于交易使用,风险自负6、LEVEL-2模型编写示范⑴LEVEL-2盘口模型关键函数:L2_BPTIMES,L2_BKTIMES,L2_SPTIMES,L2_SKTIMES使用周期:一分钟模型说明:创5个周期最高/最低价时统计周期内多/空开平仓次数确定是否开仓。CS1:=L2_BPTIMES;CS2:=L2_BKTIMES;CS3:=L2_SKTIMES;CS4:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 养宠物租房合同范例
- 包装物购销合同范例
- 中介合同范本样本
- 农副产品马蹄收购合同范本
- 别墅土建付款合同范本
- 凉山校园保洁合同范本
- 人资服务合同范本
- 全款车抵押合同范本
- 公里桩合同范本
- 劳务派遣未签合同范例
- 合同签订培训课件
- 《灾害的概述》课件
- 国产氟塑料流体控制件生产企业
- 1投影的形成和分类投影的形成投影的分类工程中常用的投影图28课件讲解
- 货物学 课件2.1货物的分类
- 中国糖尿病防治指南(2024版)解读2
- 2025届广东省佛山一中石门中学高考临考冲刺数学试卷含解析
- 2025年奇瑞汽车招聘笔试参考题库含答案解析
- XX县人民医院信息化建设方案数字化整体规划方案
- 2024-2025学年外研版七年级英语上学期期末复习 专题04 阅读理解CD篇20篇 【考题猜想】
- 年产50000吨再生铝精深加工生产线项目可行性研究报告
评论
0/150
提交评论