В процессе загрузки ресурсов... загрузка...

Стремительная кросс-овер стратегия EMA

Автор:Чао Чжан, Дата: 2024-06-17 16:24:35
Тэги:РСИЕМА

img

Обзор

Эта стратегия использует три экспоненциальные скользящие средние (EMAs) с различными периодами и индекс относительной силы (RSI) для определения рыночных тенденций и торговых сигналов. Сигнал покупки генерируется, когда цена превышает 200-дневную EMA, а RSI выше 50, в то время как сигнал продажи генерируется, когда цена падает ниже 200-дневной EMA, а RSI ниже 50. Стратегия подходит для свинг-трейдинга в дневное время.

Принципы стратегии

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

Преимущества стратегии

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

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

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

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

  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)


Связанные

Больше