Type/to search

Chiến lược tùy chỉnh thời gian bắt đầu backtest

Common strategy
Created: 2023-09-26 20:53:15
Last modified: 3 years ago
1
Follow
1802
Followers

Tổng quan

Mục đích của chiến lược này là cho phép người dùng tùy chỉnh thời gian bắt đầu backtest, từ đó đạt được backtest linh hoạt và cá nhân hóa hơn.

Nguyên lý chiến lược

Chiến lược này sử dụng hàm timetimestamp của Pine Script để thực hiện thời gian bắt đầu backtest tùy chỉnh.

Đầu tiên, nó cho phép người dùng nhập năm, tháng, ngày, giờ và phút bắt đầu backtest tùy chỉnh trong cài đặt. Sau đó, nó tạo một dấu thời gian từ các đầu vào này và lưu trữ trong biến startTime.

Trong điều kiện đánh giá của chiến lược, nó thêm một điều kiện startTime. Chiến lược chỉ khởi động khi thời gian hiện tại lớn hơn hoặc bằng startTime.

Ví dụ:

pine
longCondition = crossover(sma(close, 14), sma(close, 28)) if (longCondition and startTime) strategy.entry("My Long Entry Id", strategy.long)

Như vậy có thể thực hiện thời gian bắt đầu backtest tùy chỉnh. Người dùng có thể linh hoạt cấu hình thời gian bắt đầu backtest theo nhu cầu, thay vì chỉ giới hạn ở thời gian cố định.

Phân tích ưu điểm

Chiến lược này với thời gian bắt đầu backtest tùy chỉnh có các ưu điểm sau:

  1. Linh hoạt hơn: Người dùng có thể hoàn toàn tùy chỉnh thời gian bắt đầu backtest, không còn bị giới hạn ở một thời điểm cố định.
  2. Thực tế hơn: Có thể đặt thời gian bắt đầu backtest thành thời gian chiến lược thực sự chạy, làm cho backtest gần với thị trường thực hơn.
  3. Tiện lợi cho backtest dựa trên sự kiện: Có thể đặt thời gian bắt đầu dựa trên thời điểm xảy ra một sự kiện nào đó, để backtest cho sự kiện cụ thể.
  4. Dễ dàng điều chỉnh điều kiện: Có thể dễ dàng điều chỉnh điều kiện bắt đầu backtest, từ đó thực hiện backtest có mục tiêu cho các giai đoạn khác nhau.
  5. Có thể lặp lại và đáng tin cậy: Làm cho thời gian bắt đầu backtest được tham số hóa, có thể chạy lại để có kết quả backtest đáng tin cậy.

Phân tích rủi ro

Sử dụng thời gian bắt đầu backtest tùy chỉnh cũng tồn tại một số rủi ro:

  1. Kết quả backtest phụ thuộc vào thời gian bắt đầu: Các thời gian bắt đầu khác nhau có thể dẫn đến kết quả backtest rất khác nhau.
  2. Cần lựa chọn thời gian bắt đầu cẩn thận: Thời gian bắt đầu không hợp lý có thể gây biến dạng backtest, không phản ánh đúng thực tế.
  3. Tăng rủi ro khớp đường cong: Dễ dàng điều chỉnh thời gian bắt đầu để khớp dữ liệu lịch sử, gây ra rủi ro quá khớp.
  4. Giảm khả năng so sánh kết quả backtest: Kết quả backtest của chiến lược này khó so sánh với kết quả backtest với thời gian bắt đầu cố định.

Các giải pháp tương ứng:

  1. Tiến hành backtest nhiều lần, đánh giá ảnh hưởng của thay đổi thời gian bắt đầu lên kết quả.
  2. Chọn thời điểm xảy ra sự kiện quan trọng làm thời gian bắt đầu, giảm biến dạng backtest.
  3. Điều chỉnh thời gian bắt đầu một cách thận trọng, tránh quá khớp với dữ liệu lịch sử.
  4. Lưu backtest với thời gian bắt đầu cố định làm chuẩn, so sánh với backtest tùy chỉnh.

Hướng tối ưu hóa

Chiến lược thời gian bắt đầu backtest tùy chỉnh này còn có thể được tối ưu hóa từ các khía cạnh sau:

  1. Hỗ trợ tùy chỉnh thời gian bắt đầu và kết thúc, cho phép cấu hình linh hoạt cửa sổ thời gian backtest hoàn chỉnh.
  2. Hỗ trợ nhiều chế độ thời gian: ngày cụ thể, ngày tương đối, sự kiện, v.v., làm cho cấu hình thời gian backtest thông minh và tiện lợi hơn.
  3. Hỗ trợ giao diện cấu hình đồ họa, giúp thiết lập tham số thời gian trực quan hơn.
  4. Hỗ trợ cấu hình với các mức độ chi tiết thời gian khác nhau: năm, tháng, ngày, giờ, phút, giây, v.v.
  5. Ghi lại cấu hình thời gian backtest, giúp kết quả backtest có thể tái tạo, theo dõi và so sánh.
  6. Thêm kiểm tra cấu hình thời gian không phù hợp, tránh cấu hình thời gian không hợp lý ảnh hưởng chất lượng backtest.
  7. Cung cấp chức năng gắn thời gian bắt đầu, sao chép thời gian bắt đầu đồng bộ bằng một cú nhấp vào nhiều chiến lược.

Tổng kết

Chiến lược này thực hiện cấu hình thời gian bắt đầu backtest tùy chỉnh và linh hoạt, có thể giảm các hạn chế của backtest, làm cho nó gần với giao dịch thực tế hơn. Nhưng cũng cần cảnh giác với sự phụ thuộc của kết quả backtest vào thời gian bắt đầu, áp dụng các biện pháp như backtest nhiều lần, dựa trên sự kiện để giảm biến dạng backtest. Chiến lược này còn nhiều hướng tối ưu hóa, trong tương lai hy vọng sẽ đạt được cấu hình thời gian backtest thông minh và tiện lợi hơn.

Source
Pine
/*backtest
start: 2022-09-19 00:00:00
end: 2023-09-25 00:00:00
period: 2d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("C320up Strategy Tester Start Time", overlay = true)
// Copy and paste below into your strategy
// Strategy Tester Start Time
Strategy parameters
Strategy parameters
Start Year
Start Month
Start Day
Start Hour
Start Minute
Comment
All comments (0)
No data
No data
  • 1
Forums
PINE Language
Get the app
iPhone Download
© 2015 - ∞ INVENTOR PTE LTD (SG)