Chiến lược này xác định các điểm vào và ra bằng cách tính thập giá vàng và thập giá chết của trung bình di chuyển đơn giản 20 ngày (EMA20) và trung bình di chuyển đơn giản 50 ngày (EMA50).
Các chỉ số cốt lõi của chiến lược này là EMA 20 ngày và EMA 50 ngày. EMA20 đại diện cho xu hướng ngắn hạn và EMA50 đại diện cho xu hướng trung hạn. Khi xu hướng ngắn hạn vượt qua xu hướng trung hạn, nó cho thấy thị trường đang chuyển từ suy giảm sang tăng. Đi dài có thể tạo ra lợi nhuận. Khi xu hướng ngắn hạn vượt qua xu hướng trung hạn, nó cho thấy thị trường đang chuyển từ tăng xuống giảm. Đi ngắn có thể tạo ra lợi nhuận. Do đó, các hình thành chéo vàng và chéo chết của EMA20 và EMA50 được sử dụng để xác định các điểm vào và ra.
Cụ thể, đầu tiên tính toán giá trị của EMA 20 ngày và EMA 50 ngày. Sau đó vẽ các đoạn đường của EMA20 và EMA50 trên biểu đồ. Khi EMA20 vượt qua trên EMA50, đi dài. Khi EMA20 vượt qua dưới EMA50, đi ngắn. Đồng thời, nhập tỷ lệ stoploss và tỷ lệ rủi ro-lợi nhuận để tính toán giá stop loss và lấy lợi nhuận. Điều này có thể kiểm soát hiệu quả rủi ro và phần thưởng của mỗi giao dịch.
Những lợi thế của chiến lược này là:
Ngoài ra còn có một số rủi ro cho chiến lược này:
Chiến lược có thể được tối ưu hóa trong các khía cạnh sau:
Kiểm tra các kết hợp tham số khác nhau của EMA để tìm các tham số tối ưu.
Kết hợp với các chỉ số khác để lọc và xác minh tín hiệu.
Điều chỉnh năng động tỷ lệ dừng lỗ và lấy lợi nhuận.
Giảm thời gian giữ phù hợp để giảm khả năng bị ảnh hưởng bởi các sự kiện đột ngột.
Chiến lược giao dịch chuyển động chéo vàng và chéo chết của EMA xác định thời gian nhập cảnh thông qua các chỉ số đơn giản và kiểm soát rủi ro bằng cách dừng lỗ và lấy lợi nhuận. Nó hoạt động dễ dàng và phù hợp với giao dịch ngắn hạn tích cực.
/*backtest start: 2023-01-05 00:00:00 end: 2024-01-11 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Swing Trading with 20/50 EMA Cross", shorttitle = "EMA Cross", overlay = true) // Define input for stop-loss and take-profit levels var float stopLossPct = input.float(1, title = "Stop Loss (%)") / 100 var float rewardRiskRatio = input.float(2, title = "Risk-Reward Ratio") takeProfitPct = stopLossPct * rewardRiskRatio // Calculate EMA values ema20 = ta.ema(close, 20) ema50 = ta.ema(close, 50) // Plot EMAs on the chart plot(ema20, title = "20 EMA", color = color.blue) plot(ema50, title = "50 EMA", color = color.red) // Trading conditions longCondition = ta.crossover(ema20, ema50) shortCondition = ta.crossunder(ema20, ema50) // Execute long and short trades strategy.entry("Long", strategy.long, when = longCondition) strategy.entry("Short", strategy.short, when = shortCondition) // Calculate stop-loss and take-profit levels based on risk-reward ratio stopLossPrice = close * (1 - stopLossPct) takeProfitPrice = close * (1 + takeProfitPct) strategy.exit("Take Profit/Stop Loss", stop = stopLossPrice, limit = takeProfitPrice)