以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://www.weistock.com/bbs/list.asp?boardid=2)
----  请问K线显示数量的区别及设置  (http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=166020)

--  作者:c100010231
--  发布时间:2018/10/23 9:04:26
--  请问K线显示数量的区别及设置

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

图片点击可在新窗口打开查看此主题相关图片如下:无标题1.gif
图片点击可在新窗口打开查看
如图,请问:选项-视图-初始或默认K线数量
--  作者:c100010231
--  发布时间:2018/10/23 9:07:10
--  

请问:

1、这个初始或默认数量和图形显示有何区别?

2、图形显示和内存驻留有何区别?

3、如果我在程序运行过程中需要调用高级别的指标,假设我在1分钟图上运行程序,需要调用日线的MACD,那么,是否需要将内存驻留设置的非常大才行?(否则,调用不出来日线的MACD的正确的值)


--  作者:banzhuan
--  发布时间:2018/10/23 9:18:43
--  
1、内存保留:主要用于非图形显示,例如后台预警,指标调用等。及进行指标调用时调用数据长度最大数量
2、图形显示:打开K线图默认的K线显示数量,及K线图加载的公式默认使用K线数量。这里设置的数值仅对历史K线有效,对于当日的1分钟等周期的K线,其本质是当日临时数据,并未做收盘转化为K线,因此这里设置的数值是不包括当日数据的
3、初始或默认K线数量:初始K线图中显示的K线数量。初始化K线数量=可见的K线数量+主图末端空余的周期数
4、本地有完整的日线级别的数据即可,macd内存加载500根K线足够了,不用非常大

--  作者:c100010231
--  发布时间:2018/10/23 9:33:45
--  

我的电脑内有本地完整的日线级别的数据。但在我打开图形后,加载了程序,查看运行时的变量时发现(在1分钟周期图上),所调用的日线的变量是###(比如,我在1分钟图上调用的日线MACD红柱的周期数),此时,我再用键盘上的向下镜头,使显示更多的K线数量后,此时再查看变量,该变量才有数据。

我想问一下:针对这个问题,我是需要把图形显示还是内存保留其中的哪一个的数值定得非常大才行?


--  作者:banzhuan
--  发布时间:2018/10/23 9:40:59
--  
说下您调用的公式是如何写的,红柱周期是怎么统计的,是不是统计的周期数大于内存保留的数量了呢?
--  作者:c100010231
--  发布时间:2018/10/23 9:48:31
--  

公式比较复杂。

这样吧,举个稍极端的调用例子以说明我的问题:假设我的公式是运行在1分钟周期的K线图上,在此公式里,有个“周线MACD下穿零轴到目前的周期”的调用。此时,我是否需要将内存驻留设置的非常大才行?而图形显示的数值却无所谓?

 

 

按照您的定义:1内存保留是进行指标调用时调用数据长度最大数量。那么由于我需要调用周线的MACD,所以,这个内存保留的值需要设置的非常大才行吧?否则就会显示###,是这样么?

而2为K线图加载的公式默认使用K线数量,我理解的是假如将此值定为50,将内存保留设为1000,那么,公式虽然只是针对这50根K线进行。但公式在调用日线的MACD数值时,因为我已经将内存保留设置的非常大,所以,也不会存在调用不出的情况,是这样么?


--  作者:banzhuan
--  发布时间:2018/10/23 10:17:29
--  
您是用STKINDI引用的吗 ? 建议您用STKINDIEX指定K线数量引用就行了。比如 tt2 : STKINDIEX(\'\',\'macd.macd1\',0,6,0,2000);//指定引用最近2000根macd1的值
[此贴子已经被作者于2018/10/23 11:16:08编辑过]

--  作者:c100010231
--  发布时间:2018/10/23 10:26:11
--  
您是用STKINDI引用的吗 ? 建议您用STKINDIEX指定K线数量引用就行了。比如 tt2 : STKINDIEX(\'\',\'macd.macd1\',0,6,0,2000);//指定引用最近2000根macd1的值
因为STKINDI默认引用的K线数量是130根,只有加载的K线数量大于130才会计算增加K线的量,这边修改内存保留数量也是没用的

是的。那么我是不是需要把公式里的比如:STKINDI(\'\',\'macd.macd1\',0,6)改为STKINDIEX(\'\',\'macd.macd1\',0,6,0,2000)即能避免这个问题?

或者:我不改动公式,我将图形显示设置为显示2000根也能解决这个问题?

[此贴子已经被作者于2018/10/23 10:27:10编辑过]

--  作者:wenarm
--  发布时间:2018/10/23 10:36:44
--  

不行,

stkindi函数在分钟级别上引用日线时,因为其函数特性时按时间对齐的原则,所以很多时候stkindi函数调取的日线时不足130天。

而stkindi函数在引用日线时参与计算的最小数据量为130根。如果想解决你的问题,必须用stkindiex函数固定引用的日线数据量。

 


--  作者:c100010231
--  发布时间:2018/10/23 10:51:33
--  

 

对不起,还是没弄明白。

1、STKINDIEX(\'\',\'macd.macd1\',0,6,0,2000)这里的2000,是指的调用2000根1分钟的K线吧?而不是调用的日线的2000根K线吧?那也太大了。

2、我在程序测试过程中,当加载的K线数量不足时才会出现所调用的大周期的参数显示为###,如果加载的K线足够,那么此现象可消失。我最初以为只需要把图形显示或内存驻留这二者中的某一个或全部的设置数值改大即可解决这个问题,因为不知道怎么设置,才发贴请问的。想不到的是这问题反倒是越来越复杂了。图片点击可在新窗口打开查看