以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  [求助]1分钟周期无引用编制5分钟K线  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=7555)

--  作者:gz12345678
--  发布时间:2011/8/16 13:10:51
--  [求助]1分钟周期无引用编制5分钟K线
请教个问题:1分钟周期的K线,能否以求模函数帮助,以自开盘起每5分钟为一时间段,绘制每5分钟的K线?最后一个5分钟不绘,而改用1分钟,直到此5个1分钟走完。因全是用1分钟的周期,应有实现的可能,恳请哪位大侠帮助编制下,谢谢。
--  作者:fly
--  发布时间:2011/8/16 14:25:43
--  

参考此帖8楼,看看能不能用里面介绍的方法实现

http://www.weistock.com/bbs/dispbbs.asp?BoardID=4&ID=7365&skin=0

 


--  作者:gz12345678
--  发布时间:2011/8/16 14:36:24
--  
昨天已经看到此帖,但是还是不会啊,呵呵
--  作者:fly
--  发布时间:2011/8/16 16:50:03
--  

每五根K线的最后一根K线,就是满足您要的条件的K线,只是,前四根K线去不掉.

所以,最终还是没能完全实现,楼主说的----1分钟周期无引用编制5分钟K线

runmode:1;

 

nn:=barslast(date<>ref(date,1));
n:=mod(nn,5)+1;
o5:=if(n=1,open,ref(open,n-1));
h5:=hhv(h,n);
l5:=llv(l,n);
c5:=close;

 

kred:STICKLINE( c5>o5,c5 ,o5, 10,1 ,COLORRED);//空心实体
kred1:STICKLINE( c5>o5,h5 ,max(c5,o5), 0,1 ,COLORRED);//上引线
kred2:STICKLINE( c5>o5,min(c5,o5) ,l5, 0,1 ,COLORRED);//下引线

kgreen:STICKLINE( c5<=o5,c5 ,o5, 10,1 ,COLORGREEN);//实心实体
kgreen1:STICKLINE( c5<=o5,h5 ,max(c5,o5), 0,1 ,COLORGREEN);
kgreen2:STICKLINE( c5<=o5,min(c5,o5) ,l5, 0,1 ,COLORGREEN);


--  作者:gz12345678
--  发布时间:2011/8/16 17:00:58
--  
以下是引用fly在2011-8-16 16:50:03的发言:

每五根K线的最后一根K线,就是满足您要的条件的K线,只是,前四根K线去不掉.

所以,最终还是没能完全实现,楼主说的----1分钟周期无引用编制5分钟K线

runmode:1;

 

nn:=barslast(date<>ref(date,1));
n:=mod(nn,5)+1;
o5:=if(n=1,open,ref(open,n-1));
h5:=hhv(h,n);
l5:=llv(l,n);
c5:=close;

 

kred:STICKLINE( c5>o5,c5 ,o5, 10,1 ,COLORRED);//空心实体
kred1:STICKLINE( c5>o5,h5 ,max(c5,o5), 0,1 ,COLORRED);//上引线
kred2:STICKLINE( c5>o5,min(c5,o5) ,l5, 0,1 ,COLORRED);//下引线

kgreen:STICKLINE( c5<=o5,c5 ,o5, 10,1 ,COLORGREEN);//实心实体
kgreen1:STICKLINE( c5<=o5,h5 ,max(c5,o5), 0,1 ,COLORGREEN);
kgreen2:STICKLINE( c5<=o5,min(c5,o5) ,l5, 0,1 ,COLORGREEN);

谢谢谢谢,已经成功一部分了。就是啊,关键要去掉那四根K线,但又不能占着K线的位置留下空白。按我的设想是:最后一个5分钟K线不画,改用当时的1分钟K线,直到此5个1分钟K线走完。 因都是1分钟周期,觉得是能实现的,但编程能力确实不行。 金字塔有个什么0.1根K线的,不知道是什么东东,有点作用没?多多有劳了
--  作者:fly
--  发布时间:2011/8/17 9:45:16
--  

1分钟周期无引用编制5分钟K线

一天的最后一个5分钟K线画了,画的是当时的1分钟K线

所用品种:IF,若国内其它品种,请自己修改条件.

 

runmode:0;

nn:=barslast(date<>ref(date,1));

n:=mod(nn,5)+1;
o5:=if(n=1,open,ref(open,n-1));
h5:=hhv(h,n);
l5:=llv(l,n);
c5:=close;

 

if nn<265 and n=5 then
begin
kred:STICKLINE( c5>o5,c5 ,o5, 10,1 ,COLORRED);//空心实体
kred1:STICKLINE( c5>o5,h5 ,max(c5,o5), 0,1 ,COLORRED);//上引线
kred2:STICKLINE( c5>o5,min(c5,o5) ,l5, 0,1 ,COLORRED);//下引线

kgreen:STICKLINE( c5<=o5,c5 ,o5, 10,1 ,COLORGREEN);//实心实体
kgreen1:STICKLINE( c5<=o5,h5 ,max(c5,o5), 0,1 ,COLORGREEN);
kgreen2:STICKLINE( c5<=o5,min(c5,o5) ,l5, 0,1 ,COLORGREEN);
end

 

//若最后一个5分钟不画,那么以下内容均删除,就可实现.

if nn>=265 and nn<=269 then
begin
kre:STICKLINE( c>o,c ,o, 10,1 ,colorred);//空心实体
kre1:STICKLINE( c>o,h ,max(c,o), 0,1 ,colorred);//上引线
kre2:STICKLINE( c>o,min(c,o) ,l, 0,1 ,colorred);//下引线

kgree:STICKLINE( c<=o,c ,o, 10,1 ),colorgreen;//实心实体
kgree1:STICKLINE( c<=o,h ,max(c,o), 0,1 ,colorgreen);
kgree2:STICKLINE( c<=o,min(c,o) ,l, 0,1 ,colorgreen);
end


--  作者:gz12345678
--  发布时间:2011/8/17 18:53:33
--  
谢谢谢谢! 我把它作了下修改,最后的5个1分钟也能显示出来。但前面的5分钟之间的空白太大,不知有什么办法能做到标准K线间的那种间距?再次请教了!-------- runmode:0; nn:=barslast(date<>ref(date,1)); n:=mod(nn,5)+1; o5:=if(n=1,open,ref(open,n-1)); h5:=hhv(h,n); l5:=llv(l,n); c5:=close; ddd:=backset(islastbar,5); if ddd=1 then begin kre:STICKLINE( c>o,c ,o, 10,1 ,colorred);//空心实体 kre1:STICKLINE( c>o,h ,max(c,o), 0,1 ,colorred);//上引线 kre2:STICKLINE( c>o,min(c,o) ,l, 0,1 ,colorred);//下引线 kgree:STICKLINE( c<=o,c ,o, 10,1 ),colorgreen;//实心实体 kgree1:STICKLINE( c<=o,h ,max(c,o), 0,1 ,colorgreen); kgree2:STICKLINE( c<=o,min(c,o) ,l, 0,1 ,colorgreen); end if ddd=0 and n=5 then begin kred:STICKLINE( c5>o5,c5 ,o5, 8,0 ,COLORRED);//空心实体 kred1:STICKLINE( c5>o5,h5 ,max(c5,o5), 0,1 ,COLORRED);//上引线 kred2:STICKLINE( c5>o5,min(c5,o5) ,l5, 0,1 ,COLORRED);//下引线 kgreen:STICKLINE( c5<=o5,c5 ,o5, 8,0 ,COLORGREEN);//实心实体 kgreen1:STICKLINE( c5<=o5,h5 ,max(c5,o5), 0,1 ,COLORGREEN); kgreen2:STICKLINE( c5<=o5,min(c5,o5) ,l5, 0,1 ,COLORGREEN); end
[此贴子已经被作者于2011-8-17 18:54:48编辑过]

--  作者:gz12345678
--  发布时间:2011/8/18 11:52:30
--  
大侠???呵呵
--  作者:王锋
--  发布时间:2011/8/18 12:07:03
--  

请用IE浏览器重新编辑你的公式


--  作者:gz12345678
--  发布时间:2011/8/18 12:28:27
--  
以下是引用王锋在2011-8-18 12:07:03的发言:

请用IE浏览器重新编辑你的公式

runmode:0;

nn:=barslast(date<>ref(date,1));

n:=mod(nn,5)+1;

o5:=if(n=1,open,ref(open,n-1));

h5:=hhv(h,n);

l5:=llv(l,n);

c5:=close;

ddd:=backset(islastbar,5);

if ddd=1 then begin

kre:STICKLINE( c>o,c ,o, 10,1 ,colorred);//空心实体

kre1:STICKLINE( c>o,h ,max(c,o), 0,1 ,colorred);//上引线

kre2:STICKLINE( c>o,min(c,o) ,l, 0,1 ,colorred);//下引线

kgree:STICKLINE( c<=o,c ,o, 10,1 ),colorgreen;//实心实体

kgree1:STICKLINE( c<=o,h ,max(c,o), 0,1 ,colorgreen);

kgree2:STICKLINE( c<=o,min(c,o) ,l, 0,1 ,colorgreen);

end

if ddd=0 and n=5 then begin

kred:STICKLINE( c5>o5,c5 ,o5, 8,0 ,COLORRED);//空心实体

kred1:STICKLINE( c5>o5,h5 ,max(c5,o5), 0,1 ,COLORRED);//上引线

kred2:STICKLINE( c5>o5,min(c5,o5) ,l5, 0,1 ,COLORRED);//下引线

kgreen:STICKLINE( c5<=o5,c5 ,o5, 8,0 ,COLORGREEN);//实心实体

kgreen1:STICKLINE( c5<=o5,h5 ,max(c5,o5), 0,1 ,COLORGREEN);

kgreen2:STICKLINE( c5<=o5,min(c5,o5) ,l5, 0,1 ,COLORGREEN);

end

[此贴子已经被作者于2011-8-18 12:30:22编辑过]