Эта стратегия использует линии отката Фибоначчи для установки уровней входа и остановки потерь / прибыли для захвата краткосрочных отступлений цен.
В основе этой стратегии лежат две скользящие средние - 14-дневная EMA и 56-дневная SMA. Она запускает сигнал покупки, когда 14-дневная EMA пересекает 56-дневную SMA снизу. После этого стратегия оглядывается назад на 20 дней, чтобы найти волатильное низкое в качестве поддержки. В сочетании с ценой закрытия в точке перекрестка, линии оттягивания Фибоначчи графизируются, с линией оттягивания 1.272 в качестве входа и 0.618 в качестве выхода. Таким образом, стратегия устанавливает точку входа, чтобы идти коротко после золотых пересечений, и получает прибыль, если цены действительно оттягиваются до линии 0.618.
Ключевыми этапами этой стратегии являются:
Выше приведены основные рабочие процессы и логика этой стратегии снижения.
Ключевыми преимуществами этой стратегии снижения скользящей средней являются:
В целом, это очень подходит для краткосрочной торговли в стиле среднего обратного движения.
Несмотря на преимущества, есть также определенные риски, которые следует отметить для этой стратегии:
Для смягчения рисков мы можем установить короткие временные рамки остановки потерь для контроля потерь; также оптимизировать диапазоны линии отзыва, чтобы стремиться к разумным целям прибыли.
Еще есть много возможностей для оптимизации этой стратегии сбора движущейся средней:
Проверьте различные параметры на таких элементах, как скользящие средние периоды, дни обратного отсчета, кратные Фибоначчи и т. д., чтобы найти оптимальное;
Добавить механизмы стоп-лосса, такие как многократные стопы или задержки, чтобы лучше контролировать риски;
Ввести другие показатели в качестве фильтров, чтобы избежать неблагоприятных рыночных условий;
Оптимизировать правила размещения позиций и управления рисками.
Благодаря тщательному тестированию и оптимизации можно добиться значительного улучшения этой торговой стратегии.
Стратегия отката скользящих средних - это очень практичная краткосрочная стратегия торговли. Она захватывает возможности для отката среднего значения, когда цены отступают в краткосрочной перспективе. Идея стратегии проста и легко понятна.
/*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)