公式的名称不可以和已经存在的公式重复。 (2)关于参数:
每个自编公式最多可以在参数设置栏中定义四个参数,参数的定义如下,首先是参数名称,然后是参数的最小值,最大值,最后是参数的默认值。在定义参数时要注意的是参数名称不可以重复。 (3)关于变量名称:
变量名称不可以互相重复,不可以和参数名重复,不可以和函数名称重复。 (4)关于公式内容:
公式的每个语句应该以分号结束,包括最后一条语句。在数据公式的时候请您注意一定要使用半角输入。 在编写公式的过程中,如果您不记得某个函数的确切写法,可以选择插入函数来插入函数。
(5)如果您在编写公式之后,想给这个公式加上注释,说明之类的东西,可以使用公式说明来输入。 (6)IF 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三者中最大的数值。
41
(7)IFELSE(C,A,B)
如果条件C成立则返回A值,否则返回B值
例:IFELSE(CLOSE>REF(CLOSE,1),1,0);表示若今日收盘价高于前一日收盘价,则返回1,否则返回0。
5、编辑平台使用的交易指令 交易模型中的交易指令如下:
期货交易指令
买开 公式中用BK表示 买平 公式中用BP表示 卖开 公式中用SK表示 卖平 公式中用SP表示 买平后买开新仓 公式中用BPK表示 卖平后卖开新仓 公式中用SPK表示 套利模型中的交易指令如下:
第一腿买开,第二腿卖开 公式中用BKSK表示 第一腿卖开,第二腿买开 公式中用SKBK表示 第一腿买平,第二腿卖平 公式中用BPSP表示 第一腿卖平,第二腿买平 公式中用SPBP表示
股票、权证、外汇交易指令
买入 公式中用BUY表示
42
卖出 公式中用SELL表示 注:在效果测试使用如下机制:
连续的开仓指令只使用第一个指令进行开仓,开仓时使用当时的全部资金,连续的平仓指令,只有第一个有效,平掉当时的全部持仓,其他的平仓指令算做错误指令!
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;//第一行不需要修改
43
//第二行删除,在交易模型中不用钝化
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(HREF(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
G1:=VALUEWHEN(ISLASTBAR,G); //以上是在定义变量,转换成模型时直接引用
44
DRAWNUMBER(L>0,G1,G1,0,COLORCYAN); //以上是在编著数值,转换成模型时直接删除 W1:=K2;
W2:=OPEN-CLOSE;
HT:=IF(OPEN>CLOSE,OPEN,CLOSE); LT:=IF(OPEN
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(HREF(L,2)&&REF(L,1)>REF(L,2),REF(L,2),0);
45
文华财经-半自动程序化交易使用指南10.12.12
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)