Đây là một chiến lược giao dịch trong ngày dựa trên hệ thống trung bình chuyển động nhân tố (EMA) kép kết hợp với chỉ số sức mạnh tương đối (RSI). Chiến lược xác định xu hướng thị trường và cơ hội giao dịch thông qua các tín hiệu chéo của EMA nhanh và chậm, được xác nhận bởi chỉ số động lực RSI, trong khi kết hợp các cơ chế dừng lỗ và lấy lợi nhuận để quản lý rủi ro. Chiến lược sử dụng phương pháp quản lý tiền, sử dụng một tỷ lệ phần trăm cố định của vốn tài khoản để giao dịch.
Logic cốt lõi bao gồm một số yếu tố chính: 1. Sử dụng hai EMA với các khoảng thời gian khác nhau (bất định kỳ 12 và 26) làm chỉ số xu hướng 2. Bao gồm RSI (định mục 14 thời gian) như xác nhận động lực 3. Điều kiện bước vào dài: EMA nhanh vượt qua EMA chậm với RSI trên 50 Điều kiện nhập cảnh ngắn: EMA nhanh vượt dưới EMA chậm với RSI dưới 50 5. Sử dụng cố định 20% vốn chủ sở hữu tài khoản để định kích thước vị trí 6. Tích hợp stop-loss điều chỉnh (bên mặc định 1%) và lấy lợi nhuận (bên mặc định 2%) 7. Thực hiện đóng vị trí trên tín hiệu chéo ngược
Chiến lược này xây dựng một hệ thống giao dịch hoàn chỉnh bằng cách kết hợp hệ thống xu hướng EMA với chỉ số đà RSI. Sức mạnh của nó nằm trong logic giao dịch có hệ thống và quản lý rủi ro toàn diện, mặc dù các tác động của điều kiện thị trường phải được xem xét. Thông qua tối ưu hóa và điều chỉnh liên tục, chiến lược có thể thích nghi tốt hơn với các điều kiện thị trường khác nhau và cải thiện kết quả giao dịch.
/*backtest start: 2024-12-17 00:00:00 end: 2025-01-16 00:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}] */ //@version=5 strategy("Estrategia Intradía - Cruce EMA + RSI - Optimizado", overlay=true, pyramiding=0, default_qty_type=strategy.percent_of_equity, default_qty_value=20) // Parámetros CON rangos de optimización ema_fast_length = input.int(title="Período EMA Rápida", defval=12, minval=5, maxval=30, step=1) ema_slow_length = input.int(title="Período EMA Lenta", defval=26, minval=15, maxval=50, step=1) rsi_length = input.int(title="Período RSI", defval=14, minval=7, maxval=21, step=1) rsi_overbought = input.int(title="Nivel de Sobrecompra RSI", defval=70, minval=60, maxval=80, step=1) rsi_oversold = input.int(title="Nivel de Sobreventa RSI", defval=30, minval=20, maxval=40, step=1) stop_loss_percent = input.float(title="Stop Loss (%)", defval=1.0, minval=0.1, maxval=3.0, step=0.1) take_profit_percent = input.float(title="Take Profit (%)", defval=2.0, minval=0.5, maxval=5.0, step=0.1) // Cálculos ema_fast = ta.ema(close, ema_fast_length) ema_slow = ta.ema(close, ema_slow_length) rsi = ta.rsi(close, rsi_length) // Condiciones de entrada longCondition = ta.crossover(ema_fast, ema_slow) and rsi > 50 shortCondition = ta.crossunder(ema_fast, ema_slow) and rsi < 50 // Gestión de entradas y salidas var float longQty = na var float shortQty = na if longCondition longQty := 20 / close strategy.entry("Long", strategy.long, qty=longQty) if stop_loss_percent > 0 and take_profit_percent > 0 strategy.exit("Exit Long", "Long", stop=close * (1 - stop_loss_percent / 100), limit=close * (1 + take_profit_percent / 100)) if strategy.position_size > 0 and ta.crossunder(ema_fast, ema_slow) strategy.close("Long") longQty := na if shortCondition shortQty := 20 / close strategy.entry("Short", strategy.short, qty=shortQty) if stop_loss_percent > 0 and take_profit_percent > 0 strategy.exit("Exit Short", "Short", stop=close * (1 + stop_loss_percent / 100), limit=close * (1 - take_profit_percent / 100)) if strategy.position_size < 0 and ta.crossover(ema_fast, ema_slow) strategy.close("Short") shortQty := na // Visualizaciones plot(ema_fast, color=color.blue, title="EMA Rápida") plot(ema_slow, color=color.orange, title="EMA Lenta") plot(rsi, color=color.purple, title="RSI") hline(50, color=color.gray)