以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://www.weistock.com/bbs/list.asp?boardid=4)
----  如何不用VBA实现等价k线  (http://www.weistock.com/bbs/dispbbs.asp?boardid=4&id=100624)

--  作者:leelatan
--  发布时间:2016/7/10 22:24:35
--  如何不用VBA实现等价k线
等价k线的实现,之前看到的帖子似乎都要用到vba。

如何在普通的图表上显示等价k线?终于找到一段代码,可以在金字塔副图正常显示。

请版主看下,这样实现出来的等价K线是否准确。有没有未来数据?


INPUT:N(5,1,100);
fc:=c;fo:=o;cc:0*c,PRECISION4,LINETHICK0;oo:0*c,PRECISION4,LINETHICK0;t1:=0*c;t2:=0*c;

for i=1 to datacount do begin
  if i=1 and fc[i]>fo[i] then
  cc[i]:=fc[i];
  oo[i]:=fc[i];
  if i=1 and fc[i]<fo[i] then
  cc[i]:=fc[i];
  oo[i]:=fc[i];
  if i>1 then
  cc[i]:=cc[i-1];
  oo[i]:=oo[i-1];
  if i>1 and fc[i]>cc[i]*(1+n/1000) then begin
  cc[i]:=cc[i-1]*(1+n/1000);
  oo[i]:=cc[i-1];
end;
  if i>1 and fc[i]<oo[i]/(1+n/1000) then begin
  oo[i]:=oo[i-1]/(1+n/1000);
  cc[i]:=oo[i-1];
end;
  if oo[i]=oo[i-1] then
    t1[i]:=t1[i-1]+1;
  if cc[i]=cc[i-1] then
    t2[i]:=t2[i-1]+1;
end;
o1:=ref(oo,t1+1);
c1:=ref(cc,t2+1);
格子点数:abs(cc-oo),PRECISION4,linethick0;
STICKLINE(c1=oo,ref(cc,1),ref(oo,1),1,1)COLORRED;
STICKLINE(c1=oo,cc,oo,8,1)COLORRED;
STICKLINE(o1=cc,ref(cc,1),ref(oo,1),1,1)COLORCYAN;
STICKLINE(o1=cc,cc,oo,8,1)COLORCYAN;
[此贴子已经被作者于2016-7-10 22:26:13编辑过]

--  作者:jinzhe
--  发布时间:2016/7/11 9:48:59
--  
这里设置的价差是多少?
--  作者:leelatan
--  发布时间:2016/7/11 10:28:06
--  
就是那个参数n,5代表千分之5。

不过感觉这个写法好像有未来数据,尤其在有巨大跳空缺口的时候。

麻烦帮测试一下?



--  作者:jinzhe
--  发布时间:2016/7/11 10:34:31
--  
同样是5价差的等价k线,效果差很多,用户还是取用vba实现吧
图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

--  作者:leelatan
--  发布时间:2016/7/11 10:49:27
--  
用vba实现的等价k线主图上,可以做程序化交易吗
--  作者:jinzhe
--  发布时间:2016/7/11 11:02:53
--  
不行,等价图不能用来做交易