Количественная торговая стратегия с пересечением двух скользящих средних EMA23/EMA50

EMA EMA23 EMA50
Дата создания: 2024-04-26 15:29:21 Последнее изменение: 2024-04-26 15:29:21
Копировать: 2 Количество просмотров: 290
1
Подписаться
1166
Подписчики

Количественная торговая стратегия с пересечением двух скользящих средних EMA23/EMA50

Обзор

Стратегия основана на перекрестных сигналах EMA23 и EMA50 для торговли. Когда EMA23 пересекает EMA50, она генерирует сигнал покупки, а когда она пересекает EMA50, она генерирует сигнал продажи. Стратегия также останавливает позиции с большим превышением, когда цена падает ниже EMA50, и наоборот, она останавливает позиции с пустым превышением.

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

  1. Вычислить скользящую среднюю двух индексов EMA23 и EMA50
  2. Когда EMA23 наносит EMA50, создается сигнал покупать; когда EMA23 наносит EMA50, создается сигнал продавать.
  3. Для позиций с множественными позициями, если цена опустится ниже EMA50 и цена закрытия будет ниже EMA50 на предыдущей линии K, то будет введен стоп-лосс.
  4. Для открытых позиций, если цена превышает EMA50 и цена закрытия превышает EMA50 на предыдущей K-линии, производится остановка.
  5. Для многоочередных позиций, если цена вновь встанет на EMA50 и цена закрытия, максимальная цена, будет выше EMA50, а EMA23 выше EMA50, то вновь вступать в торговлю.
  6. В случае открытой позиции, если цена снова опустится ниже EMA50 и цена закрытия, минимальная цена будет ниже EMA50 и EMA23 будет ниже EMA50, то она будет возобновлена.
  7. Положительные позиции приносят прибыль в 1,6 раза больше, чем цена, на которую была установлена остановка, и в 0,75 раза больше, чем цена, на которую была установлена остановка.

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

  1. Двойная равномерная скрещивание является простым и эффективным индикатором для отслеживания тенденций, который помогает уловить тенденции.
  2. Механизмы сдерживания убытков помогают контролировать риски и предотвращать увеличение убытков.
  3. Новые механизмы вхождения в рынок позволяют стратегии вновь уловить тенденции и повысить потенциал прибыли.
  4. Настройка на выигрышный конец позволяет стратегии заблокировать прибыль вовремя.
  5. 30-минутная временная рамка дает больше возможностей для торговли, но также фильтрует некоторый шум.

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

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

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

  1. Можно рассмотреть возможность внедрения других технических показателей, чтобы помочь определить тенденции и улучшить исходные точки, такие как MACD, RSI и т. д.
  2. Для оптимизации параметров стоп-пойнтов можно рассмотреть возможность использования динамических показателей волатильности, таких как ATR, для динамической корректировки стоп-позиции.
  3. Контроль за частотой сделок, установление соответствующих условий отбора сделок, уменьшение ложных сигналов.
  4. Различные параметры стратегии используются для рынков с колебаниями и рынков с тенденциями.
  5. Прибыльный конец может быть более гибким, например, в зависимости от динамики рыночной волатильности, риска и вознаграждения.

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

Эта стратегия является количественной торговой стратегией, основанной на скрещивании двух равноуровневых линий, для захвата трендов с помощью скрещивания сигналов EMA23 и EMA50, а также установки механизмов остановки и возобновления для управления рисками и повышения потенциала прибыли. Эта стратегия проста и понятна, подходит для краткосрочных торгов, таких как 30 минут.

Исходный код стратегии
/*backtest
start: 2023-04-20 00:00:00
end: 2024-04-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("EMA Crossover Strategy", overlay=true)

// EMA 23 ve EMA 50'nin hesaplanması
ema23 = ta.ema(close, 23)
ema50 = ta.ema(close, 50)

// Ana alım kuralı: EMA 23 ve EMA 50'nin yukarı kesilmesi
buySignal = ta.crossover(ema23, ema50)

// Ana satış kuralı: EMA 23 ve EMA 50'nin aşağı kesilmesi
sellSignal = ta.crossunder(ema23, ema50)

// Long pozisyon stop seviyesi
longStopLoss = low < ema50 and close < ema50[1]

// Short pozisyon stop seviyesi
shortStopLoss = high > ema50 and close > ema50[1]

// Long pozisyon için tekrar giriş kuralı
longReEntry = high > ema50 and close > ema50 and close > ema50 and ema23 > ema50

// Short pozisyon için tekrar giriş kuralı
shortReEntry = low < ema50 and close < ema50 and close < ema50 and ema23 < ema50

// Long işlemde kar alma seviyesi (%60)
longTakeProfit = strategy.position_avg_price * 1.60

// Short işlemde kar alma seviyesi (%25)
shortTakeProfit = strategy.position_avg_price * 0.75

// Long işlem için yeniden giriş koşulu
longReEntryCondition = strategy.position_size <= 0 and longReEntry

// Short işlem için yeniden giriş koşulu
shortReEntryCondition = strategy.position_size >= 0 and shortReEntry

// Geriye dönük test için başlangıç tarihi (01.01.2022)
startDate = timestamp(2022, 01, 01, 00, 00)

if (time >= startDate)
    if (buySignal)
        strategy.entry("Buy", strategy.long)

    if (sellSignal)
        strategy.entry("Sell", strategy.short)

    if (strategy.position_size > 0 and (longStopLoss or close >= longTakeProfit))
        strategy.close("Buy")

    if (strategy.position_size < 0 and (shortStopLoss or close <= shortTakeProfit))
        strategy.close("Sell")

    if (longReEntryCondition)
        strategy.entry("Buy", strategy.long)

    if (shortReEntryCondition)
        strategy.entry("Sell", strategy.short)