Chiến lược giao dịch hàng ngày
Tổng quan
Đây là một chiến lược giao dịch đa hướng (long/short) tùy chỉnh cho Bitcoin. Nó cho phép bạn backtest các lệnh mua hoặc bán dựa trên các ngày giao dịch khác nhau trong tuần. Giá có xu hướng di chuyển theo một hướng nhất định vào các ngày khác nhau trong tuần, chiến lược này cho phép bạn kiểm tra các ngày giao dịch khác nhau trong một khoảng thời gian nhất định để tận dụng điều này.
Hãy đảm bảo bạn sử dụng biểu đồ ngày khi xem hiệu suất và lịch sử giao dịch, để script hoạt động như mong đợi và bạn nhận được càng nhiều dữ liệu lịch sử từ Trading View càng tốt.
Nguyên lý chiến lược
Logic cốt lõi của chiến lược này là cho phép người dùng chọn cho mỗi ngày trong tuần: giao dịch long, giao dịch short, hoặc không giao dịch gì.
Đầu tiên, nó cho phép người dùng thiết lập phạm vi ngày backtest, bao gồm tháng bắt đầu, ngày, năm và tháng kết thúc, ngày, năm.
Sau đó, nó sử dụng một mảng timeframes để lưu trữ biểu diễn số của mỗi ngày trong tuần, từ 0 (Chủ nhật) đến 6 (Thứ bảy).
Một mảng khác timeframes_options được sử dụng để lưu trữ lựa chọn cho mỗi ngày: long, short, hoặc không giao dịch. Điều này được thiết lập thông qua một tùy chọn đầu vào.
Trong vòng lặp for, chiến lược kiểm tra xem ngày giao dịch hiện tại có khớp với một ngày nào đó trong mảng timeframes hay không. Nếu khớp và tùy chọn khác với ngày hôm trước, trước tiên nó sẽ đóng tất cả các vị thế đang mở.
Nếu tùy chọn không phải là "Không", nó sẽ mở vị thế theo hướng đã chọn (long hoặc short).
Bằng cách này, chiến lược có thể giao dịch long/short theo thiết lập hàng ngày trong phạm vi ngày đã đặt.
Phân tích ưu điểm
Ưu điểm chính của chiến lược này là cung cấp khả năng giao dịch long/short tùy chỉnh cao. Người dùng có thể tự do chọn hướng giao dịch cho mỗi ngày trong tuần.
Không giống như các chiến lược giao dịch cố định theo tuần, chiến lược này có thể điều chỉnh linh hoạt. Nếu kết quả vài ngày không như ý, có thể dễ dàng sửa đổi để chỉ giao dịch vào các ngày khác.
Phạm vi ngày backtest cũng rất linh hoạt, có thể kiểm tra bất kỳ khoảng thời gian nào do người dùng chỉ định để xem tổ hợp ngày nào hoạt động tốt nhất.
Logic giao dịch rất rõ ràng và đơn giản, dễ hiểu và dễ sửa đổi. Người dùng không cần lập trình vẫn có thể điều chỉnh tham số.
Chiến lược cũng tự động đóng các vị thế đang mở khi hướng giao dịch thay đổi hàng ngày, tránh rủi ro không cần thiết.
Phân tích rủi ro
Rủi ro chính của chiến lược này là lựa chọn giao dịch hàng ngày của người dùng có thể không phù hợp với mọi phạm vi ngày.
Ví dụ, giao dịch long vào các ngày trong tuần và short vào cuối tuần có thể hiệu quả trong một giai đoạn nào đó, nhưng có thể thất bại trong các giai đoạn khác.
Do đó, cần thận trọng kiểm tra các phạm vi ngày khác nhau, không dựa vào một kết quả backtest duy nhất. Việc điều chỉnh tham số phải kết hợp với tình hình thị trường cụ thể.
Một rủi ro khác là khi hướng giao dịch thay đổi hàng ngày, không thể kịp thời cắt lỗ và đóng vị thế. Điều này có thể dẫn đến thua lỗ lớn hơn. Nhưng chiến lược cố gắng giảm thiểu vấn đề này bằng cách tự động đóng vị thế.
Nhìn chung, chiến lược này phụ thuộc khá nhiều vào việc tối ưu hóa tham số, cần đủ thử nghiệm để tìm ra tổ hợp tham số phù hợp với các điều kiện thị trường khác nhau.
Hướng tối ưu hóa
Chiến lược này có thể được tối ưu hóa theo các hướng sau:
-
Khi hướng giao dịch thay đổi hàng ngày, thêm logic cắt lỗ và đặt trailing stop khi vị thế đang có lãi, giảm drawdown.
-
Thêm bộ lọc: chỉ phát tín hiệu khi giá phá vỡ đỉnh hoặc đáy của ngày hôm trước, tránh giao dịch lặp đi lặp lại khi thị trường không có xu hướng.
-
Giảm quy mô vị thế trong giai đoạn biến động cao, tăng quy mô khi biến động thấp, để rủi ro được kiểm soát.
-
Áp dụng machine learning vào việc chọn ngày giao dịch, dựa trên dữ liệu lịch sử để tính toán xác suất giao dịch mỗi ngày, tạo ra hướng giao dịch động.
-
Thêm logic xử lý các sự kiện bất thường, như tạm dừng giao dịch khi có sự kiện kinh tế lớn, tránh bị kẹt lệnh.
Tổng kết
Chiến lược này cung cấp khả năng giao dịch long/short linh hoạt cao thông qua việc lựa chọn hướng giao dịch hàng ngày. Người dùng có thể tự do kết hợp và kiểm tra để tìm ra tham số tối ưu. Tuy nhiên, chiến lược có yêu cầu tối ưu hóa cao, cần nhiều thử nghiệm để tìm ra thiết lập phù hợp với các thị trường khác nhau. Việc thêm các biện pháp tối ưu như cắt lỗ, bộ lọc, điều chỉnh động... có thể giảm rủi ro và tăng tính ổn định. Với điều kiện tối ưu hóa tham số cẩn thận, chiến lược này có thể trở thành một công cụ giao dịch hướng ngày hiệu quả.
/*backtest
start: 2022-09-19 00:00:00
end: 2023-09-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
//@version=4
// strategy("Day of Week Custom Buy/Sell Strategy", overlay=true, currency=currency.USD, default_qty_value=1.0,initial_capital=30000.00,default_qty_type=strategy.percent_of_equity)- 1
