В процессе загрузки ресурсов... загрузка...

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

Автор:Чао Чжан, Дата: 2023-11-06 10:27:00
Тэги:

img

Обзор

Эта стратегия определяет рыночные тенденции, рассчитывая перекрестные ситуации между 9-дневным скользящим средним (МА), 20-дневным МА и 200-дневным МА. Она сочетает в себе классическую идею перекрестного двойного МА с 200-дневным МА, который измеряет долгосрочную тенденцию. Это относительно стабильная и надежная стратегия торговли трендом.

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

Эта стратегия в основном оценивает ценовые тенденции путем расчета взаимосвязей между 9-дневным MA, 20-дневным MA и 200-дневным MA.

Во-первых, он рассчитывает 9-дневный MA и 20-дневный MA. Если 9-дневный MA пересекает 20-дневный MA, это сигнал покупки. Если 9-дневный MA пересекает 20-дневный MA, это сигнал продажи. Это самое основное правило суждения о перекрестном двойном MA.

Во-вторых, он рассчитывает 200-дневный MA как индикатор для оценки долгосрочных тенденций. Если 20-дневный MA пересекает 200-дневный MA, это сигнализирует о долгосрочном бычьем взгляде. Если 20-дневный MA пересекает 200-дневный MA, это сигнализирует о долгосрочном медвежьем взгляде.

Наконец, он объединяет отношения между 9-дневным MA, 20-дневным MA и 200-дневным MA, чтобы определить конкретные точки входа и выхода.

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

Анализ преимуществ

  1. Использование кроссовера с двойным MA может эффективно отслеживать среднесрочные краткосрочные ценовые тенденции и приносить прибыль.

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

  3. Объединение нескольких MA-отношений делает сигналы более надежными и избегает неэффективных сделок.

  4. Сигналы пересечения MA ясны и легко оцениваются, подходящие для ручной практики торговли.

  5. Простой и чистый код легко понять и реализовать, хорошо для начинающих квантовой торговли.

  6. Гибкость оптимизации, например, корректировка периодов MA или добавление других показателей.

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

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

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

  3. Кроссоверные сигналы могут отставать и не могут полностью избежать потерь в сделках.

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

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

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

  1. Испытать различные комбинации периодов MA для определения оптимальных параметров.

  2. Добавьте стратегии стоп-лосса для строгого контроля суммы потерь по сделке.

  3. Рассмотрим размер позиций в зависимости от меняющихся рыночных условий.

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

  5. Оптимизируйте выход, устанавливая разумные уровни прибыли.

  6. Добавьте больше индикаторов, чтобы оценить тенденции и вероятность снижения.

  7. Добавьте модели машинного обучения, чтобы открыть более сложную логику торговли.

Заключение

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


/*backtest
start: 2023-10-29 00:00:00
end: 2023-11-05 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=1
strategy("Dieyson Swingtrade EMA 20+200 and bar & line color", overlay=true)


//bar color rules
Dgbar = close>close[1] and ema(close,20)>ema(close[1],20)
Drbar = close<close[1] and ema(close,20)<ema(close[1],20)

//Barcolors
barcolor(Dgbar ? green : na)
barcolor(Drbar ? red : na)

//MM09 Colorful

MMgreen9 = ema(close,9)>ema(close[1],9) and ema(close,20)>ema(close[1],20)
MMred9 = ema(close,9)<ema(close[1],9) and ema(close,9)<ema(close[1],9)
col8 = (MMgreen9 ? color(green,0) : na)
col28 = (MMred9 ? color(red,0) : na)
col38 = (not MMgreen9 and not MMred9 ? color(black,0) : na)

//plot(ema(close,9), color=col8, style=line, linewidth=1)
//plot(ema(close,9), color=col28, style=line, linewidth=1)
//plot(ema(close,9), color=col38, style=line, linewidth=1)

//MM20 Colorful

MMgreen = ema(close,20)>ema(close[1],20)
MMred = ema(close,20)<ema(close[1],20)
col = (MMgreen ? color(green,0) : na)
col2 = (MMred ? color(red,0) : na)
col3 = (not MMgreen and not MMred ? color(yellow,0) : na)
col4 = color(black,0)
plot(ema(close,20), color=col, style=line, linewidth=2)
plot(ema(close,20), color=col2, style=line, linewidth=2)
plot(ema(close,20), color=col3, style=line, linewidth=2)
plot(ema(close,200), color=col4, style=line, linewidth=3)
//plot(vwap(15), color(white,0), style=line, linewidth=3)
//plot(cross(ema(close,9), ema(close,20)) ? ema(close,9) : na, style = cross,color=fuchsia, transp=0, linewidth = 4)
plot(cross(ema(close,20), ema(close,200)) ? ema(close,20) : na, style = cross,color=fuchsia, transp=0, linewidth = 4)

c = crossover(ema(close,9), ema(close,20)) and ema(close,9) > ema(close,20)
// c = crossover(close, ema (close,9) and ema(close,9) > ema(close[1],9))
v = crossunder(close, ema (close,9))

strategy.entry("COMPRA", strategy.long,when=c)
strategy.entry("VENDA", strategy.short,when=v)




Больше