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

Chiến lược chéo giữa hai mức trung bình động

Tác giả:ChaoZhang, Ngày: 2024-05-17 15:48:04
Tags:EMASMA

img

Tổng quan

Chiến lược chéo trung bình di chuyển kép là một chiến lược giao dịch theo xu hướng cổ điển. Nó sử dụng hai trung bình di chuyển: trung bình di chuyển nhanh và trung bình di chuyển chậm. Khi trung bình di chuyển nhanh vượt qua trên trung bình di chuyển chậm, nó được gọi là chéo vàng, chỉ ra xu hướng tăng tiềm năng, và một vị trí dài được mở. Khi trung bình di chuyển nhanh vượt qua dưới trung bình di chuyển chậm, nó được gọi là chéo chết, chỉ ra xu hướng giảm tiềm năng, và một vị trí ngắn được mở.

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

Cốt lõi của chiến lược này là sử dụng các đặc điểm xu hướng của đường trung bình động và tín hiệu chéo để xác định hướng xu hướng và thời gian nhập cảnh. Đầu tiên, đặt các khoảng thời gian của đường trung bình động nhanh ( mặc định 50) và đường trung bình chậm ( mặc định 200) thông qua các thông số, và chọn sử dụng SMA hoặc EMA. Sau đó tính toán hai đường trung bình động và xác định tình huống chéo của chúng:

  1. Khi đường trung bình chuyển động nhanh vượt qua đường trung bình chuyển động chậm (cross vàng), mở một vị trí dài nếu không có vị trí hiện tại, và đặt giá dừng lỗ (được tính dựa trên tỷ lệ phần trăm dừng lỗ).
  2. Khi đường trung bình di chuyển nhanh vượt dưới đường trung bình di chuyển chậm (chữ thập chết), mở một vị trí ngắn nếu không có vị trí hiện tại, và đặt giá dừng lỗ.
  3. Nếu có một vị trí dài hiện có, đóng vị trí khi xảy ra một thập tự tử.
  4. Nếu có một vị trí ngắn hiện có, đóng vị trí khi một đường chéo vàng xảy ra. Mở các vị trí dựa trên các tín hiệu chéo trung bình động và thiết lập stop-loss để nắm bắt xu hướng giá trung hạn đến dài hạn theo xu hướng.

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

  1. Lý thuyết đơn giản và rõ ràng, dễ hiểu và thực hiện, và là nền tảng của các chiến lược theo xu hướng.
  2. Bằng cách sử dụng chéo hai đường trung bình động với các giai đoạn khác nhau, nó có thể xác định tốt hơn sự hình thành và đảo ngược xu hướng.
  3. Nó hỗ trợ cả SMA và EMA, có thể được lựa chọn linh hoạt.
  4. Thiết lập stop-loss kiểm soát rủi ro mất mát đến một mức độ nhất định.
  5. Thích hợp để chụp các xu hướng trung bình đến dài hạn, theo phong cách theo xu hướng.

Rủi ro chiến lược

  1. Chọn tham số không đúng (chẳng hạn như thời gian trung bình động không phù hợp) có thể dẫn đến tín hiệu thường xuyên hoặc đánh giá xu hướng chậm.
  2. Thị trường biến động nhanh có thể dẫn đến giao dịch thường xuyên và hiệu suất kém.
  3. Khi xu hướng đảo ngược hoặc kết thúc, có thể có những khoản rút lớn hơn.
  4. Lợi nhuận dừng lỗ theo tỷ lệ cố định có thể không kiểm soát rủi ro tốt.

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

  1. Tối ưu hóa các thông số, bao gồm thời gian trung bình động, tỷ lệ dừng lỗ, v.v., để cải thiện sự ổn định và tỷ lệ rủi ro-lợi nhuận.
  2. Xem xét việc đưa ra các chỉ số liên quan đến biến động như ATR để điều chỉnh động các vị trí dừng lỗ.
  3. Xác nhận xu hướng trước khi mở một vị trí thay vì ngay lập tức mở tại giao dịch chéo, hoặc thêm các chỉ số xác nhận xu hướng khác để hỗ trợ đánh giá và cải thiện độ chính xác của việc nắm bắt xu hướng.
  4. Có thể được cải thiện thông qua các chiến lược quản lý tiền như thêm hoặc giảm các vị trí.
  5. Xem xét kết hợp với các tín hiệu khác để tạo thành một chiến lược đa yếu tố.

Tóm lại

Chiến lược chéo trung bình động kép là một chiến lược theo xu hướng đơn giản và cổ điển xác định hướng xu hướng và thời gian vào / ra dựa trên sự chéo của hai trung bình động với các giai đoạn khác nhau, phù hợp để nắm bắt xu hướng trung hạn đến dài hạn. Tuy nhiên, các thông số cố định có thể hoạt động không ổn định trong môi trường thị trường thay đổi và cần tối ưu hóa và cải thiện thêm, chẳng hạn như tối ưu hóa các thông số, cải thiện stop-loss, giới thiệu các tín hiệu khác, v.v., để trở thành một chiến lược giao dịch tương đối mạnh mẽ. Chiến lược này có thể phục vụ như nền tảng cho các chiến lược xu hướng và liên tục được cải thiện và mở rộng.


/*backtest
start: 2023-05-11 00:00:00
end: 2024-05-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
//==============================================================================
// A baseline strategy with a well known concept, golden cross & death cross.
// Support for both Simple & Exponential moving averages.
// Support for long & short stop losses as a percentage.:well
//==============================================================================
strategy("Basic Moving Average Crosses", overlay=true)

//------------------------------------------------------------------------------
// configuration
//------------------------------------------------------------------------------
maQuickLength = input(50, title="Quick MA Length") 
maSlowLength  = input(200, title="Quick MA Length") 
useSma        = input(true, title="Use SMA? If false, EMA is used.")

maQuick = useSma ? ta.sma(close, maQuickLength) : ta.ema(close, maQuickLength)
maSlow  = useSma ? ta.sma(close, maSlowLength) : ta.ema(close, maSlowLength)

stop_loss_percentage = input(2.0, title="Stop Loss (%)")

var float longStopLevel = na
var float shortStopLevel = na

bool isGoldenCross = ta.crossover(maQuick, maSlow)
bool isDeathCross  = ta.crossunder(maQuick, maSlow)

//------------------------------------------------------------------------------
// position opening logic
//------------------------------------------------------------------------------

if(strategy.position_size == 0)
    // Golden cross, enter a long position
    if(isGoldenCross)
        strategy.entry("Buy", strategy.long)
        longStopLevel := close - close * stop_loss_percentage/100.0
        strategy.exit("StopLossLong", "Buy", stop=longStopLevel)
    // Death cross, enter short position
    else if(isDeathCross)
        strategy.entry("Sell", strategy.short)
        shortStopLevel := close + close * stop_loss_percentage/100.0
        strategy.exit("StopLossShort", "Sell", stop=shortStopLevel)

//------------------------------------------------------------------------------
// position closing logic
//------------------------------------------------------------------------------
else
    // Close long position on death cross
    if(strategy.position_size > 0 and isDeathCross)
        strategy.close("Buy")
    
    // Close short position on golden cross
    else if(strategy.position_size < 0 and isGoldenCross)
        strategy.close("Sell")

//------------------------------------------------------------------------------
// ploting
//------------------------------------------------------------------------------
plot(maQuick, color=color.yellow)
plot(maSlow, color=color.blue)

Có liên quan

Thêm nữa