目前TB里超级图表上有几种方式显示指定区域的数据:
在商品设置里
1.设定指定的样本数,如300,就显示300个bar
2.设定“xx天以来”,就显示最近xx天的所有bar,
3.设定起始和结束日期(后者留空就默认以当前日期作为结束点),就显示该时间段内的所有bar。
金字塔里,测评交易系统时,可以实现上述第3种方式:菜单"交易->程式化交易评测->2.入场规则->测试时间段"。
而菜单"工具->选项->维护->图形显示”可以实现上述第1种方式,但发现以下问题:
1.该设定是全局性的,即改动后影响所有的图表,而不是如TB般,只作用于指定的图表,灵活性不够。
2.设置了数值后,并没按要求显示,比如事先也已经下载好历史数据,如果设定了“图形显示0周期数据”,在60分钟图上可以显示所有已取到的数据;更改设定为“图形显示12周期数据”,应该就显示4月28、29、30三天的12根bar。然而,改设定之后,只显示了30号的4根bar。
在图表上只载入并显示指定时间段的的数据,还是很有意义的,比如查看一个指标的运算情况,而该指标里如果取了历史盈亏次数之类的函数,那么不限定时间段或取不准时间段时,这些历史统计函数的计算就失去了准确性和唯一性;也有很多时候我们需要显示的是历史上的某个区段,结束点并不是当前时点。如果这些都能让使用者自己便捷的选择,就更好了。
因此,建议是否参照TB的类似功能设计,再做一些改进?
显示了30号的4根bar。
这个原因主要是因为设置的周期只是针对1分和5分有效的,比如你设置的图形显示30个周期,对于1分和5分则是30个,但是60分周期就是只能有30个5分钟组成的60分钟周期。
明白了,谢谢。
目前的方式,如果需要定制显示前N天的数据,需要先求出目前时间周期上,N天是多少个bar,相当于1或5分钟周期里多少个bar,再去改系统的全局设定,操作上较繁琐,不如把TB的方便之处“拿来”一下?
我觉得你只要在公式里,对日期做一下判断处理即可。
比如在公式最开始位置:
IF DATA < **** THEN
EXIT;
这样处于非交易日期的公式自然不会计算