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

Xu hướng trung bình động kép sau hệ thống giao dịch với chiến lược tối ưu hóa tỷ lệ rủi ro-lợi nhuận

Tác giả:ChaoZhang, Ngày: 2024-11-28 17:20:13
Tags:EMARRR

img

Trong lĩnh vực giao dịch định lượng, các chiến lược theo xu hướng luôn là một trong những phương pháp giao dịch phổ biến nhất.

Tổng quan chiến lược

Chiến lược này sử dụng đường trung bình động theo hàm số (EMA) 20 ngày và 200 ngày làm chỉ số chính, kết hợp với tỷ lệ rủi ro-lợi nhuận 3:1 cho các quyết định giao dịch. Các tín hiệu mua được tạo ra khi giá vượt qua đường EMA 20 ngày và đường EMA 20 ngày vượt quá đường EMA 200 ngày. Mỗi giao dịch có mức dừng lỗ (-0,5%) và mức lợi nhuận (1,5%) cố định để đảm bảo rủi ro được kiểm soát.

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

Logic cốt lõi bao gồm một số yếu tố chính:

  1. Sử dụng EMA 20 ngày và 200 ngày để đánh giá xu hướng thị trường, với EMA 200 ngày đại diện cho xu hướng dài hạn và EMA 20 ngày phản ánh các biến động ngắn hạn
  2. Một tín hiệu mua được tạo ra khi giá vượt qua đường EMA 20 ngày và đường EMA 20 ngày vượt quá đường EMA 200 ngày, cho thấy xu hướng tăng
  3. Sử dụng tỷ lệ rủi ro-lợi nhuận 3: 1, với mức lợi nhuận (1,5%) gấp ba lần mức dừng lỗ (0,5%)
  4. Sử dụng các biến để theo dõi tình trạng giao dịch và tránh ghi lặp lại
  5. Tái thiết lập trạng thái giao dịch khi giá giảm xuống dưới đường EMA 20 ngày, chuẩn bị cho giao dịch tiếp theo

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

  1. Hệ thống trung bình di chuyển kép lọc hiệu quả tiếng ồn thị trường và cải thiện độ tin cậy tín hiệu
  2. Tỷ lệ rủi ro-lợi nhuận cố định hỗ trợ giao dịch có lợi nhuận dài hạn
  3. Các quy tắc nhập cảnh và xuất cảnh rõ ràng làm giảm phán đoán chủ quan
  4. Mức độ tự động hóa cao, dễ thực hiện và backtest
  5. Cơ chế kiểm soát rủi ro toàn diện với mức dừng lỗ rõ ràng cho mỗi giao dịch

Rủi ro chiến lược

  1. Có thể tạo ra các tín hiệu sai thường xuyên trong các thị trường khác nhau
  2. Mức dừng lỗ và lợi nhuận cố định có thể không phù hợp với tất cả các điều kiện thị trường
  3. Chi phí giao dịch không được xem xét có thể ảnh hưởng đến lợi nhuận thực tế
  4. Đặt lệnh dừng lỗ có thể quá gần với việc tham gia vào các thị trường biến động cao
  5. Các yếu tố thanh khoản thị trường không được xem xét

Hướng dẫn tối ưu hóa

  1. Đưa ra các chỉ số khối lượng để cải thiện độ chính xác đánh giá xu hướng
  2. Điều chỉnh động mức dừng lỗ và lấy lợi nhuận dựa trên biến động thị trường
  3. Thêm bộ lọc sức mạnh xu hướng để giảm tín hiệu sai
  4. Xem xét kết hợp các chỉ số tâm lý thị trường
  5. Tối ưu hóa hệ thống quản lý vị trí để quản lý tiền tốt hơn

Tóm lại

Đây là một xu hướng được cấu trúc tốt theo chiến lược với logic rõ ràng. Bằng cách kết hợp một hệ thống trung bình động kép với tỷ lệ rủi ro-lợi nhuận cố định, chiến lược đạt được lợi nhuận tốt trong khi duy trì kiểm soát rủi ro. Mặc dù có các lĩnh vực tối ưu hóa, nhưng nói chung nó là một hệ thống giao dịch xứng đáng nghiên cứu và cải tiến thêm.


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

//@version=5
strategy("Estrategia de Compra con Ratio 3:1", overlay=true)

// Parámetros de la temporalidad diaria y las EMAs
ema20 = ta.ema(close, 20)
ema200 = ta.ema(close, 200)

// Condiciones para la entrada en largo
cierre_por_encima_ema20 = close > ema20
ema20_mayor_ema200 = ema20 > ema200

// Variable para registrar si ya se realizó una compra
var bool compra_realizada = false

// Condición para registrar una compra: primera vez que cierra por encima de EMA 20 con EMA 20 > EMA 200
if (cierre_por_encima_ema20 and ema20_mayor_ema200 and not compra_realizada)
    // Abrir una operación de compra
    strategy.entry("Compra", strategy.long)
    compra_realizada := true  // Registrar que se realizó una compra

    // Definir los niveles de stop loss y take profit basados en el ratio 3:1
    stop_loss = strategy.position_avg_price * 0.995  // -0.50% (rendimiento)
    take_profit = strategy.position_avg_price * 1.015  // +1.50% (3:1 ratio)
    
    // Establecer el stop loss y take profit
    strategy.exit("Take Profit / Stop Loss", from_entry="Compra", stop=stop_loss, limit=take_profit)

// Condición para resetear la compra: cuando el precio cierra por debajo de la EMA de 20
if (close < ema20)
    compra_realizada := false  // Permitir una nueva operación

// Ploteo de las EMAs
plot(ema20, title="EMA 20", color=color.blue, linewidth=2)
plot(ema200, title="EMA 200", color=color.red, linewidth=2)

// Colorear el fondo cuando el precio está por encima de ambas EMAs
bgcolor(cierre_por_encima_ema20 and ema20_mayor_ema200 ? color.new(color.green, 80) : na)


Có liên quan

Thêm nữa