Chế độ Bar Magnifier backtesting là gì

Chủ tài khoản Premium có thể nhận được đơn đặt lệnh thực tế hơn trong các thử nghiệm chiến lược của họ bằng cách sử dụng tùy chọn The Bar Magnifier. Công cụ này sử dụng kiểm tra intrabar để có được thông tin chi tiết hơn về biến động giá trong một thanh, cho phép điền đơn đặt lệnh chính xác hơn. Khi được chọn, chế độ Bar Magnifier thay thế các giả định mà trình giả lập nhà môi giới phải đưa ra về biến động giá chỉ với các giá trị OHLC cho các thanh lịch sử.

Khung thời gian intrabar được sử dụng với Bar Magnifier sẽ tự động điều chỉnh theo khung thời gian của biểu đồ. Bảng dưới đây liệt kê khung thời gian intrabar được sử dụng cho các khung thời gian biểu đồ từ thấp đến cao:

Khung thời gian biểu đồ, T

Khung thời gian Intrabar được sử dụng

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

Bảng 1. Các khung thời gian Intrabar được sử dụng

Dưới đây là ví dụ về chiến lược sử dụng lệnh dừng mà không sử dụng tùy chọn Bar Magnifier:

//@version=5strategy("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

Trình giả lập nhà môi giới đặt một lệnh dừng trên thanh số 10381 và thực hiện một lệnh với giá 157,0 trên thanh tiếp theo ngay sau khi điều kiện dừng = 157,0 được đáp ứng. Trình mô phỏng nhà môi giới ước tính rằng bên trong chính thanh, giá đi từ “mở” đến “thấp”, sau đó đến “cao” (kích hoạt mục nhập), sau đó đến “đóng”. Sau một vài thanh (11 ngày đối với khung thời gian hiện tại), điều kiện để thoát khỏi vị thế với giá dừng = 156.0 được kích hoạt:

When the Bar magnifier is enabled (parameter use_bar_magnifier = true), exit and entry prices are unchanged; however, the exit from the position occurs inside the same bar in which the entry happened:

Khi Bar magnifier được bật (tham số use_bar_magnifier = true) , giá xuất và giá nhập không thay đổi; tuy nhiên, việc thoát khỏi vị thế xuất hiện bên trong cùng một thanh mà ở đó có mục:

//@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

Nếu chúng ta kiểm tra biểu đồ khung thời gian thấp hơn cho cùng một mã (biểu đồ 60 phút, theo bảng khung thời gian intrabar) và tìm phạm vi thời gian tương ứng với thanh 10382, chúng ta có thể thấy rằng trên khung thời gian hàng giờ, sau khi đạt đến 157,0 và kích hoạt mục nhập, giá giảm xuống dưới 156,0, thỏa mãn điều kiện dừng = 156,0:

With Bar Magnifier on, the broker emulator gets access to price changes from lower timeframes during backtesting, making its behavior more similar to what would happen during forward testing the strategy for the same time period.

The Bar magnifier option can be switched by toggling corresponding input in strategy’s “Settings/Properties” window:

Khi bật Bar Magnifier, trình giả lập nhà môi giới có quyền truy cập vào các thay đổi giá từ các khung thời gian thấp hơn trong quá trình sao lưu, làm cho hành vi của nó giống với những gì sẽ xảy ra trong quá trình thử nghiệm chiến lược trong cùng một khoảng thời gian.

Tùy chọn Bar magnifier có thể được chuyển đổi bằng cách chuyển đổi đầu vào tương ứng trong cửa sổ “Cài đặt/Thuộc tính” của chiến lược:

Lưu ý rằng tùy chọn này có một giới hạn: chiến lược có thể yêu cầu không quá 100.000 thanh từ khung thời gian thấp hơn. Điều này có thể dành cho các biểu tượng có nhiều dữ liệu lịch sử (trong đó Số lượng thanh trên biểu đồ * Số lượng thanh có khung thời gian thấp hơn trên thanh biểu đồ> 100000), các giao dịch đầu tiên trên biểu đồ có thể không bị ảnh hưởng bởi kính lúp thanh. Số lượng thanh, bắt đầu từ cuối biểu đồ, có thể bị ảnh hưởng bởi Kính lúp thanh có thể được tính toán gần như:

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

Giá trị kết quả sẽ là một giá trị gần đúng, vì số lượng thanh khung thời gian thấp hơn có thể khác nhau từ thanh này sang thanh khác.