什麼是K線放大器回測模式
您可以使用「K線放大鏡」選項,在策略回測中獲得更真實的訂單成交情況。此工具使用K線圖內檢查功能,為您提供更細緻的K線圖內價格變動視圖,從而實現更精準的訂單成交。
啟用後,K線放大鏡模式會使經紀商模擬器僅使用歷史K線的OHLC值,而不是假設價格如何變動。
K線放大鏡所使用的K線圖週期會根據圖表週期動態調整。下表列出了用於逐步增加圖表週期的長條圖週期。
以下是使用停損單而不使用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)//@version=5strategy("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)//@version=5strategy("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 / Num of Lower Timeframe Bars per Chart Bar)
計算出來的值僅為大致估算,因為每一根主圖K線所包含的下層時間週期K線數量可能會有所不同。
另請閱讀: