Это внутридневная стратегия торговли, основанная на двойной системе экспоненциальной скользящей средней (EMA) в сочетании с индексом относительной силы (RSI). Стратегия определяет рыночные тенденции и торговые возможности с помощью перекрестных сигналов быстрых и медленных EMA, подтвержденных индикатором импульса RSI, включая механизмы остановки потерь и получения прибыли для управления рисками. Стратегия использует подход к управлению деньгами, используя фиксированный процент собственного капитала счета для торговли.
Основная логика включает в себя несколько ключевых элементов: 1. использует два EMA с разными периодами (по умолчанию 12 и 26) в качестве индикаторов тренда 2. Включает RSI (по умолчанию 14 периодов) в качестве подтверждения импульса Условие длинного входа: быстрая EMA пересекает более медленную EMA с RSI выше 50 Условие короткого входа: быстрая 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)