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

Автор:Чао Чжан, Дата: 2023-10-08 14:25:40
Тэги:

Обзор

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

Принцип

Стратегия использует две скользящие средние для определения направления тренда.

  1. Вычислить среднюю линию для короткого периода p1 и длинного периода p2.

  2. Определите, находится ли цена выше или ниже средней линии, генерируя значения bool вверх и вниз.

  3. Использовать SMA для сглаживания значения вверх и вниз, определяя направление тренда и trend_2.

  4. Когда тренд и trend_2 согласуются, генерируются длинные или короткие сигналы.

  5. Цветные полоски визуально указывают на тенденцию.

  6. Вступайте в сделки, когда краткосрочные и долгосрочные тенденции согласуются.

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

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

Основными преимуществами этой стратегии являются:

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

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

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

  4. Простая и понятная логика подходит для всех трейдеров.

  5. Настраиваемые скользящие средние периоды позволяют оптимизировать для любого рынка.

  6. Визуальное цветение панели обеспечивает интуитивное направление тренда.

Риски

Некоторые риски следует учитывать:

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

  2. Ушибки происходят, когда рынки колеблются по скользящим средним.

  3. Подумайте о более коротких периодах или дополнительных стратегиях.

  4. Неправильное размещение стоп-лосса может привести к большим потерям, когда тенденции внезапно меняются.

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

Усовершенствования

Некоторые способы улучшения стратегии:

  1. Добавьте дополнительные фильтры, такие как громкость или импульс, чтобы избежать ударов.

  2. Используйте адаптивные периоды, которые корректируются в зависимости от рыночных условий.

  3. Добавить правила размещения позиций на основе силы тренда для руководства.

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

  5. Подумайте о машинном обучении для оценки точности тренда и улучшения логики входа/выхода.

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

Заключение

В целом, стратегия Dual Moving Average Trend Following обеспечивает простой и практичный подход к определению тренда. Сочетая краткосрочные и долгосрочные перспективы, она генерирует высокодоверчивые сигналы входа, подходящие для большинства трейдеров тренда. Риски существуют и могут быть смягчены путем оптимизации, управления рисками и дискреции. В целом, стратегия двойной движущейся средней остается надежным, классическим подходом к тренду.


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

//@version=2
// My Tradingview Scripts : https://bit.ly/2HKtr7k 
strategy("UniDir Strategy", overlay=true, initial_capital=50000, default_qty_value=50000, default_qty_type=strategy.cash, slippage=3, commission_type=strategy.commission.percent, commission_value=0.075, pyramiding=0)

p1=input(14)
p2=input(21)


Price = close
mid = (highest(high, p1)+lowest(low, p1)) / 2
mid_2 = (highest(high, p2)+lowest(low, p2)) / 2

//Trend
up = Price > mid ? 1 : 0
up_2 = Price > mid_2 ? 1 : 0
down = Price < mid ? 1 : 0
down_2 = Price < mid_2 ? 1 : 0
trend = sma(up, 2) == 1 ? 1 : sma(down, 2) == 1 ? -1 : nz(trend[1])
trend_2 = sma(up_2, 2) == 1 ? 1 : sma(down_2, 2) == 1 ? -1 : nz(trend_2[1])

dir1=trend==1 ? lime : red
dir2=trend_2==1 ? lime : red
dir_all=trend==1 and trend_2==1 ? lime : red

top_p=plot(1)
hi_p=plot(0.4)
mid_p=plot(0.2)
lo_p=plot(0)

fill(hi_p,mid_p,color=dir1,transp=80)
fill(lo_p,mid_p,color=dir2,transp=80)
fill(top_p,hi_p,color=dir_all,transp=0)

// Entry
long_cond = trend==1 and trend_2==1
short_cond = trend==-1 and trend_2==-1

if long_cond
    strategy.entry("Long",strategy.long)
if short_cond
    strategy.entry("Short",strategy.short)

Больше