Эта стратегия представляет собой тенденционную торговую систему, которая сочетает в себе двойные экспоненциальные скользящие средние (EMA) с индексом относительной силы (RSI). Работая на 5-минутной временной шкале, она фиксирует рыночные тенденции через перекрестное соединение краткосрочных и долгосрочных EMA вместе с подтверждением RSI, включая фиксированный процент получения прибыли и стоп-лосс для управления рисками.
Стратегия основана на следующих основных компонентах:
Это полная торговая система, сочетающая в себе технические индикаторы и управление рисками. Стратегия эффективно идентифицирует тенденции посредством сотрудничества EMA и RSI, контролируя риск с использованием фиксированных уровней получения прибыли и стоп-лосса. Хотя она имеет определенные ограничения, предложенные направления оптимизации могут еще больше повысить стабильность и прибыльность стратегии. Стратегия подходит для трейдеров, стремящихся к стабильной доходности, особенно на рынках с четкими тенденциями.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-18 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("5-Minute EMA + RSI Strategy", overlay=true, shorttitle="EMA RSI") // Inputs ema_short_length = input.int(9, title="Short EMA Length", minval=1) ema_long_length = input.int(21, title="Long EMA Length", minval=1) rsi_length = input.int(14, title="RSI Length") rsi_overbought = input.int(70, title="RSI Overbought Level") rsi_oversold = input.int(30, title="RSI Oversold Level") // Calculate EMAs ema_short = ta.ema(close, ema_short_length) ema_long = ta.ema(close, ema_long_length) // Calculate RSI rsi = ta.rsi(close, rsi_length) // Plot EMAs plot(ema_short, title="Short EMA", color=color.blue, linewidth=2) plot(ema_long, title="Long EMA", color=color.red, linewidth=2) // Conditions for Entries long_condition = ta.crossover(ema_short, ema_long) and rsi > 50 short_condition = ta.crossunder(ema_short, ema_long) and rsi < 50 // Execute Trades if (long_condition) strategy.entry("Buy", strategy.long) if (short_condition) strategy.entry("Sell", strategy.short) // Risk Management: Take Profit & Stop Loss take_profit_perc = input.float(1.5, title="Take Profit %", step=0.1) // 1.5% target stop_loss_perc = input.float(0.5, title="Stop Loss %", step=0.1) // 0.5% stop strategy.exit("Take Profit/Stop Loss", "Buy", profit=take_profit_perc, loss=stop_loss_perc) strategy.exit("Take Profit/Stop Loss", "Sell", profit=take_profit_perc, loss=stop_loss_perc) // Add Visual Alerts plotshape(long_condition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small) plotshape(short_condition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)