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

Автор:Чао Чжан, Дата: 2023-11-02 15:10:04
Тэги:

img

Обзор

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

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

Основная логика этой стратегии заключается в следующем:

  1. Вычислить две скользящие средние различных периодов, один является длинный период MA, другой - короткий период MA. Здесь используются открытие цены и закрытия цены MA.

  2. Судите, пересекает ли короткий период MA длинный период MA. Когда короткий период MA пересекает длинный период MA, это указывает на тенденцию к росту на рынке и мы можем пойти длинным. Когда короткий период MA пересекает длинный период MA, это указывает на тенденцию к снижению и мы можем пойти коротким.

  3. Введите сделки в соответствии с направлением тренда. В частности, когда короткий период MA пересекает длинный период MA, идите в длинный. Когда короткий период MA пересекает длинный период MA, идите в короткий.

  4. Установите стоп-лосс и получите прибыль на основе фактических рыночных условий.

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

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

Стратегия двойного маркетинга имеет следующие преимущества:

  1. Логика проста и легко понять и реализовать.

  2. У него четкие критерии въезда и выезда.

  3. Периоды MA могут быть скорректированы в соответствии с различными рыночными условиями.

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

  5. Для контроля рисков существует логика стоп-лосса.

Риски

Существуют также некоторые риски, связанные со стратегией двойного MA:

  1. Стоп-лосс может часто активироваться на рынках с диапазоном.

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

  3. У самих МА есть задержка и они могут упустить возможности для краткосрочной реверсии.

  4. Периоды ОПТ должны быть оптимизированы для эффективности стратегии.

  5. У пересечений MA есть некоторая задержка, что задерживает вход.

Направления к улучшению

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

  1. Оптимизировать периоды MA для различных рыночных условий посредством обратного тестирования.

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

  3. Добавьте индикаторы силы тренда, чтобы избежать торговли, когда нет четкой тенденции.

  4. Рассмотрим показатели объема, чтобы судить о направлении разрыва.

  5. Оптимизировать стоп-лосс вблизи основных уровней поддержки/сопротивления.

Резюме

Стратегия двойного MA - это простая краткосрочная стратегия, основанная на перекрестках MA для определения тренда. Преимущества заключаются в ее простоте и простоте использования. Минусы заключаются в том, что она может быть изменена рыночными показателями и имеет задержки. Мы можем оптимизировать ее путем настройки параметров, добавления фильтров и т. Д., Чтобы сделать ее более надежной для сложных рыночных условий.


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

//@version=2
strategy("GetTrendStrategy timing", overlay=true)
tim=input('370')
 
//////////////////////////////////////////////////////////////////////
// Component Code Start
testStartYear = input(2017, "Backtest Start Year")
testStartMonth = input(10, "Backtest Start Month")
testStartDay = input(25, "Backtest Start Day")
testStartHour = input(7, "Backtest Start Hour")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,testStartHour,0)
testStopYear = input(2017, "Backtest Stop Year")
testStopMonth = input(10, "Backtest Stop Month")
testStopDay = input(30, "Backtest Stop Day")
testStopHour = input(13, "Backtest stop Hour")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,testStartHour,0)
 
testPeriod() => true
// Component Code Stop
//////////////////////////////////////////////////////////////////////
 
 
out1 = request.security(syminfo.tickerid, tim, open)
out2 = request.security(syminfo.tickerid, tim, close)
plot(out1,color=red)
plot(out2,color=green)
longCondition = crossover(request.security(syminfo.tickerid, tim, close),request.security(syminfo.tickerid, tim, open))
 
if testPeriod()
    if (longCondition)
        strategy.entry("long", strategy.long)
shortCondition = crossunder(request.security(syminfo.tickerid, tim, close),request.security(syminfo.tickerid, tim, open))
 
if testPeriod()
    if (shortCondition)
        strategy.entry("short", strategy.short)

Больше