什麼是K線放大器回測模式

Premium帳戶持有者可以透過使用「K線放大器」在策略回測中獲得更現實的訂單成交結果。該工具利用intrabar檢查對每個K線內的價格波動進行更深入的分析,從而實現更精確的訂單成交。當選擇此模式時,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

表 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)

經紀商模擬器在#10381 K線上放置停損單,並在滿足stop = 157.0條件後立即在下一個K線上執行價格為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線放大器的選項:


請注意,此選項有一個限制:該策略可以從較低的時間週期請求不超過100,000根的K線。這可能適用於具有大量歷史數據的交易商品(其中圖表上的K線數 * 每個圖表K線的較低時間週期K線數 > 100000),圖表上的首次交易可能不受K線放大器的影響。從圖表末方開始,可能會受K線放大器影響的K線數可以粗略計算為:

last_bar_index - (100000 / ( 1 / Num of Lower Timeframe Bars per Chart Bar)

結果值將是一個粗估的近似值,因為較低時間週期K線的數量可能因一根K線而有所差異。