什么是K线放大镜回测模式

Premium账户持有人可以通过使用K线放大镜选项在他们的策略回测中获得更真实的订单执行。该工具使用intrabar检查来更深入地了解K线内的价格变动,从而实现更精确的订单成交。选中后,K线放大镜模式将仅使用历史K线的 OHLC 值替换经纪商模拟器必须对价格变动做出的假设。

K线放大镜使用的intrabar时间周期随图表的时间周期动态调整。 此表列出了用于逐渐更高图表时间周期的intrabar时间周期:

图表时间周期,T

使用的Intrabar时间周期

1S < T < 30S

1S

30S <= T < 5

5S

5 <= T < 30

15S

30 <= T < 60

1

60 <= T < 240

5

240 <= T < D

15

D <= T < W

60

W <= T < 2W

120

T >= 2W

D

表 1. 使用的Intrabar时间周期 

下面是一个使用止损单而不使用K线放大镜选项的策略示例:

//@version=5
strategy("bar_magnifier_demo", overlay = true, use_bar_magnifier = false)if bar_index  == 10381    strategy.entry("Long", strategy.long, stop = 157.0)    strategy.exit("Exit", stop = 156.0)
Java

经纪商模拟器在 #10381 K线上放置止损单,并在满足stop = 157.0条件后立即在下一根K线上执行价格为157.0的订单。经纪商模拟器估计,在K线内部,价格从“收”到“低”,然后到“高”(触发入场),然后到“收”。 几根K线后(当前时间周期为11天),触发了以stop price = 156.0平仓的条件:

启用K线放大镜时(参数 use_bar_magnifier = true),退场和入场价格不变; 但是,该仓位的退场发生在入场发生的同一根K线内:

//@version=5
strategy("bar_magnifier_demo", overlay = true, use_bar_magnifier = true)if bar_index  == 10381    strategy.entry("Long", strategy.long, stop = 157.0)    strategy.exit("Exit", stop = 156.0)
Java

如果我们检查同一商品的较低时间周期图(60分钟图表,根据intrabar时间周期表)并找到对应于K线10382的时间周期,我们可以看到在每小时周期上,达到157.0并触发入场,价格跌破156.0,满足stop = 156.0条件: 

启用K线放大镜后,经纪商模拟器可以在回测期间从较短的时间周期内访问价格变化,使其行为更类似于在同一时间段内对策略进行前向测试时发生的情况。 

可以在策略的“设置/属性”窗口中切换相应的输入来切换K线放大镜选项: