Tài nguyên đang được tải lên... tải...

Bước đột phá cao trong lịch sử với xu hướng lọc trung bình di chuyển hàng tháng Theo chiến lược

Tác giả:ChaoZhang, Ngày: 2024-12-13 10:25:18
Tags:ATHSMAMA

img

Tổng quan

Chiến lược này là một hệ thống theo xu hướng dựa trên bộ lọc đột phá cao trong lịch sử và bộ lọc trung bình động hàng tháng. Nó tạo ra tín hiệu mua bằng cách theo dõi sự đột phá giá trên mức cao trong lịch sử trước đó, trong khi sử dụng Trung bình Di chuyển đơn giản 8 giai đoạn (8 SMA) trên khung thời gian hàng tháng như một bộ lọc bán để giảm rủi ro đột phá sai.

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

Logic cốt lõi bao gồm hai thành phần chính:

  1. Báo hiệu mua: Được tạo ra khi giá đóng gần đây nhất vượt quá mức cao lịch sử trước đó (không bao gồm mức cao của thanh hiện tại). Điều kiện này đảm bảo nhập chỉ trong xu hướng tăng rõ ràng.
  2. Tín hiệu bán: Được kích hoạt khi giá đóng cửa hàng tháng giảm xuống dưới Mức trung bình di chuyển đơn giản 8 giai đoạn. Điều kiện này giúp dừng lỗ kịp thời và ngăn ngừa tổn thất lớn hơn từ sự đảo ngược xu hướng. Chiến lược cũng bao gồm một cơ chế theo dõi trạng thái tín hiệu để tránh các tín hiệu lặp đi lặp lại trong cùng một trạng thái, cải thiện sự ổn định của chiến lược.

Ưu điểm chiến lược

  1. Strong Trend Capture: Có hiệu quả nắm bắt các xu hướng tăng mạnh thông qua phát hiện đột phá cao trong lịch sử.
  2. Kiểm soát rủi ro mạnh mẽ: Bao gồm trung bình di chuyển hàng tháng như một bộ lọc để sàng lọc hiệu quả các sự đột phá sai.
  3. Tính ổn định tín hiệu cao: Sử dụng biến số lastSignal để theo dõi trạng thái tín hiệu, ngăn chặn sự lặp lại tín hiệu.
  4. Hiển thị tốt: Cung cấp giao diện đồ họa rõ ràng bao gồm đường cao lịch sử, đường trung bình động và dấu hiệu mua / bán.
  5. Khả năng thích nghi cao: Có thể áp dụng cho các khung thời gian và công cụ khác nhau.

Rủi ro chiến lược

  1. Rủi ro chậm trễ: Các tín hiệu đột phá cao trong lịch sử vốn có một chút chậm trễ, có khả năng thiếu các điểm vào tối ưu.
  2. Nguy cơ phá vỡ sai: Mặc dù lọc trung bình động hàng tháng, các sự phá vỡ sai vẫn có thể xảy ra trên các thị trường khác nhau.
  3. Nguy cơ rút vốn: Chiến lược có thể có sự rút vốn đáng kể tại các điểm đảo ngược xu hướng.
  4. Rủi ro quản lý vị trí: Chiến lược thiếu cơ chế định kích thước vị trí, đòi hỏi các quy tắc quản lý tiền bổ sung.

Hướng dẫn tối ưu hóa chiến lược

  1. Xác nhận khối lượng: Thêm các chỉ số khối lượng như các điều kiện xác nhận đột phá để cải thiện độ tin cậy tín hiệu.
  2. Cải thiện Stop-Loss: Thiết kế các quy tắc stop-loss linh hoạt hơn, chẳng hạn như dừng lại hoặc dừng dựa trên biến động.
  3. Quản lý vị trí: Điều chỉnh kích thước vị trí một cách năng động dựa trên biến động thị trường và sức mạnh xu hướng.
  4. Bộ lọc tín hiệu: Thêm các chỉ số sức mạnh xu hướng như ADX để lọc thêm các tín hiệu yếu.
  5. Bộ lọc thời gian: Thêm bộ lọc thời gian để tránh giao dịch trong thời gian không phù hợp.

Tóm lại

Đây là một xu hướng được thiết kế tốt theo chiến lược với logic rõ ràng. Thông qua sự kết hợp của các xu hướng cao trong lịch sử và trung bình động hàng tháng, nó đạt được cả việc nắm bắt xu hướng hiệu quả và kiểm soát rủi ro hợp lý. Mặc dù có những rủi ro vốn có của sự chậm trễ và đột phá sai, các hướng tối ưu hóa được đề xuất mang lại tiềm năng cải thiện hiệu suất hơn nữa. Chiến lược đặc biệt phù hợp với các thị trường có xu hướng rõ ràng và có thể phục vụ như một công cụ tham chiếu quan trọng cho đầu tư trung và dài hạn.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-11 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Buy Signal on Close Greater Than Previous All-Time High Strategy", overlay=true)

// Initialize the previous all-time high
var float prevAllTimeHigh = na

// Update the all-time high, excluding the current bar's high (use previous bar's high)
if (na(prevAllTimeHigh) or high[1] > prevAllTimeHigh)
    prevAllTimeHigh := high[1]

// Monthly closing price and 8 SMA on monthly time frame
monthlyClose = request.security(syminfo.tickerid, "M", close)
monthlySMA = ta.sma(monthlyClose, 8)

// Variables to track the last signal type
var int lastSignal = 0 // 0 = None, 1 = Buy, 2 = Sell

// Debugging output to check the all-time high and conditions
plot(prevAllTimeHigh, color=color.blue, linewidth=1, title="Previous All-Time High")
plot(monthlySMA, color=color.green, linewidth=1, title="8 SMA (Monthly)")

// Buy signal: when the latest close is greater than the previous all-time high
buySignal = close > prevAllTimeHigh and lastSignal != 1

// Sell signal: when the monthly close is below the 8 SMA
sellSignal = monthlyClose < monthlySMA and lastSignal != 2

// Update the last signal type after triggering a signal
if (buySignal)
    lastSignal := 1
if (sellSignal)
    lastSignal := 2

// Execute the strategy orders
if (buySignal)
    strategy.entry("Buy", strategy.long)

if (sellSignal)
    strategy.close("Buy")

// Optional: Plot buy and sell signals on the chart for visual reference
plotshape(series=buySignal, style=shape.labelup, location=location.belowbar, color=color.green, text="BUY", size=size.small)
plotshape(series=sellSignal, style=shape.labeldown, location=location.abovebar, color=color.red, text="SELL", size=size.small)


Có liên quan

Thêm nữa