以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  [求助]序列计算模式下的ISLASTBAR是永远等于1的吗?  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=97049)

--  作者:du_zb
--  发布时间:2016/5/4 17:20:04
--  [求助]序列计算模式下的ISLASTBAR是永远等于1的吗?
如题
--  作者:jinzhe
--  发布时间:2016/5/4 17:24:22
--  
光标在最后一根k线上时才为1
--  作者:du_zb
--  发布时间:2016/5/4 17:25:40
--  
光标是指什么?能截个图吗
在什么情况下不是1,有例子吗?
[此贴子已经被作者于2016/5/4 17:26:11编辑过]

--  作者:jinzhe
--  发布时间:2016/5/4 17:27:51
--  

在k线图上双击左键,出来的十字光标就是

很明显,在非最后一根k线的情况,都不是1


--  作者:du_zb
--  发布时间:2016/5/4 17:30:50
--  
在序列计算的模式下,代码不是默认在最后一根K线运行的吗?
如果是在最后一根K线运行,那么ISLASTBAR就是1啊
[此贴子已经被作者于2016/5/4 17:31:50编辑过]

--  作者:jinzhe
--  发布时间:2016/5/4 17:32:50
--  
程序运行计算和数据本身的序列数值不是一回事,就好比close,本身就是有序列数值,在序列模式下是一个数组集,出来的结果不会是最后一根k线的值,而是一个线性的值
--  作者:du_zb
--  发布时间:2016/5/5 9:09:08
--  
我编了一段程序:
以下内容为程序代码:

1 A:0;
2 if islastbar() then
3     A:=close[1];

在逐K线计算模式下的运行结果是这样的

图片点击可在新窗口打开查看此主题相关图片如下:11.png
图片点击可在新窗口打开查看
而在序列计算模式下的结果是这样

图片点击可在新窗口打开查看此主题相关图片如下:12.png
图片点击可在新窗口打开查看

可以看到,在逐K线模式下只有在最后一根K线A才等于CLOSE[1],而在序列计算模式下在每一根K线A都等于CLOSE[1],所以可以推测在序列模式下ISLASTBAR一直等于1



--  作者:jinzhe
--  发布时间:2016/5/5 9:15:44
--  

这个测试只是说明了序列和逐k线模式下,序列变量数组的差异,这里的解释能说明:

http://www.weistock.com/bbs/dispbbs.asp?BoardID=10&ID=30380&replyID=&skin=1

 

 

 

测试islastbar在序列模式下在到底是什么样的,可以做简单的测试,不牵扯到其他问题

比如:

ss:islastbar;

你看看ss的值是多少?

[此贴子已经被作者于2016/5/5 9:15:51编辑过]

--  作者:du_zb
--  发布时间:2016/5/5 10:44:58
--  
islastbar()在序列模式下是一个序列变量,而if islastbar()是根据islastbar()的最后一个值来执行判断的,是这样吧?
--  作者:jinzhe
--  发布时间:2016/5/5 10:47:53
--  
你就记住这些序列变量函数不管序列模式还是逐k计算模式都是一样的,直接使用都是每根k线上都是不同的变化的值