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

Автор:Чао Чжан, Дата: 2023-12-15 11:49:06
Тэги:

img

Обзор

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

Логика стратегии

Эта стратегия использует 20-дневную простую скользящую среднюю в качестве показателя ежемесячной линии и 60-дневную простую скользящую среднюю в качестве показателя квартальной линии.

  1. Когда 20-дневная линия пересекает 60-дневную линию, то есть происходит золотой крест, делайте длинный.
  2. Когда цена снижается более чем на 10% от самой высокой точки за последние 10 дней, закрывайте длинные позиции для получения прибыли.
  3. Когда 20-дневная линия пересекает 60-дневную линию, то есть происходит смертельный перекресток, закрывайте все позиции.
  4. Когда убыток достигнет 10%, остановите убытки.

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

Преимущества стратегии

  1. Использование ежемесячных и квартальных скользящих средних отфильтровывает шум рынка и отражает средне- и долгосрочные тенденции.
  2. Параметры стратегии просты и просты в реализации.
  3. Настраиваемые параметры получения прибыли и остановки убытков для контроля рисков.

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

  1. Невозможно определить точки переворота тренда, с риском потерь.
  2. Ежемесячные и квартальные скользящие средние имеют отстающие эффекты, потенциально упускающие краткосрочные возможности.
  3. Необходимо выбрать подходящие точки остановки, чтобы избежать слишком быстрого остановки.

Решения:

  1. Используйте стоп-лосс для своевременной остановки.
  2. Включить другие индикаторы для фильтрации сигналов и определения тенденций.
  3. Настраивайте скользящие средние параметры для оптимизации стратегии.

Руководство по оптимизации стратегии

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

Резюме

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


/*backtest
start: 2022-12-08 00:00:00
end: 2023-12-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("均線操作-月季", overlay=true, initial_capital = 100000, default_qty_type = strategy.percent_of_equity, default_qty_value = 30)
sma20 = sma(close, 20)
sma60 = sma(close, 60)

plot(sma20, title="月線", color=color.purple,linewidth=2)
plot(sma60, title="季線", color=color.yellow,linewidth=2)

backtest_year = input(title="backtest_year",type=input.integer,defval=2020)
backtest_month = input(title="backtest_month",type=input.integer,defval=10)
backtest_date = input(title="backtest_date",type=input.integer,defval=1)
backtest_start_time = timestamp(backtest_year,backtest_month,backtest_date,0,0,0)

to_long = sma20 > sma60  and close > highest(10)*0.9 // 黃金交叉
to_close = sma20 < sma60 // 死亡交叉
to_exit = close < highest(10)*0.9 //股價嚴重回檔
to_stop = close < 0.9*strategy.position_avg_price 

// to_long = crossover(sma20, sma60)   // 黃金交叉
// to_close = crossunder(sma20, sma60) // 死亡交叉

//plotchar(to_long, char="B", text="買", color=color.red, location=location.belowbar)
//plotchar(to_close, char="S", text="賣", color=color.green, location=location.abovebar)
//strategy.close("open long",when = tslide, comment="多單滑價7%出場")
if true
    strategy.entry("golden", strategy.long,  when=to_long,comment="多單入場")
    strategy.close("golden",  when=to_exit,comment="多單滑價7%出場")
    strategy.close("golden",  when=to_close,comment="月線季線死亡交叉")
    strategy.close("golden",  when=to_stop,comment="虧損10%強迫停損")


Больше