Внутридневная стратегия торговли на сковороде на основе EMA


Дата создания: 2024-01-24 15:43:31 Последнее изменение: 2024-01-24 15:43:31
Копировать: 0 Количество просмотров: 724
1
Подписаться
1617
Подписчики

Внутридневная стратегия торговли на сковороде на основе EMA

Краткое содержание

Эта стратегия используется для торговли внутридневными короткими линиями, чтобы идентифицировать сигналы покупки и продажи, которые образуются в результате вычисления индексных движущихся средних на 9 и 15 дней, которые формируют золотые и мертвые форки EMA. При этом, она создает сигнал покупки, когда на 9 EMA проходит 15 EMA, и ближайшая K-линия является солнечной линией; и сигнал продажи, когда на 9 EMA проходит 15 EMA, и ближайшая K-линия является отрицательной.

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

  1. Вычислить 9-дневную и 15-дневную ЭМА
  2. Определение падений ближайшей K-линии и определение её как положительной или отрицательной
  3. Покупательский сигнал создается, когда 9 пересекает 15 EMA, и ближайшая к ним линия K является солнечной.
  4. Сигнал “продажа” создается, когда 9 пересекает 15 ЭМА под ЭМА и ближайшая к ней K-линия является отрицательной
  5. Расчет ATR с помощью показателя ATR и нанесение стоп-лойда при удержании позиции

Анализ преимуществ

Эта стратегия имеет следующие преимущества:

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

Анализ рисков

Однако эта стратегия несет в себе определенные риски:

  1. EMA является отсталым и может пропустить некоторые колебания цен
  2. Возвращение к среднему значению двойной ЭМА может вызвать сигнал whipsaws
  3. Внутренняя торговля на коротких линиях подвержена колебаниям цен.
  4. Слишком маленькое стоп-дистанция легко пробивается, слишком большое влияет на прибыль

Ответ:

  1. Соответствующая корректировка параметров EMA, сокращение средних циклов
  2. Фильтрационный сигнал в сочетании с другими показателями, такими как MACD
  3. Динамическая коррекция стоп-дистанции, оптимизация стоп-стратегии

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

Эта стратегия может быть оптимизирована в следующих аспектах:

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

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

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

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

//@version=5
strategy("EMA Scalping Strategy", shorttitle="EMAScalp", overlay=true)

// Input parameters
ema9_length = input(9, title="9 EMA Length")
ema15_length = input(15, title="15 EMA Length")

// Calculate EMAs
ema9 = ta.ema(close, ema9_length)
ema15 = ta.ema(close, ema15_length)

// Plot EMAs on the chart
plot(ema9, color=color.blue, title="9 EMA")
plot(ema15, color=color.red, title="15 EMA")

// Identify Bullish and Bearish candles
bullish_candle = close > open
bearish_candle = close < open

// Bullish conditions for Buy Signal
buy_condition = ta.crossover(close, ema9) and ema15 < ema9 and bullish_candle

// Bearish conditions for Sell Signal
sell_condition = ta.crossunder(close, ema9) and ema15 > ema9 and bearish_candle

// Plot Buy and Sell signals
plotshape(series=buy_condition, title="Buy Signal", color=color.green, style=shape.triangleup, location=location.belowbar)
plotshape(series=sell_condition, title="Sell Signal", color=color.red, style=shape.triangledown, location=location.abovebar)

// Optional: Add stop-loss levels
atr_length = input(14, title="ATR Length for Stop Loss")
atr_multiplier = input(1.5, title="ATR Multiplier for Stop Loss")

atr_value = ta.atr(atr_length)
stop_loss_level = strategy.position_size > 0 ? close - atr_multiplier * atr_value : close + atr_multiplier * atr_value
plot(stop_loss_level, color=color.gray, title="Stop Loss Level", linewidth=2)

// Strategy rules
if (buy_condition)
    strategy.entry("Buy", strategy.long)
    strategy.exit("Exit Buy", from_entry="Buy", loss=stop_loss_level)

if (sell_condition)
    strategy.entry("Sell", strategy.short)
    strategy.exit("Exit Sell", from_entry="Sell", loss=stop_loss_level)