欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件交易策略发布专区 → 【模块】金字塔”排序“解决方案(图表)版

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有15122人关注过本帖平板打印复制链接

主题:【模块】金字塔”排序“解决方案(图表)版

帅哥哟,离线,有人找我吗?
RogarZ
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:3534 积分:10003 威望:0 精华:5 注册:2012/5/25 0:00:01
【模块】金字塔”排序“解决方案(图表)版  发帖心情 Post By:2013/2/6 17:43:10 [只看该作者]

去年发布了一个金字塔排序解决方案。主要是用通过金字塔的后台tinsort函数,解决实盘排序的问题。但并不完美,留下的遗憾是tinsort为后台函数无法测试。

通过此贴,我们将彻底解决此问题,不再留有遗憾,图表也能方便的进行排序、测试啦!!。
那为什么以前不可以,现在可以了呢?这个得益于金字塔2.93版改进的数组(矩阵)功能。

以往我们图表要做与”排序“相关的策略是个很复杂的过程。比如我们开盘要对10个品种的涨幅进行排序。笨办法是我们通过STKINDI两两比较后,才能得出结果。技术稍高的朋友会采用“冒泡排序”,但依然相当复杂、繁琐,每个品种所对应的排名依然很难获得。

那么现在通过金字塔的改进后的数组功能后,情况是怎么样的?我们为了统一,依然以后台版的例子为例。


描述:开盘后,我们根据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










金字塔—专业程序化交易量化投资平台

产品部

-----------------------------------------------------------

欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com
 回到顶部