
Ý tưởng cốt lõi của chiến lược này là mua cổ phiếu vào ngày đóng cửa và bán vào ngày mở cửa để tận dụng lợi nhuận từ giá tăng của cổ phiếu vào ngày mở cửa.
Chiến lược này dựa trên hai phán đoán chính:
Các nhà giao dịch trong ngày thường có xu hướng thực hiện các giao dịch mua vào thời điểm mở cửa, dẫn đến giá cổ phiếu tăng lên khi mở cửa.
Giá cổ phiếu khi đóng cửa tương đối phản ánh giá trị thực của cổ phiếu.
Cụ thể, chiến lược này đầu tiên đánh giá liệu giá đóng cửa của ngày có cao hơn trung bình di chuyển đơn giản 200 ngày không khi đóng cửa mỗi ngày (00: 00), nếu cao hơn trung bình, thì đóng cửa nhiều hơn; Nếu giá đóng cửa thấp hơn trung bình, thì đóng cửa.
Vào lúc mở cửa vào ngày hôm sau ((9:30), nếu bạn có nhiều vị thế vào ngày hôm trước, bạn sẽ đóng cửa vào lúc mở cửa; Nếu bạn có vị thế trống, bạn sẽ đóng cửa vào lúc mở cửa.
Tiếp theo, các nhà đầu tư có thể mua cổ phiếu ở mức giá thấp và bán cổ phiếu ở mức giá cao.
Chiến lược này có những lợi thế chính như sau:
Sử dụng tư duy quán tính của các nhà giao dịch trong ngày, đó là tính năng giá cổ phiếu tăng khi mở cửa, người bán cổ phiếu sẽ kiếm được lợi nhuận khi mở cửa.
Sử dụng trung bình di chuyển 200 ngày để đánh giá xu hướng giá, thuận lợi để nắm bắt xu hướng lớn để hoạt động.
Tần suất giao dịch thấp, chỉ có hai thời điểm mở và đóng cửa mỗi ngày để phán đoán và giao dịch, giảm chi phí giao dịch.
Đánh giá đầy đủ dữ liệu, sử dụng dữ liệu lịch sử để đánh giá tính hợp lý của các tham số quy tắc, tăng sự tự tin.
Hệ thống giao dịch được lập trình có hiệu quả cao, tránh ảnh hưởng cảm xúc của con người đến quyết định giao dịch.
Chiến lược này cũng có một số rủi ro:
Có khả năng giá mở sẽ đảo ngược, và nếu giá mở đảo ngược mạnh theo hướng ngược lại, thì sẽ có tổn thất.
Khả năng giá đóng cửa bị thao túng, nếu giá đóng cửa bị đẩy cao hoặc thấp có thể ảnh hưởng đến quyết định.
Việc đình chỉ có thể dẫn đến việc không thể mở lệnh thanh toán và gây ra tổn thất.
Các chỉ số có chi phí giao dịch cao không phù hợp với chiến lược có tần suất cao.
Thiết lập tham số không hợp lý có thể dẫn đến tần suất giao dịch quá cao hoặc hiệu quả kém.
Các giải pháp đối phó với rủi ro bao gồm:
Thiết lập điểm dừng để kiểm soát tổn thất tối đa.
Sử dụng các phương tiện như khối lượng giao dịch hoặc quyền mua lại để đánh giá giá trị mua bán.
Ưu tiên chọn các loại hình có tính thanh khoản tốt hơn.
Điều chỉnh các tham số trung bình di chuyển và thời gian mở vị trí để tăng hiệu quả chiến lược.
Chiến lược này có thể được tối ưu hóa bằng cách:
Cài đặt dừng lỗ hoặc dừng khi giá mở bị đảo ngược để tránh tiếp tục thua lỗ.
Sử dụng các chỉ số hoặc mô hình khác để đánh giá giá trị cổ phiếu trong khoảng cách hợp lý, tránh thiệt hại.
Xem xét rủi ro về tính thanh khoản của chỉ số, ưu tiên chọn chỉ số có tính thanh khoản tốt hơn.
Kiểm tra các tham số trung bình di chuyển khác nhau để tìm ra sự kết hợp tốt nhất.
Tối ưu hóa thời gian mở vị thế, xem xét mở trước hoặc trì hoãn một thời gian nhất định.
Các nhà đầu tư đã đưa ra một đánh giá hợp lý về giá đóng cửa, kết hợp với những tin tức quan trọng hiện tại.
Cân nhắc chi phí giao dịch và chọn mục tiêu có chi phí giao dịch thấp hơn.
Tích hợp mô hình đa yếu tố, xem xét đầy đủ các yếu tố ảnh hưởng.
Chiến lược này có lợi nhuận bằng cách mua ở mức giá thấp và bán ở mức giá cao mỗi ngày. Chiến lược này có một số lợi thế, nhưng cũng có một số rủi ro cần lưu ý. Có thể đạt được hiệu quả chiến lược tốt hơn bằng cách tiếp tục tối ưu hóa cài đặt tham số, phương pháp dừng lỗ, lựa chọn mục tiêu.
/*backtest
start: 2023-10-10 00:00:00
end: 2023-11-09 00:00:00
period: 1h
basePeriod: 15m
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/
// © Youngmoneyinvestments
//@version=5
strategy("End of Day Trading Strategy", overlay=true)
// Get the daily open, high, low, and close prices
daily_open = request.security(syminfo.tickerid, "D", open)
daily_close = request.security(syminfo.tickerid, "D", close)
// Calculate the 200 period SMA on daily close
sma200 = ta.sma(daily_close, 200)
// Define the entry and exit conditions
end_of_day = (hour == 20) and (minute == 0) // Assuming the end of the regular trading hours is 20:00
start_of_day = (hour == 9) and (minute == 30) // Assuming the start of the trading session is 09:30
long_condition = end_of_day and (daily_close > sma200)
short_condition = end_of_day and (daily_close < sma200)
// Execute the strategy logic
if (long_condition)
strategy.entry("Long", strategy.long)
if (short_condition)
strategy.entry("Short", strategy.short)
// Exit conditions
if (strategy.position_size > 0 and start_of_day) // If we are long, sell at the open of the session
strategy.close("Long")
if (strategy.position_size < 0 and start_of_day) // If we are short, buy at the open of the session
strategy.close("Short")
// Plot the SMA on the chart
plot(sma200, "200 SMA", color=color.blue)