Стратегия отката на короткую позицию, основанная на откате EMA


Дата создания: 2024-01-18 11:02:17 Последнее изменение: 2024-01-18 11:02:17
Копировать: 0 Количество просмотров: 709
1
Подписаться
1617
Подписчики

Стратегия отката на короткую позицию, основанная на откате EMA

Обзор

Стратегия использует 50-циклический EMA средний и K-линии для оценки цены закрытия, когда цена прорывает EMA средний снизу, делая пустоту, ожидая, что цена откорректирует 2-3 K-линии, а если появляется поглощающая форма K-линии, то после закрытия этой K-линии открывается пустота и проводится операция с короткой линией.

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

Сначала рассчитывается средняя линия EMA на 50 циклов, затем оценивается, превзошла ли цена среднюю линию EMA сверху вниз. Если она была превзойдена, она записывается как пустой импульс. Затем оценивается, появилась ли последующая линия K. Если она превзошла минимальную цену предыдущей линии K, она записывается как сигнал отклонения.

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

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

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

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

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

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

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

  1. Оптимизация циклов EMA: можно тестировать больше циклов EMA, например, 30, 40 или 60 циклов, чтобы найти оптимальные параметры.

  2. Оптимизация количества обратных K-линий: тестирование различных количеств, например, 2-5 кодов, для поиска оптимального обратного сигнала.

  3. Оптимизация количества поглощаемых K-линий: тестирование различных количеств, например, 1 - 3 ядра, для поиска оптимального поглощающего сигнала.

  4. Оптимизация стоп-множества: можно тестировать стоп ATR в 0,5 - 2 раза, чтобы найти оптимальное место для остановки.

  5. Подумайте о включении других показателей, таких как MACD, KDJ и т. д., чтобы повысить точность сигнала.

  6. Можно тестировать различные разновидности, такие как индексы, нефть, драгоценные металлы и т. д., расширяя область применения.

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

Эта стратегия использует EMA, чтобы определить направление тренда, а затем, в сочетании с отклонением и поглощением формы, посылает сигнал об уходе. Это типичная стратегия обратного тренда.

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

//@version=4
strategy(title="Linor Pullback Short Strategy", shorttitle="EMA Pullback", overlay=true)

// Define strategy parameters
ema_length = input(50, title="EMA Length")
pullback_candles = input(3, title="Number of Pullback Candles")
engulfing_candles = input(1, title="Number of Engulfing Candles")
stop_loss = input(1, title="Stop Loss (in ATR)")

// Calculate the EMA
ema = ema(close, ema_length)

// Define bearish impulse condition
bearish_impulse = crossover(close, ema)

// Define pullback condition
pullback_condition = false
for i = 1 to pullback_candles
    if close[i] > close[i - 1]
        pullback_condition := true
    else
        pullback_condition := false

// Define engulfing condition
engulfing_condition = false
for i = 1 to engulfing_candles
    if close[i] < open[i] and close[i-1] > open[i-1]
        engulfing_condition := true
    else
        engulfing_condition := false

// Define the entry condition
entry_condition = bearish_impulse and pullback_condition and engulfing_condition

// Plot the EMA on the chart
plot(ema, color=color.blue, title="50 EMA")

// Plot shapes on the chart to mark entry points
plotshape(entry_condition, style=shape.triangleup, location=location.belowbar, color=color.red, size=size.small)

// Define and plot the stop loss level
atr_value = atr(14)
stop_loss_level = close + atr_value * stop_loss
plot(stop_loss_level, color=color.red, title="Stop Loss")

// Strategy orders
strategy.entry("Short", strategy.short, when=entry_condition)
strategy.exit("Stop Loss/Target", from_entry="Short", stop=stop_loss_level, when=strategy.position_size[1] > 0)

// Plot strategy performance on the chart