策略评测类问题:
问:评测中的"选择插值"是什么意思?
答:可以理解为:模拟当天行情的方式。
选择开盘价或收盘价插值时,当天行情的价格只有一个,评测系统只能依据这个价格进行计算,评测结果一般与实战情况有相当差距,但评测所需要的时间较短。
选择1分钟插值时,评测系统会以当天1分钟数据的连续价格来计算信号价格,评测结果与实战情况较为接近,但由于计算数据增多,所需要的评测时间会较长。
选择分笔插值时,评测系统会以当天分笔数据的连续价格来计算信号价格,评测结果与实战情况相差无几,是评测中的最高精度级别。但评测所需时间比以上两种方式较长。
目前这一功能只有我们金魔方能提供。
问:评测中的"时段内只取最近n根K线"是什么意思?
答:选中这个设置参数后,系统只计算您所设置的时间段内的最后N根k线。
如您在“选择数据时段”中的设置为:2010/1/1--2011/8/1,再选择“时段内只取最近200根k线”,那么系统就会只计算在2011/8/1之前的最后200根k线数据,其他数据则不会计算。
问:逐行逐根计算是什么意思?
答:通俗理解为:
逐行计算:不对计算结果做保存,当有新数据来时,每次需要计算所有数据。
逐根计算:对每次的计算结果都做保存,当有新数据来时,只需计算最新数据。
优缺点:
1、 逐行计算在第一次计算中具有优势。因为它只需要计算一次;而逐根计算在第一次计算时,需要对所有K线的数据进行计算、保存,所以第一次使用速度较逐行慢。特别是体现在,没有接收新数据的状态下,逐行计算的方式要比逐根计算的方式感觉快。
2、在实时行情下,由于逐行需要,每次计算所有数据。而逐根只需要计算最新的数据,所以逐根计算的速度,要大大快过逐行计算,特别是当历史数据较多、行情刷新速度较快时,逐根计算的优势更为明显。
3、逐行运算是对序列的计算,可以比较灵活地输出和修改指标形态;逐根运算是单值的运算,适合分支和函数调用的交易逻辑。
适用范围:
1、一般技术指标比较适用逐行模式。
2、交易策略指标比较适合逐根模式。
3、在策略评测中使用逐根模式计算,能减少评测所需的时间,提高评测的仿真度。
更深入的理解:
逐行执行:对整个K线序列逐行地执行语句
逐根执行:对K线序列逐根地执行整个公式
假设当前有100根K线,公式有2行计算指标值1和指标值2的语句
MA1:MA(C,5);
MA2:MA(C,10);
逐行执行:
1.执行第1行语句,计算这100根K线的MA1
2.执行第2行语句,计算这100根K线的MA2
逐根执行:
1.对第1根K线,执行整个公式,计算第1根K线的MA1和MA2
2.对第2根K线,执行整个公式,计算第2根K线的MA1和MA2
...
100.对第100根K线,执行整个公式,计算第100根K线的MA1和MA2
继续,当有新行情生成第101根K线时
逐行执行:
3.执行第1行语句,计算全部101根K线的MA1
4.执行第2行语句,计算全部101根K线的MA2
逐根执行:
101.对第101根K线,执行整个公式,计算第101根K线的MA1和MA2
智能交易公式默认为逐根执行,为了能够对交易进行各种控制
技术指标类公式默认为逐行执行,为了兼容国内的主流公式
逐根执行是更灵活的执行方式,它能实现逐行执行做不到的功能
对技术指标类公式,可以用编译开关#RunMode设置执行模式
#RunMode RUN_BY_BAR //逐根执行
#RunMode RUN_BY_SERIES //逐行执行