Стратегия двойной скользящей средней является широко используемой краткосрочной торговой стратегией. Она оценивает направление тренда рынка путем расчета скользящих средних различных периодов и использует это для вступления в сделки. Когда скользящая средняя короткого периода пересекает длинный скользящий средний период, идите длинным. Когда скользящая средняя короткого периода пересекает длинный скользящий средний период, идите коротким.
Основная логика этой стратегии заключается в следующем:
Вычислить две скользящие средние различных периодов, один является длинный период MA, другой - короткий период MA. Здесь используются открытие цены и закрытия цены MA.
Судите, пересекает ли короткий период MA длинный период MA. Когда короткий период MA пересекает длинный период MA, это указывает на тенденцию к росту на рынке и мы можем пойти длинным. Когда короткий период MA пересекает длинный период MA, это указывает на тенденцию к снижению и мы можем пойти коротким.
Введите сделки в соответствии с направлением тренда. В частности, когда короткий период MA пересекает длинный период MA, идите в длинный. Когда короткий период MA пересекает длинный период MA, идите в короткий.
Установите стоп-лосс и получите прибыль на основе фактических рыночных условий.
Стратегия использует способность оценки тренда MAs для определения взаимосвязи между краткосрочными и долгосрочными тенденциями, чтобы фиксировать краткосрочные движения.
Стратегия двойного маркетинга имеет следующие преимущества:
Логика проста и легко понять и реализовать.
У него четкие критерии въезда и выезда.
Периоды MA могут быть скорректированы в соответствии с различными рыночными условиями.
Он отслеживает как тенденцию, так и среднее изменение, что позволяет ему получать прибыль от среднесрочных движений.
Для контроля рисков существует логика стоп-лосса.
Существуют также некоторые риски, связанные со стратегией двойного MA:
Стоп-лосс может часто активироваться на рынках с диапазоном.
Сигналы MA могут быть слишком частыми во время волатильности рынков, что затрудняет удержание позиций.
У самих МА есть задержка и они могут упустить возможности для краткосрочной реверсии.
Периоды ОПТ должны быть оптимизированы для эффективности стратегии.
У пересечений MA есть некоторая задержка, что задерживает вход.
Некоторые способы улучшения этой стратегии:
Оптимизировать периоды MA для различных рыночных условий посредством обратного тестирования.
Добавьте другие индикаторы в качестве фильтров для предотвращения колебаний на рыночных диапазонах.
Добавьте индикаторы силы тренда, чтобы избежать торговли, когда нет четкой тенденции.
Рассмотрим показатели объема, чтобы судить о направлении разрыва.
Оптимизировать стоп-лосс вблизи основных уровней поддержки/сопротивления.
Стратегия двойного 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)