请问:
1、这个初始或默认数量和图形显示有何区别?
2、图形显示和内存驻留有何区别?
3、如果我在程序运行过程中需要调用高级别的指标,假设我在1分钟图上运行程序,需要调用日线的MACD,那么,是否需要将内存驻留设置的非常大才行?(否则,调用不出来日线的MACD的正确的值)
我的电脑内有本地完整的日线级别的数据。但在我打开图形后,加载了程序,查看运行时的变量时发现(在1分钟周期图上),所调用的日线的变量是###(比如,我在1分钟图上调用的日线MACD红柱的周期数),此时,我再用键盘上的向下镜头,使显示更多的K线数量后,此时再查看变量,该变量才有数据。
我想问一下:针对这个问题,我是需要把图形显示还是内存保留其中的哪一个的数值定得非常大才行?
公式比较复杂。
这样吧,举个稍极端的调用例子以说明我的问题:假设我的公式是运行在1分钟周期的K线图上,在此公式里,有个“周线MACD下穿零轴到目前的周期”的调用。此时,我是否需要将内存驻留设置的非常大才行?而图形显示的数值却无所谓?
按照您的定义:1内存保留是进行指标调用时调用数据长度最大数量。那么由于我需要调用周线的MACD,所以,这个内存保留的值需要设置的非常大才行吧?否则就会显示###,是这样么?
而2为K线图加载的公式默认使用K线数量,我理解的是假如将此值定为50,将内存保留设为1000,那么,公式虽然只是针对这50根K线进行。但公式在调用日线的MACD数值时,因为我已经将内存保留设置的非常大,所以,也不会存在调用不出的情况,是这样么?
”
是的。那么我是不是需要把公式里的比如:STKINDI(\'\',\'macd.macd1\',0,6)改为STKINDIEX(\'\',\'macd.macd1\',0,6,0,2000)即能避免这个问题?
或者:我不改动公式,我将图形显示设置为显示2000根也能解决这个问题?
不行,
stkindi函数在分钟级别上引用日线时,因为其函数特性时按时间对齐的原则,所以很多时候stkindi函数调取的日线时不足130天。
而stkindi函数在引用日线时参与计算的最小数据量为130根。如果想解决你的问题,必须用stkindiex函数固定引用的日线数据量。
对不起,还是没弄明白。
1、STKINDIEX(\'\',\'macd.macd1\',0,6,0,2000)这里的2000,是指的调用2000根1分钟的K线吧?而不是调用的日线的2000根K线吧?那也太大了。
2、我在程序测试过程中,当加载的K线数量不足时才会出现所调用的大周期的参数显示为###,如果加载的K线足够,那么此现象可消失。我最初以为只需要把图形显示或内存驻留这二者中的某一个或全部的设置数值改大即可解决这个问题,因为不知道怎么设置,才发贴请问的。想不到的是这问题反倒是越来越复杂了。