以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 一分钟K线转5分钟K线 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=66116) |
-- 作者:zttzlh -- 发布时间:2014/6/13 9:00:01 -- 一分钟K线转5分钟K线 请教,怎么把一分钟数据转化五分钟K线 ,要求不满足五根K线时,比如说只有三根,也把这三根合成一根K线,每根合成的k线放在第一根的位置上。 |
-- 作者:FexTel -- 发布时间:2014/6/13 9:14:49 -- 1, 使用自定义周期划分自行对K线图进行时间切分 工具-市场与板块
2,自行绘制K线主图必须使用VBA编程,搜下历史帖。有相关范例,自行学习 |
-- 作者:zttzlh -- 发布时间:2014/6/13 9:19:07 -- 图表可以实现的吧,只不过我说的要求要用到未来函数,主要就是在未来几根存在与否要进行一个判断,不知道怎么判断。有没有高手指点下 |
-- 作者:zttzlh -- 发布时间:2014/6/13 9:20:17 -- 还有就是未来函数取不到值得话 能不能给个标志啊,直接图标上就没了,很坑爹啊 |
-- 作者:FexTel -- 发布时间:2014/6/13 9:24:38 -- 1,您这相当于重新对时间进行切分,属于重新定义K线 PEL编写的指标是基于K线图去做分析,即使编写出来也没完整定义的K线美观。所以建议使用VBA 如果您一定要取未来值,考虑下REFX函数 |
-- 作者:zttzlh -- 发布时间:2014/6/13 9:28:44 -- 我只需要把五个一分钟的K线 合并,用stickline函数放到第一根上,每5跟K线有一根合成K线,不需要美观 |
-- 作者:zttzlh -- 发布时间:2014/6/13 10:00:06 -- 基本实现,原来的思路,不满五根,画的K线一直在第一根上面,调整了下随着K线向后移动 input:offset(0,-10,10,1),t(5,5,60,5); nn:=barslast(date<>ref(date,1));//从当天第一根开始 n:mod(nn,t)+1; o5:if(n=1,open,ref(open,n-1)),NODRAW; h5:if(n=1,h,hhv(h,n)),NODRAW; l5:if(n=1,l,llv(l,n)),NODRAW; c5:if(n=1,c,c),NODRAW; if n=5 then begin kred:STICKLINE( c5>o5,c5+offset ,o5+offset, 10,1 ,COLORRED);//空心实体 kred1:STICKLINE( c5>o5,h5+offset ,max(c5,o5)+offset, 0,1 ,COLORRED);//上引线 kred2:STICKLINE( c5>o5,min(c5,o5)+offset ,l5+offset, 0,1 ,COLORRED);//下引线 kgreen:STICKLINE( c5<=o5,c5+offset ,o5+offset, 10,1 ,COLORGREEN);//实心实体 kgreen1:STICKLINE( c5<=o5,h5+offset ,max(c5,o5)+offset, 0,1 ,COLORGREEN); kgreen2:STICKLINE( c5<=o5,min(c5,o5)+offset ,l5+offset, 0,1 ,COLORGREEN); end //画最后几根 if n<5 and islastbar then begin akred:STICKLINE( c5>o5,c5+offset ,o5+offset, 10,1 ,COLORRED);//空心实体 akred1:STICKLINE( c5>o5,h5+offset ,max(c5,o5)+offset, 0,1 ,COLORRED);//上引线 akred2:STICKLINE( c5>o5,min(c5,o5)+offset ,l5+offset, 0,1 ,COLORRED);//下引线 akgreen:STICKLINE( c5<=o5,c5+offset ,o5+offset, 10,1 ,COLORGREEN);//实心实体 akgreen1:STICKLINE( c5<=o5,h5+offset ,max(c5,o5)+offset, 0,1 ,COLORGREEN); akgreen2:STICKLINE( c5<=o5,min(c5,o5)+offset ,l5+offset, 0,1 ,COLORGREEN); end |
-- 作者:zttzlh -- 发布时间:2014/6/13 10:01:04 -- 有没有高手看看不移动的话,怎么实现,K线放在第一根上面。。。。 |
-- 作者:FexTel -- 发布时间:2014/6/13 10:03:38 -- 1,采用PEL去绘制,中间空的部分必须让它透明。那么相当于每根K线之间都会存在间隔 |
-- 作者:zttzlh -- 发布时间:2014/6/13 10:07:59 -- 嗯 ,有间隔没关系的,就是把合成的线放到第一根上用到未来函数,未来函数在取不到值得情况下不好判断,不知道怎么解决这个问题... |