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

您可以使用“K线放大器”选项,在策略回测中获得更真实的订单成交情况。此工具使用intrabar检查,为您提供更细致的价格变动视图,从而实现更精准的订单成交。

启用“K线放大器”模式后,经纪商模拟器将仅使用历史K线的OHLC值 ,而不是假设价格如何变动。

“K线放大器”使用的intrabar周期会随着图周期动态调整。下表列出了用于逐步增加图表周期的intrabar周期。

图表时间周期,高于或等于(T >=)

使用的Intrabar时间周期

1S

1S

30S

5S

1

10S

5

30S

10

1

15

2

30

5

60

10

240

30

1D60
3D240
WD

以下是使用止损单而不使用“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
Java

经纪商模拟器在#10,381K线上设置止损单,并在下一个K线上,一旦止损价 = 157.0 的条件满足,立即执行价格为 157.0 的订单。经纪商模拟器估算,在K线内部,价格会从“开盘价”跌至“最低价”,再跌至“最高价”(触发入场),最后跌至“平仓”。经过几个K线(当前时间周期为 11 天)后,止损价 = 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线放大器”选项,请在策略的“设置/属性”窗口中切换相应的输入。

!注意:该策略无法请求超过 200,000 条较低时间周期的K线。

对于包含大量历史数据的商品(图表K线数量 × 每个图表K线的较低时间周期的K线数量 > 200,000),图表上的首笔交易可能不会受到K线放大器的影响。

从图表末尾开始,受K线放大器影响的K线数量可以使用以下公式粗略计算。

last_bar_index - (200000 / 每个图表K线的较低时间周期的K线数量)

由于较低时间周期K线的数量可能因K线而异,因此最终结果将是一个粗略的近似值。

另请参阅: