이 전략은 상대적 강도 지수 (RSI) 와 결합된 이중 기하급수적 이동 평균 (EMA) 시스템을 기반으로 하는 내일 거래 전략이다. 이 전략은 RSI 모멘텀 지표에 의해 확인된 빠른 및 느린 EMA의 크로스오버 신호를 통해 시장 추세와 거래 기회를 식별하며, 동시에 위험 관리에 대한 스톱 로스 및 영업 메커니즘을 통합합니다. 이 전략은 거래에 대한 계정 자본의 일정한 비율을 사용하여 돈 관리 접근 방식을 사용합니다.
핵심 논리는 몇 가지 핵심 요소를 포함합니다. 1. 트렌드 지표로 서로 다른 기간 (디폴트 12 및 26) 의 두 개의 EMA를 사용합니다. 2. RSI (디폴트 14 기간) 를 모멘텀 확인으로 포함합니다. 3. 긴 진입 조건: 빠른 EMA가 느린 EMA를 넘어서고 RSI가 50보다 높습니다. 4. 짧은 입상 조건: 빠른 EMA는 느린 EMA 아래로 넘어가고 RSI는 50 아래로 5. 포지션 사이즈에 대한 계좌 자금의 고정 20%를 사용 6. 조정 가능한 스톱 로스 (디폴트 1%) 및 이윤 취득 (디폴트 2%) 을 통합합니다. 7. 역 교차 신호에 위치 폐쇄를 구현
이 전략은 EMA 트렌드 시스템과 RSI 모멘텀 인디케이터를 결합하여 완전한 거래 시스템을 구축합니다. 이 전략의 강점은 체계적인 거래 논리와 포괄적인 리스크 관리에 있습니다. 시장 조건의 영향을 고려해야합니다. 지속적인 최적화 및 조정을 통해 전략은 다른 시장 조건에 더 잘 적응하고 거래 결과를 향상시킬 수 있습니다.
/*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)