以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  [建议]取前一根K线variable值的逻辑不太符合正常的思维模式吧?  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=52583)

--  作者:z7c9
--  发布时间:2013/5/29 16:40:20
--  [建议]取前一根K线variable值的逻辑不太符合正常的思维模式吧?

金字塔的代码:

runmode:0;

variable:a=0;

msgout(1,numtostr(barpos,0)+\':前根K线的a值:\'+numtostr(ref(a,1),0));

a:=a+1;

msgout(1,numtostr(barpos,0)+\':当根K线的a值:\'+numtostr(a,0));

 

TB的代码:

 

Vars
NumericSeries a;
begin
Commentary(Text(currentbar)+":前根K线的a值"+Text(a[1]));
a=a+1;
Commentary(Text(currentbar)+":当根K线的a值"+Text(a));
end

 

取前一根K线上的序列变量的值,金字塔的逻辑是取参与运算的值,TB的逻辑是取参与运算的值

 

金字塔的逻辑不太符合正常的逻辑思维吧?

[此贴子已经被作者于2013-5-29 16:41:41编辑过]

--  作者:z7c9
--  发布时间:2013/5/29 16:42:42
--  
http://www.weistock.com/bbs/dispbbs.asp?BoardID=4&ID=52545&replyID=&skin=1
--  作者:王锋
--  发布时间:2013/5/29 16:45:26
--  

是你自己的逻辑思维出了问题吧,你把取之前的结果放在前面,当然是取前面未计算的结果

 

runmode:0;

variable:a=0;

msgout(1,numtostr(barpos,0)+\':前根K线的a值:\'+numtostr(ref(a,1),0));

a:=a+1;

msgout(1,numtostr(barpos,0)+\':当根K线的a值:\'+numtostr(a,0));

红色的代码部分,在REF将取值结果压栈时,A+1是未经过计算的


--  作者:jinzhe
--  发布时间:2013/5/29 16:57:44
--  

程序从上到下计算,在第一个msg的地方,a还是没有自加,输出的是没有自加的而且还是ref的 a ,第二个msg才是a自加之后的值

比如a是2,那么第一个msg输出的是ref a,也就是1,而第二个msg输出的是自加后的a,也就是2+1=3


--  作者:z7c9
--  发布时间:2013/5/29 17:11:51
--  
以下是引用王锋在2013-5-29 16:45:26的发言:

是你自己的逻辑思维出了问题吧,你把取之前的结果放在前面,当然是取前面未计算的结果

 

runmode:0;

variable:a=0;

msgout(1,numtostr(barpos,0)+\':前根K线的a值:\'+numtostr(ref(a,1),0));

a:=a+1;

msgout(1,numtostr(barpos,0)+\':当根K线的a值:\'+numtostr(a,0));

红色的代码部分,在REF将取值结果压栈时,A+1是未经过计算的

 

ref(a,1)是取前一根K线的a,和当前K线的a运算有啥关系?

 

 


--  作者:z7c9
--  发布时间:2013/5/29 17:13:14
--  
以下是引用jinzhe在2013-5-29 16:57:44的发言:

程序从上到下计算,在第一个msg的地方,a还是没有自加,输出的是没有自加的而且还是ref的 a ,第二个msg才是a自加之后的值

比如a是2,那么第一个msg输出的是ref a,也就是1,而第二个msg输出的是自加后的a,也就是2+1=3

 

你还陷在1根K线的思路里呀?

 

现在讨论的是2根K线的问题。


--  作者:z7c9
--  发布时间:2013/5/29 17:16:15
--  

在第2根K线上 a=2

 

在第3根K线上 ref(a,1)=1

 

这也合理?


--  作者:jinzhe
--  发布时间:2013/5/29 17:17:02
--  

ref a,1取得是上一根k线a的值,这么说对吗?

当前k线a是2,根据a:=a+1;那么前一根k线a的值是1,对吗?

在当根k线a自加1之后,a就是3了,对吗?


--  作者:jinzhe
--  发布时间:2013/5/29 17:20:09
--  
你输出的是这里的a1和a2,并没有输出aa
图片点击可在新窗口打开查看此主题相关图片如下:6.png
图片点击可在新窗口打开查看

--  作者:z7c9
--  发布时间:2013/5/29 17:22:36
--  
以下是引用jinzhe在2013-5-29 17:17:02的发言:

ref a,1取得是上一根k线a的值,这么说对吗?

当前k线a是2,根据a:=a+1;那么前一根k线a的值是1,对吗?

在当根k线a自加1之后,a就是3了,对吗?

你说的和我说的完全不是一根问题。