Chiến lược giao dịch swing trung bình động đa cấp dựa trên chỉ số sức mạnh tương đối và phạm vi thực trung bình

RSI ATR DCA TP
Ngày tạo: 2025-02-20 17:25:04 sửa đổi lần cuối: 2025-02-27 17:22:25
sao chép: 0 Số nhấp chuột: 369
2
tập trung vào
319
Người theo dõi

Chiến lược giao dịch swing trung bình động đa cấp dựa trên chỉ số sức mạnh tương đối và phạm vi thực trung bình Chiến lược giao dịch swing trung bình động đa cấp dựa trên chỉ số sức mạnh tương đối và phạm vi thực trung bình

Tổng quan

Chiến lược này là một hệ thống giao dịch chi phí cân bằng động đa cấp kết hợp chỉ số tương đối mạnh (RSI) và sóng thực trung bình (ATR). Nó chủ yếu bằng cách xác định các điều kiện bán quá mức trên thị trường để xây dựng kho hàng loạt và sử dụng ATR để điều chỉnh các vị trí dừng động để tạo ra lợi nhuận từ hoạt động băng tần. Chiến lược này có các đặc điểm như phân tán rủi ro, tối ưu hóa chi phí và ổn định lợi nhuận.

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

Chiến lược hoạt động ở cấp độ 4 giờ hoặc ngày, logic cốt lõi bao gồm các khía cạnh sau:

  1. Tín hiệu nhập cảnh dựa trên phán quyết bán tháo RSI dưới 30, cho phép tối đa 4 đợt xây dựng kho
  2. Số tiền mỗi lần đặt hàng dựa trên tổng rủi ro 200 đô la, quy mô nắm giữ dựa trên ATR động gấp 2 lần
  3. Quản lý kho sử dụng theo dõi chi phí trung bình động, tính toán thời gian thực giá trung bình sau nhiều lần xây dựng kho
  4. Chặn được đặt ở mức ATR 3 lần so với giá trung bình, điều chỉnh theo biến động của thị trường
  5. Hiển thị giá trung bình và điểm dừng trong thời gian thực thông qua đường đánh dấu, để dễ dàng theo dõi bằng hình ảnh

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

  1. Kiểm soát rủi ro chính xác - Kiểm soát chính xác rủi ro của một giao dịch bằng cách đặt trước số tiền rủi ro và điều chỉnh động ATR
  2. Tạo kho linh hoạt - Cơ chế xây dựng lô hàng giúp giảm chi phí và nắm bắt cơ hội
  3. Trạm dừng thông minh - Trạm dừng động dựa trên ATR đảm bảo lợi nhuận và thích ứng với biến động thị trường
  4. Khả năng hiển thị mạnh mẽ - hiển thị trực tiếp đường giá trung bình và đường dừng để cung cấp tài liệu tham khảo giao dịch trực quan
  5. Khả năng thích ứng tốt - các tham số chiến lược có thể được điều chỉnh linh hoạt theo các đặc điểm thị trường khác nhau

Rủi ro chiến lược

  1. Rủi ro bán tháo liên tục - Thị trường tiếp tục giảm có thể dẫn đến quá nhiều lần đặt vị trí Giải pháp: Thực thi nghiêm ngặt giới hạn số lần xây dựng tối đa, thiết lập dừng lỗ khi cần thiết
  2. Rủi ro khi thiết lập Stop Loss - Quá nhiều Stop Loss có thể khiến bạn bỏ lỡ cơ hội kiếm tiền Giải pháp: Điều chỉnh ATR theo biến động của thị trường
  3. Rủi ro quản lý tài chính - Việc xây dựng kho hàng loạt có thể chiếm quá nhiều tiền Giải pháp: Đặt giới hạn rủi ro và quy mô đặt hàng hợp lý

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

  1. Tối ưu hóa tín hiệu đầu vào
  • Tăng các chỉ số đánh giá xu hướng để tránh đặt cược quá sớm trong một đợt giảm mạnh
  • Kết hợp các chỉ số giao dịch để tăng độ tin cậy của phán quyết bán tháo
  1. Khả năng ngăn chặn
  • Tiếp theo, các nhà đầu tư sẽ có cơ chế trailing stop để khóa lợi nhuận.
  • Cân nhắc việc cắt giảm hàng loạt, tăng tính linh hoạt trong thu nhập
  1. Tăng cường kiểm soát rủi ro
  • Thêm kiểm soát rút lui tổng thể
  • Tối ưu hóa phân bổ tài chính

Tóm tắt

Chiến lược này, kết hợp các chỉ số RSI và ATR, tạo ra một hệ thống giao dịch có khả năng kiểm soát rủi ro và ổn định lợi nhuận. Cơ chế xây dựng kho hàng loạt cung cấp khả năng tối ưu hóa chi phí, trong khi thiết kế dừng động đảm bảo lợi nhuận hợp lý. Mặc dù có một số rủi ro tiềm ẩn, hiệu suất tổng thể của chiến lược sẽ được nâng cao hơn nữa bằng cách đặt các tham số hợp lý và thực hiện theo hướng tối ưu hóa.

Mã nguồn chiến lược
/*backtest
start: 2024-02-21 00:00:00
end: 2025-02-18 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"DOGE_USDT"}]
*/

//@version=6
strategy("DCA-Based Swing Strategy (Risk $200) with Signals", overlay=true)

// === Main Indicators ===
// RSI for identifying oversold conditions
rsi = ta.rsi(close, 14)

// ATR for volatility estimation
atr = ta.atr(14)

// === Strategy Parameters ===
// Risk management
riskPerTrade = 200                       // Total risk ($200)
atrRisk = 2 * atr                        // Risk in dollars per buy (2 ATR)
positionSize = riskPerTrade / atrRisk    // Position size (shares)

// DCA Parameters
maxEntries = 4                           // Maximum of 4 buys
takeProfitATR = 3                        // Take profit: 3 ATR

// === Position Management ===
var float avgEntryPrice = na             // Average entry price
var int entryCount = 0                   // Number of buys
var line takeProfitLine = na             // Take profit line
var line avgPriceLine = na               // Average entry price line

// === Buy and Sell Conditions ===
buyCondition = rsi < 30 and entryCount < maxEntries  // Buy when oversold
if (buyCondition)
    strategy.entry("DCA Buy", strategy.long, qty=positionSize)
    
    // Update the average entry price
    avgEntryPrice := na(avgEntryPrice) ? close : (avgEntryPrice * entryCount + close) / (entryCount + 1)
    entryCount += 1

    // Display "BUY" signal on the chart
    label.new(bar_index, low, "BUY", style=label.style_label_up, color=color.green, textcolor=color.white, size=size.normal)

    // Update lines for average entry price and take profit
    if (not na(takeProfitLine))
        line.delete(takeProfitLine)
    if (not na(avgPriceLine))
        line.delete(avgPriceLine)
    takeProfitPrice = avgEntryPrice + takeProfitATR * atr


// Sell condition: Take profit = 3 ATR from average entry price
takeProfitPrice = avgEntryPrice + takeProfitATR * atr
if (close >= takeProfitPrice and entryCount > 0)
    strategy.close("DCA Buy")
    
    // Reset parameters after closing
    avgEntryPrice := na
    entryCount := 0

    // Remove lines after selling
    if (not na(takeProfitLine))
        line.delete(takeProfitLine)
    if (not na(avgPriceLine))
        line.delete(avgPriceLine)