Chiến lược hỗ trợ và kháng cự kiểm tra ngược Momentum Breakout


Ngày tạo: 2024-02-22 16:07:14 sửa đổi lần cuối: 2024-02-22 16:07:14
sao chép: 0 Số nhấp chuột: 619
1
tập trung vào
1617
Người theo dõi

Chiến lược hỗ trợ và kháng cự kiểm tra ngược Momentum Breakout

Tổng quan

Chiến lược này chủ yếu sử dụng giá cao nhất, giá thấp nhất và giá đóng cửa của ngày giao dịch trước đó làm mức hỗ trợ và kháng cự trong ngày, làm nhiều hơn khi phá vỡ mức kháng cự, làm trống khi kiểm tra lại mức hỗ trợ, thuộc về chiến lược phá vỡ điển hình.

Nguyên tắc chiến lược

Mã đầu tiên định nghĩa một hàm tính toán mức kháng cự hỗ trợ CalculateSupportResistance, hàm này lấy giá cao nhất, giá thấp nhất và giá đóng cửa của ngày giao dịch trước để làm mức kháng cự hỗ trợ trong ngày.

Sau đó, gọi hàm này trong logic chính để lấy ba giá trị và hiển thị trên bản đồ.

Trong logic đếm ngược, nếu giá đóng cửa thấp hơn mức giá thấp nhất của ngày hôm trước và giá hiện tại cao hơn mức giá thấp nhất đó tạo ra một đột phá, thì làm nhiều; nếu giá đóng cửa cao hơn mức giá cao nhất của ngày hôm trước và giá hiện tại thấp hơn mức giá cao nhất đó tạo ra một đột phá, thì làm trần.

Các mô hình đột phá như vậy có thể đánh giá xu hướng và tạo ra tín hiệu giao dịch.

Lợi thế chiến lược

  1. Sử dụng dữ liệu của ngày giao dịch trước đó để xây dựng mức kháng cự hỗ trợ trong ngày, tránh các vấn đề tối ưu hóa tham số
  2. Các mức kháng cự hỗ trợ được lấy từ dữ liệu giao dịch trên thị trường thực và có giá trị tham chiếu nhất định
  3. Mô hình phản hồi đơn giản, trực tiếp và dễ hiểu
  4. Hình ảnh hiển thị mức hỗ trợ và kháng cự tạo ra cảm giác về giá
  5. Theo dõi đột phá trong thời gian thực, nắm bắt cơ hội giao dịch kịp thời

Rủi ro chiến lược

  1. Địa điểm kháng cự hỗ trợ sẽ thay đổi theo thời gian và không thể xác định hiệu quả của nó
  2. Không thể dự đoán được hướng đi của xu hướng, có nguy cơ bỏ lỡ sự đảo ngược
  3. Dễ bị xâm nhập giả, có nguy cơ nhập học sớm
  4. Không thể xác định được tính bền vững của đột phá, có khả năng dừng lỗ sớm
  5. Thị trường chứng khoán có khả năng thất bại khi hỗ trợ.

Phản ứng:

  1. Kết hợp nhiều yếu tố để đánh giá hiệu quả của đột phá
  2. Tăng cường mức dừng lỗ phù hợp để đảm bảo nắm bắt xu hướng
  3. Xây dựng vị thế theo lô để giảm tác động của biến động cổ phiếu

Tối ưu hóa chiến lược

  1. Thêm nhiều dữ liệu lịch sử để xác định mức kháng cự hỗ trợ, chẳng hạn như đường 5 ngày, đường 10 ngày giá
  2. Kết hợp các chỉ số như khối lượng giao dịch để đánh giá hiệu quả của đột phá
  3. Cài đặt điểm dừng dựa trên biến động thực tế
  4. Tối ưu hóa quản lý tài chính, kiểm soát tổn thất đơn lẻ

Tóm tắt

Chiến lược này nói chung thuộc về chiến lược phá vỡ điển hình, đơn giản và trực quan, xây dựng kháng cự hỗ trợ trong ngày bằng dữ liệu ngày giao dịch trước đó, đánh giá lại mức phá vỡ này. Ưu điểm là dễ hiểu thực hiện, có thể trực tiếp nhìn thấy kháng cự hỗ trợ; nhược điểm là có nguy cơ phá vỡ giả, không thể xác định tính bền vững của xu hướng. Bước tiếp theo có thể được tối ưu hóa từ việc xác định hiệu quả phá vỡ, kiểm soát rủi ro, tối ưu hóa quản lý vốn.

Mã nguồn chiến lược
/*backtest
start: 2024-01-22 00:00:00
end: 2024-02-21 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Support and Resistance with Backtesting", overlay=true)

// Function to calculate support and resistance levels
calculateSupportResistance() =>
    highPrevDay = request.security(syminfo.tickerid, "D", high[1], lookahead=barmerge.lookahead_on)
    lowPrevDay = request.security(syminfo.tickerid, "D", low[1], lookahead=barmerge.lookahead_on)
    closePrevDay = request.security(syminfo.tickerid, "D", close[1], lookahead=barmerge.lookahead_on)
    [highPrevDay, lowPrevDay, closePrevDay]

// Call the function to get support and resistance levels
[supResHigh, supResLow, supResClose] = calculateSupportResistance()

// Plotting support and resistance levels
plot(supResHigh, color=color.red, linewidth=2, title="Previous Day High")
plot(supResLow, color=color.green, linewidth=2, title="Previous Day Low")
plot(supResClose, color=color.blue, linewidth=2, title="Previous Day Close")

// Backtesting logic
backtestCondition = close[1] < supResLow and close > supResLow
strategy.entry("Long", strategy.long, when=backtestCondition)

// Plotting buy/sell arrows for backtesting
plotarrow(backtestCondition ? 1 : na, colorup=color.green, offset=-1, transp=0)