Стратегия движущейся средней обратной торговли - это стратегия, следующая за трендом. Она использует взаимосвязь между долгосрочными и краткосрочными движущимися средними для определения общего направления тренда и делает длинные записи во время краткосрочных обратных движений, когда цены относительно низкие.
Ключевыми правилами принятия решений в этой стратегии являются:
С помощью таких критериев мы можем установить позиции во время краткосрочных спадов, пока направление тренда соответствует ожиданиям.
Самое большое преимущество этой стратегии заключается в том, что она выполняет длинные сделки только в ожидаемой тенденции к росту, что может эффективно избежать риска волатильности рынка. В то же время она преследует покупку на откат краткосрочной скользящей средней, что позволяет выйти на рынок по относительно лучшей цене.
Кроме того, в стратегии установлены механизмы для остановки потерь и получения прибыли. Это позволяет нам контролировать убытки посредством остановки убытков, даже если суждение неверно и рынок движется в противоположном направлении; для прибыли, получение прибыли позволяет зафиксировать некоторые прибыли.
Несмотря на то, что эта стратегия учитывает основные тенденции и устанавливает стоп-лосс и прибыль, все еще существуют определенные риски:
Риск неправильного оценки основного тренда. При суждении о том, что рынок вступил на бычий рынок после открытия длинных позиций, фактический рынок перешел от бычьего к боковому или медвежьему, что вызовет огромные потери.
Риск проникновения стоп-лосса. Особенно при возникновении серьезных негативных событий рынок может выйти за пределы заранее установленной линии стоп-лосса, что приводит к неконтролируемым потерям.
Следовательно, мы можем рассмотреть следующие методы смягчения рисков:
Сделайте хороший анализ общего рынка, чтобы избежать ошибочной оценки тенденции в зоне шока.
Используйте условные ордера, которые запускаются при движении с разрывом, вместо простых ордеров стоп-лосса.
Учитывая характеристики этой стратегии с долгосрочным суждением и краткосрочным входом, мы можем еще больше оптимизировать ее в следующих аспектах:
Оптимизировать параметры цикла скользящих средних для поиска лучшей комбинации параметров
Увеличить другие фильтры технических индикаторов, например, добавить анализ объема или объединить другие показатели перекупленности и перепроданности на основе RSI
Мы можем сделать адаптивные корректировки на основе волатильности рынка, адекватно расширяя диапазон стоп-лосса в периоды высокой волатильности
Тест адаптивности на различные продукты. Этот тип стратегии может быть более подходящим для индексных продуктов. При применении к отдельным запасам необходимы дополнительные фильтры.
В целом, стратегия движущегося среднего pullback является относительно зрелой и устойчивой стратегической идеей. Она в основном рассматривает основные тенденции и шансы на краткосрочные pullbacks, получая хорошие возможности входа без погони за новыми максимумами. В то же время она блокирует прибыль и контролирует риски с помощью параметров стоп-лосса и прибыли. Эта стратегия особенно подходит для инвесторов с сильными всеобъемлющими аналитическими возможностями и богатым опытом торговли.
/*backtest start: 2022-11-30 00:00:00 end: 2023-12-06 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © tsujimoto0403 //@version=5 strategy("simple pull back", overlay=true,default_qty_type=strategy.percent_of_equity, default_qty_value=100) //input value malongperiod=input.int(200,"長期移動平均BASE200/period of long term sma",group = "パラメータ") mashortperiod=input.int(10,"長期移動平均BASE10/period of short term sma",group = "パラメータ") stoprate=input.int(5,title = "損切の割合%/stoploss percentages",group = "パラメータ") profit=input.int(20,title = "利食いの割合%/take profit percentages",group = "パラメータ") startday=input(title="バックテストを始める日/start trade day", defval=timestamp("01 Jan 2000 13:30 +0000"), group="期間") endday=input(title="バックテスを終わる日/finish date day", defval=timestamp("1 Jan 2099 19:30 +0000"), group="期間") //polt indicators that we use malong=ta.sma(close,malongperiod) mashort=ta.sma(close,mashortperiod) plot(malong,color=color.aqua,linewidth = 2) plot(mashort,color=color.yellow,linewidth = 2) //date range datefilter = true //open conditions if close>malong and close<mashort and strategy.position_size == 0 and datefilter and ta.rsi(close,3)<30 strategy.entry(id="long", direction=strategy.long) //sell conditions strategy.exit(id="cut",from_entry="long",stop=(1-0.01*stoprate)*strategy.position_avg_price,limit=(1+0.01*profit)*strategy.position_avg_price) if close>mashort and close<low[1] and strategy.position_size>0 strategy.close(id ="long")