描述:开盘后,我们根据KDJ的K值由大到小排序,品种为CU,RU,M,CF,IF,
策略:当交易的品种为CU, CU的排名为第一且无持仓时下单。
首先,我们需要建立数组,然后通过HOD2函数取的排序值。
VARIABLE: X[5]=0;
X[1]:=STKINDI('CU00','KDJ.K',0,6,0);
X[2]:=STKINDI('RU00','KDJ.K',0,6,0);
X[3]:=STKINDI('M00','KDJ.K',0,6,0);
X[4]:=STKINDI('CF00','KDJ.K',0,6,0);
X[5]:=STKINDI('IF00','KDJ.K',0,6,0);
CU排名:HOD2(X,5,X[1]),LINETHICK0;
RU排名:HOD2(X,5,X[2]),LINETHICK0;
M排名:HOD2(X,5,X[3]),LINETHICK0;
CF排名:HOD2(X,5,X[4]),LINETHICK0;
IF排名:HOD2(X,5,X[5]),LINETHICK0;
此主题相关图片如下:图表排序3.jpg
如上图,我们排序值都求出来了,接下来就简单了。
以CU为例,若CU排序为1,并且无持仓,我们就下单。
IF CU排名=1 and holding=0 then buy(1,1,market);
注:这个范例抛砖引玉,通过新的数组功能,以往很复杂的计算都能很简单的处理了。例如N个值中取最大、最小值。
其次HoD2是从大到小排,反过来从小到大排用Lod2函数。
最后HOD2 LOD2的函数说明读起来不太易理解,主要的参数问题,是在于我代码中用红色表示的部分。
概括的讲,以这次举例是例,5个值排序这个值就选5,是20个这个值就取20。具体说明待下个版本完善。
“排序”后台版:
http://www.weistock.com/bbs/dispbbs.asp?boardid=10&Id=25476&page=2
汇总贴:
http://www.weistock.com/bbs/dispbbs.asp?boardid=10&Id=34055
顶
你不早点写这个模版
这玩意我搞了好多天
后来出了LOD2 HOD2 这2个函数 才搞定