以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 交易策略发布专区 (http://weistock.com/bbs/list.asp?boardid=10) ---- 金字塔关于模型中“排序”问题的解决方案 (http://weistock.com/bbs/dispbbs.asp?boardid=10&id=25476) |
-- 作者:RogarZ -- 发布时间:2012/9/13 21:35:30 -- 金字塔关于模型中“排序”问题的解决方案 在以往编写模型过程中,排序是个非常另大家困扰的问题。 笨办法就是用跨周期引用,比大小。但是涉及到的品种很多的话,代码就很长,需要大量的跨周期引用。 做测试的时候,这种方法可行,但是在实际操作层面效率就太差了。 金字塔对应这种情况,基于后台程序化平台开发了Tinsort这个函数。
tinsort函数将得到该品种在此板块的排序序列
举例: 状况:自建板块A1中有5个品种,开盘后的K值由大到小排序为CU,RU,M,CF,SR, 策略:交易的品种为CU, 当CU的K值为板块中第一且无持仓时下单。
K1:TINSORT(\'A1\',\'KDJ.K\',1) //因为1是按降序排列。cu排在第一位则k1=1,cu排第二位则K1=2,CU排在末尾自然K1=5。大家可以通过debugout输出进行检验。
tbuy(k1=1 and tholding=0,1,lmt,c)
使用非常便捷吧,这样2句话就解决了以往非常繁复的代码。 但要注意:此函数虽然便捷,但计算量巨大,注意效率。个人建议,自建板块,仅在自己交易的品种中运行。(至少也是主力合约板块吧,否则那么多非主力合约也是时时参与计算,太2)。 [此贴子已经被作者于2012-9-13 21:37:28编辑过]
|
-- 作者:ljwgbb -- 发布时间:2012/9/15 15:57:16 -- 非常强大实用,支持 |
-- 作者:D -- 发布时间:2012/9/18 9:52:11 -- 若是谁的k值最大然后交易谁,这个如何能做到呢? |
-- 作者:RogarZ -- 发布时间:2012/9/18 10:32:15 -- K1:TINSORT(\'A1\',\'KDJ.K\',1) tbuy(k1=1 and tholding=0,1,lmt,c) 在这个例子中K1=1 既代表是降序排名第一位,就是满足的条件啊 |
-- 作者:自下而上 -- 发布时间:2012/9/24 21:28:22 -- TINSORT只能用在后台吗?如果我想进行测评或优化怎么用? |
-- 作者:yanxc -- 发布时间:2012/9/25 19:51:51 -- 好东西 |
-- 作者:自下而上 -- 发布时间:2012/10/10 11:32:19 -- 以下是引用自下而上在2012-9-24 21:28:22的发言:
TINSORT只能用在后台吗?如果我想进行测评或优化怎么用? 没人回答吗?呼唤金字塔客服 |
-- 作者:自下而上 -- 发布时间:2012/10/10 11:35:21 -- 没有发现insort函数,能不能加上? |
-- 作者:RogarZ -- 发布时间:2012/10/10 20:42:27 -- 以下是引用自下而上在2012-9-24 21:28:22的发言:
TINSORT只能用在后台吗?如果我想进行测评或优化怎么用? 测试用跨周期+循环 |
-- 作者:D -- 发布时间:2012/10/17 16:13:55 -- 如何解决2个条件同时满足然后开仓的? 例如\'KDJ.K\'排名前3位的品种:A,B,C 然后涨幅排名前3位的品种:C,D,E 最后C同时满足2个条件,C下单开多仓。 |