Стратегия пересечения бычьих скользящих средних EMA

RSI EMA
Дата создания: 2024-06-17 16:24:35 Последнее изменение: 2024-06-17 16:24:35
Копировать: 2 Количество просмотров: 718
1
Подписаться
1617
Подписчики

Стратегия пересечения бычьих скользящих средних EMA

Обзор

Эта стратегия использует три различных цикла индексов для определения рыночных тенденций и торговых сигналов. В ней используются движущиеся средние показатели (EMA) и относительно сильные показатели (RSI) для определения тенденций и торговых сигналов.

Стратегический принцип

  1. ЭМА на 200, 50 и 21 день, обозначенные синей, красной и зеленой линиями соответственно.
  2. Рассчитайте RSI 14 циклов.
  3. Сигнал “купить” возникает, когда цена на закрытии преодолевает 200-дневную ЭМА и RSI больше 50.
  4. Сигнал продажи возникает, когда конечная цена пробивает 200-дневную ЭМА и RSI меньше 50.
  5. Размер позиции - 1% от чистой стоимости счета.
  6. Стоп-убыток сделки по покупке составляет 50 пунктов ниже 200-дневной ЭМА, а стоп-убыток - 100 пунктов выше цены покупки.
  7. Стоп-позиция продажи - 50 пунктов выше 200-дневной ЕМА, стоп-позиция продажи - 100 пунктов ниже цены продажи.

Стратегические преимущества

  1. В сочетании с ценовыми и динамическими показателями, это помогает уловить время формирования и обращения тренда.
  2. Три различных цикла EMA могут полностью отражать краткосрочные, среднесрочные и долгосрочные тенденции, снижая частоту сигналов и ложные сигналы.
  3. RSI может отфильтровывать торговые сигналы в нестабильных рынках, уменьшая потери.
  4. Фиксированная процентная позиция помогает контролировать риски.
  5. Установка стоп-лосса, предотвращение риска от одной сделки.

Стратегический риск

  1. Задержка сигналов о переходе в тренд может привести к частичной потере прибыли.
  2. Сигнал RSI может дать преждевременный обратный сигнал в сильном тренде.
  3. Фиксированные процентные позиции рискованны в условиях больших колебаний.
  4. Стоп-позиции, расположенные слишком близко к 200-дневной средней линии, могут приводить к частым стопам.

Направление оптимизации стратегии

  1. Для оптимизации сигнала введите больше среднесрочных и долгосрочных комбинаций.
  2. Для корректировки сигнала следует учитывать отклонения RSI и перекуп и перепродажу.
  3. Размер позиции динамически корректируется в зависимости от показателей волатильности, таких как ATR.
  4. Оптимизируйте позицию остановки убытков, например, настройки на уровне сопротивления поддержки, процента или ATR.
  5. Введение фильтров на тренды, таких как индекс ADX, чтобы избежать торговли на волатильных рынках.
  6. Оптимизация параметров и обратная проверка для различных стандартов и циклов.

Подвести итог

Эта стратегия может быть использована для захвата относительно четких среднесрочных и долгосрочных трендовых ситуаций с помощью торговых сигналов в диапазоне многоглавой EMA и сильного RSI. Однако, в целом, она подходит для трендовых рынков, как правило, в начале трендовых поворотов и во время рыночных колебаний. Впоследствии можно дополнительно оптимизировать стратегию с помощью сигналов, позиций, стоп-лосс, фильтров и других условий, чтобы повысить стабильность стратегии и риск-рентабельность дохода.

Исходный код стратегии
/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Lexi Supreme", overlay=true)

// Calculate EMA 200
ema200 = ta.ema(close, 200)

// Calculate EMA 50
ema50 = ta.ema(close, 50)

// Calculate EMA 21
ema21 = ta.ema(close, 21)

// Calculate RSI
rsiValue = ta.rsi(close, 14)

// Buy condition: RSI above 50 and price crosses above EMA 200
buyCondition = ta.crossover(close, ema200) and rsiValue > 50

// Sell condition: RSI below 50 and price crosses below EMA 200
sellCondition = ta.crossunder(close, ema200) and rsiValue < 50

// Position Size (1% of account balance)
positionSize = 1

// Stop Loss and Take Profit values for buy trades
stopLossBuy = ema200 - 0.00050
takeProfitBuy = 0.00100

// Stop Loss and Take Profit values for sell trades
stopLossSell = ema200 + 0.00050
takeProfitSell = 0.00100

// Plot EMA 200 line in blue
plot(ema200, color=color.blue, title="EMA 200")

// Plot EMA 50 line in red
plot(ema50, color=color.red, title="EMA 50")

// Plot EMA 21 line in green
plot(ema21, color=color.green, title="EMA 21")

// Plot buy entry points in yellow
plotshape(series=buyCondition, title="Buy Signal", color=color.yellow, style=shape.triangleup, location=location.belowbar, size=size.small)

// Plot sell entry points in white
plotshape(series=sellCondition, title="Sell Signal", color=color.white, style=shape.triangledown, location=location.abovebar, size=size.small)

// Strategy entry and exit conditions with position size, stop loss, and take profit for buy trades
if (buyCondition)
    strategy.entry("Buy", strategy.long, qty=positionSize)
    strategy.exit("Take Profit/Stop Loss Buy", from_entry="Buy", stop=stopLossBuy, limit=close + takeProfitBuy)

// Strategy entry and exit conditions with position size, stop loss, and take profit for sell trades
if (sellCondition)
    strategy.entry("Sell", strategy.short, qty=positionSize)
    strategy.exit("Take Profit/Stop Loss Sell", from_entry="Sell", stop=stopLossSell, limit=close - takeProfitSell)