Стратегия отката скользящей средней


Дата создания: 2023-12-19 11:55:25 Последнее изменение: 2023-12-19 11:55:25
Копировать: 1 Количество просмотров: 726
1
Подписаться
1625
Подписчики

Стратегия отката скользящей средней

Обзор

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

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

Стратегия основана на двух движущихся средних: 14-дневная EMA и 56-дневная SMA. Когда 14-дневная EMA проходит 56-дневную SMA снизу, она создает сигнал покупки. После этого код возвращается на 20-й день, чтобы найти низкую точку в качестве поддержки, а затем, в сочетании с ценой, близкой к точке прохождения, он рисует фибоначчи-откатную линию, используя 1,272-кратную откатную линию в качестве входа и 0,618-кратную откатную линию в качестве выхода. Таким образом, стратегия устанавливает точку входа, чтобы сделать пустоту после возникновения форка.

В целом, стратегия состоит из следующих шагов:

  1. В этом случае вычислите 14-дневную ЭМА и 56-дневную SMA.
  2. Определение того, происходит ли появление сигнала “золотого форка” через SMA на EMA;
  3. В этом видео я хочу рассказать о том, что я делаю.
  4. Фибоначчи, используя положение низшей точки и золотой вилки, начертает обратную линию.
  5. Входная точка на 1.272 оборота;
  6. Остановка остановки на 0,618 оборота.

Вот основные процессы и принципы работы стратегии. Когда происходит кратковременный обратный откат цены, эта стратегия может использовать такие возможности для получения прибыли.

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

В основном, у этой стратегии есть следующие преимущества:

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

В целом, эта стратегия очень подходит для торговли короткими линейными обратными линиями, когда рыночная ситуация вызывает определенный отклонение, чтобы поймать такой арбитраж.

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

Несмотря на то, что у этой стратегии есть свои преимущества, есть определенные риски, о которых следует помнить:

  1. Долгосрочное удержание может привести к большим убыткам. Поскольку у нас есть отрицательный дисконт, мы можем столкнуться с большими потерями, если цена будет расти.
  2. Слишком небольшое разрыв не может принести прибыль. Слишком небольшое разрыв цены не может достичь остановки и не может окупить прибыль.
  3. Риск высокой настройки возможен. Линия обратной тяги установлена слишком высоко, чтобы не быть затронутой для создания возможности арбитража. Необходимо рассчитать разумный диапазон обратной тяги.

Для вышеуказанных рисков мы можем установить более короткое время остановки, строго контролировать одиночные потери; в то же время оптимизировать диапазон отрыва от линии оттяжки, установить разумную целевую прибыль, чтобы избежать части риска.

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

Есть много возможностей для оптимизации этой стратегии переменной средней, в основном, в следующих областях:

  1. тестирование различных параметров, таких как продолжительность циклов движущихся средних, число дней в обратном порядке, множители обратной тяги, чтобы найти оптимальные параметры;

  2. увеличение механизмов погашения убытков с возможностью использования многократного или мобильного погашения убытков для лучшего контроля риска;

  3. В сочетании с другими показателями FILTER, чтобы избежать торговли в неблагоприятных рыночных условиях;

  4. Оптимизация управления капиталом, установление разумного размера позиции и рискового порога.

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

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

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

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

//@version=2
strategy("MAC Pullback", overlay=true)

// Setting up timeperiod for testing
startPeriodYear = input(2014, "Backtest Start Year")
startPeriodMonth = input(1, "Backtest Start Month")
startPeriodDay = input(2, "Backtest Start Day")
testPeriodStart = timestamp(startPeriodYear, startPeriodMonth, startPeriodDay, 0, 0)

stopPeriodYear = input(2035, "Backtest Stop Year")
stopPeriodMonth = input(12, "Backtest Stop Month")
stopPeriodDay = input(30, "Backtest Stop Day")
testPeriodStop = timestamp(stopPeriodYear, stopPeriodMonth, stopPeriodDay, 0, 0)

// Moving Averages
ema14 = ema(close, 14)
ema28 = ema(close, 28)
sma56 = sma(close, 56)

// Plot
plot(ema14, title="ema14", linewidth=2, color=green)
plot(ema28, title="ema28", linewidth=2, color=red)
plot(sma56, title="sma56", linewidth=3, color=blue)


// Strategy
goLong = cross(ema14, sma56) and ema14 > ema28
goShort = cross(ema14, sma56) and ema14 < ema28


// Locate Swing Lows
leftBars = input(20)
rightBars=input(20)
swinglow = pivotlow(close, leftBars, rightBars)
plot(swinglow, style=cross, linewidth=8, color=#00FF00, offset=-rightBars)

if goLong == true and time >= testPeriodStart and time <= testPeriodStop
    // We try to make sure that we're catching the first Pullback after the crossover
    if ema14[12] < sma56[12] 
        pivotpoint = lowest(40)[0] //lowest value of the month as our swing low
        
        // We calculate a Fib 1.272 extension (from the previous swing low to 
        // the crossover long entry's open) and use this as our entry target to short the Pullback
        extensiontarget = ((close[1] - pivotpoint) * 1.27) + pivotpoint
        shorttarget = ((close[1] - pivotpoint) * 0.618) + pivotpoint        
        
        strategy.order("Pullback", strategy.short, 5.0, limit=extensiontarget)
        // I would like to use a trailing stop but for know we just hope to get 
        // filled if the pullback reaches all the way down to the 0.618.
        // We also place a tight stop loss since we trying to short an uptrend
        strategy.exit("Pullback Exit", "Pullback", limit=shorttarget, loss=400)