以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  跨周期引用今开盘数据时划的开盘线,在序列模式下是错误的!  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=3154)

--  作者:tjcker
--  发布时间:2010/10/8 12:53:45
--  跨周期引用今开盘数据时划的开盘线,在序列模式下是错误的!
跨周期引用今开盘数据时划的开盘线,在序列模式下是错误的!但在逐周期模式下是正确的。V1.995以下分模式的版本都出错,请予修正。

--  作者:董小球
--  发布时间:2010/10/8 13:25:21
--  
不如贴出代码来看看
--  作者:tjcker
--  发布时间:2010/10/8 22:54:13
--  

 

跨周期引用代码:

KPX:=STKINDI(\'\',\'SPJ.开盘线\',0,ZQ);  
DRAWSL(N1<>0,KPX,0,1,1),COLORFFFF;

 

跨周期引用今开盘数据时划的开盘线,在序列模式下是错误的(不是小错,是大错,更本就不是开盘线)!但在逐周期模式下是正确的。



--  作者:admin
--  发布时间:2010/10/8 23:03:55
--  
请给出一个完整可以运行的公式,谢谢
--  作者:tjcker
--  发布时间:2010/10/8 23:42:41
--  

版主,其他的代码不便公开,就是这一条调用跨周期开盘线的代码与其他代码合用,在序列模式下所划的开盘线位置严重错误!(如果用“逐周期模式”,则整个指标无法使用,有0值线。)

 

同样的这个指标代码,我以前用在飞狐下是正常的,而且所画指标线的起点无异常;但在金字塔下,除开盘线不正常外,所画指标线的起点有异常!起点的10-20个K线单位的指标线数值为0,之后才正常显示(开盘线除外)。很可能是“序列模式”的计算方式或方法有BUG,你可以对比一下飞狐的计算模式。


--  作者:admin
--  发布时间:2010/10/8 23:49:55
--  

由于你不能给出一个说明问题的公式,我们无法得知是你的公式系统问题还是我们的软件问题。

另外,逐周期模式和序列模式本身有区别,故有时引用公式时会有差别


--  作者:gxnnxxt
--  发布时间:2010/10/10 3:18:49
--  
换一种写法就行了,应该不是软件问题,写日周期的开盘价、昨结算、昨收盘,也不一定要用跨周期引用的写法的,多想点办法就行了。
--  作者:tjcker
--  发布时间:2010/10/11 1:59:36
--  

有的问题不是换一下写法就好解决问题的。

 

请版主测试一下加入“跨周期引用”在5分钟图里画日开盘线,就能看到错误了!

 

 


INPUT:N1(0.2,0.1,100),N2(1,0,1),ZQ(6,-1,20);

fc:=c;
fo:=o;
cc:0*c,linethick0;
oo:0*c,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+n1/100) then begin
    cc[i]:=cc[i-1]*(1+n1/100);
    oo[i]:=cc[i-1];
end;
  if i>1 and fc[i]<oo[i]/(1+n1/100) then begin
    oo[i]:=oo[i-1]/(1+n1/100);
    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);
STICKLINE(c1=oo,cc,oo,8,1)COLORRED;
STICKLINE(o1=cc,cc,oo,8,1)COLORCYAN;

 

{加入跨周期引用画日开盘线}
QSX:=STKINDI(\'\',\'KPX.开盘线\',0,ZQ);   //引用KPX指标的任意(ZQ)周期开盘线;
DRAWSL(N2<>0,QSX,0,2,1),COLORFF00FF;

 

/////////
说明:引用的KPX指标内容
开盘线:OPEN;

 

 

 

 

 

 

 

[此贴子已经被作者于2010-10-11 2:08:16编辑过]

--  作者:fly
--  发布时间:2010/10/11 8:58:55
--  

函数STKINDI的使用有问题.

STKINDI(\'\',\'KPX.开盘线\',0,ZQ);   第四个参数:周期类型.如果要引用的是日K线上的开盘价,可改为QSX:=STKINDI(\'\',\'KPX.开盘线\',0,6);  

 

关于跨周期引用的注意事项,请参看http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=332问题17


--  作者:tjcker
--  发布时间:2010/10/11 10:50:53
--  

"ZQ"是参数(6,-1,20),怎么你不按你改的亲自验证一下就下结论说没有错误呢?不信你改为6试试?