以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  程序启动时框架图形加载K线数量的问题  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=171854)

--  作者:c100010231
--  发布时间:2019/8/30 9:07:44
--  程序启动时框架图形加载K线数量的问题

 


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

每次程序启动时我设置的默认打开是某框架,该框架共四个窗口,分别显示4个不同的品种。

请问:如上图,如果图形设置成图形显示K线数量为1000根时,那么是不是四个框架内的K线数量均为1000根,还是平均分配各显示250根?

我自己试验了下,结果如下:

一、如果同时选择了“退出时保存K线数量”,则

a,如果退出时,某窗口K线数量超过1000根,则重新启动时,该窗口K线数量被程序自动显示为1000根,其它窗口数量不变。

b,如果四个窗口K线数量均不足1000根时,则再次启动时,各窗口K线数量保持退出时的K线数量不变。
二、如果取消“退出时保存K线数量”,则

无论退出时,四个窗口各自的K线数量如何,程序再次重新启动时,各个窗口显示的K线数量均为500根(500*4=2000,大于了我所设置的1000根,怎么回事儿?)

 

以上问题对我非常重要:我在框架四个窗口中的某个窗口运行图表交易程序。昨天我发现走到某处,程序开了仓,但是,又走了几十根K线后,原本的开仓信号又消失了,这样的结果太可怕了。我研究了下,发现是程序又走了几十根以后,程序所需要调用的某个变量由于K线数量不够(这个变量在查看时显示是“##”)造成的。请问:如何避免这个问题?


--  作者:banzhuan
--  发布时间:2019/8/30 9:32:08
--  
1、图形显示K线数量指的是每个单独窗口K线图默认的K线显示数量,及K线图加载的公式默认使用K线数量,不会因为框架中有多个窗口而被平均分配;这里设置的数量仅对历史K线有效,对于当日的1分钟等周期的K线,其本质是当日临时数据,并未做收盘转化为K线,因此这里设置的数值是不包括当日数据。

2、加载K线数量不同是可能会导致信号发生变化,因为图表上的历史信号是根据加载的第一根K线开始计算,起始位置不同那信号也就可能不同

--  作者:c100010231
--  发布时间:2019/8/30 13:28:08
--  
那么为什么取消“退出时保存K线数量”,则

无论退出时,四个窗口原本的K线数量如何,程序再次重新启动时,各个窗口显示的K线数量均为500根(500*4=2000,大于了我所设置的1000根,怎么回事儿?)按您的说法,应该是每个窗口都显示是1000根才对呀?

还有,请问是不是无论是取消还是保存“退出时保存K线数量”这一选项,只要设置了图形显示数量为1000根,那么,在程序重启时,四个窗口在用加载的公式计算时都会调用1000根K线的数据来计算?


--  作者:banzhuan
--  发布时间:2019/8/30 14:28:14
--  
该功能勾选或不勾选,其实图表上加载的都是默认图形显示数量,策略都会以该数量计算运行; 

区别在于勾选的话,K线图没有完全显示在屏幕上,显示的是下图设置中的数量(以55根K线举例);

图片点击可在新窗口打开查看此主题相关图片如下:temp.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2019/8/30 14:49:19编辑过]

--  作者:c100010231
--  发布时间:2019/9/29 15:22:47
--  
版主,还有个与此相关的问题再在此提问一下:我在1分钟周期上运行程序,默认加载的K线数量为300根。在我的程序里需要调用高级别的指标,假设需要调用30分钟周期的至少是18根K线前的某个指标参数,例:mmm:=stkindi(\'\',\'macd.macd1\',0,4,-18);,18根30分钟的K线,就相当于1分钟的18*30=540根K线了。那么,程序在运行时当遇到这个调用时这个mmm是否能被有效调用呢?
--  作者:banzhuan
--  发布时间:2019/9/29 16:19:59
--  
首先历史30分钟周期的K线是由5分钟线生成的,需确保历史5分钟周期数据完整;其次当日的分笔周期也需要完整接受,并且在每日收盘后做收盘处理(将数据保存至本地)即可
--  作者:c100010231
--  发布时间:2019/9/30 9:10:27
--  
谢谢。
另一个问题:
同样的还是在1分钟周期图上运行图表程序,默认加载K线数量为300根。假设某次图表程序运行在当下时时需要调用250根K线前的某数值,因为有效,则图表程序正常运行,且开了仓。那么,当走势再走过了100分钟后,在100分钟前的那个开仓信号会消失么?(如果消失了,则图表程序会认为并没有开仓,也就自然没有平仓指令发出了。)

--  作者:c100010231
--  发布时间:2019/9/30 9:14:44
--  
干脆这样说比较明白:
在1分钟周期上运行图表程序,默认加载K线数量是300根。平仓指令只有唯一的一条是这样的:当开仓时间超过一年后就平仓。那么,在开完仓一年过后,这个曾经的开仓信号还会存在么?

--  作者:banzhuan
--  发布时间:2019/9/30 9:25:59
--  
是这样,K线默认加载的300根,这里的300是不包括当日数据的,也就是说这里的300根K线指的是历史K。那么过了100分钟后相当于增加了100根K,图表上实际显示的K线数量为400,所以之前的开仓信号并不会消失
--  作者:c100010231
--  发布时间:2019/9/30 9:46:24
--  
嗯,因为设置了金字塔每日重启,那么,在重启后(或者我最后形容的那种较狠的一年后再平仓的情形),此信号还会依然存在么?
之所以问这个问题就是因为我担心:假设它运行到当时当下开了仓,可过了很长一段时间以后,这个开仓信号又消失了,则程序认为并没有仓位存在,于是也就不会有什么平仓指令出现了。