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

Автор:Чао Чжан, Дата: 2023-09-28 11:17:10
Тэги:

Обзор

Эта стратегия использует перекрестный переход 9-дневных и 20-дневных скользящих средних для определения направления тренда и принятия торговых решений.

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

Это простая стратегия следования тренду, основанная на перекрестке 9-дневных и 20-дневных скользящих средних.

  1. Установите цвета свечей. Свечи зелены, если цена закрытия сегодня выше, чем вчера, и красные, если ниже.

  2. Установите цвет 9-дневного MA. Он зеленый, если 9-дневный MA увеличивается, а 20-дневный MA также увеличивается. Он красный, если 9-дневный MA снижается, а 20-дневный MA также снижается. В противном случае он черный.

  3. Установите цвет 20-дневного MA. Он будет черным, если 20-дневный MA поднимется, и черным, если снизится.

  4. Нарисуй 200-дневный MA в флоте.

  5. Нарисуйте точки пересечения 9-дневных и 20-дневных МА в красном.

  6. Нарисуйте средневзвешенную цену по объему (VWAP) белым цветом.

  7. Если 9-дневный средний показатель пересекает 20-дневный средний показатель, выбирайте длинный показатель, а если он пересекается ниже, выбирайте короткий.

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

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

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

  1. Просто посмотрите на взаимосвязь между двумя МА.

  2. Небольшие выводы подходят для краткосрочной торговли. 9-дневные и 20-дневные МА имеют сглаживающий эффект и снижают шум на рынке.

  3. Легко идентифицировать сигналы тренда.

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

  5. Простой и чистый код для легкого тестирования и оптимизации.

  6. Он работает на любом продукте с данными OHLC.

Риски

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

  1. Параметры MA нуждаются в оптимизации для разных рынков.

  2. Склонны к ложным перерывам и отступлениям.

  3. Не в состоянии обрабатывать рынки с ограниченным диапазоном. Частые потери могут возникать на рынках без тренда.

  4. Неправильные короткие сигналы могут привести к увеличению потерь на нестабильных рынках.

  5. Не может отвечать на важные новости, основывается исключительно на исторических данных.

Чтобы устранить риски, подумайте о корректировке размеров позиций, использовании стоп-лосса, оптимизации параметров или сочетании с другими факторами.

Оптимизация

Стратегия может быть оптимизирована в следующих аспектах:

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

  2. Добавьте другие индикаторы к фильтру сигналов, например, MACD, KD, Bollinger Bands. Это может уменьшить ложные сигналы.

  3. Добавьте стратегии стоп-лосса, такие как стоп-лосс, чтобы ограничить потери.

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

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

  6. Испытать производительность различных продуктов и временных рамок и регулировать параметры.

  7. Применение моделей машинного обучения, таких как RNN и LSTM, для разработки функций и оптимизации параметров.

Заключение

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


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

//@version=1
strategy("Dieyson daytrade EMA 9+20+200+VWAP 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=2)
plot(ema(close,9), color=col28, style=line, linewidth=2)
plot(ema(close,9), color=col38, style=line, linewidth=2)

//MM20 Colorful

MMgreen = ema(close,20)>ema(close[1],20)
MMred = ema(close,20)<ema(close[1],20)
col = (MMgreen ? color(black,0) : na)
col2 = (MMred ? color(black,0) : na)
col3 = (not MMgreen and not MMred ? color(black,0) : na)
col4 = color(navy,0)
plot(ema(close,20), color=col, style=line, linewidth=1)
plot(ema(close,20), color=col2, style=line, linewidth=1)
plot(ema(close,20), color=col3, style=line, linewidth=1)
plot(ema(close,200), color=col4, 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,9), ema(close,200)) ? ema(close,9) : na, style = cross, color=fuchsia, transp=0,linewidth = 4)

colorvwap = color(white,0)
plot(vwap, color=colorvwap, style=line, linewidth=1)

c = crossover(ema(close,9), ema(close,20)) and ema(close,9) > ema(close,20)
v = crossunder(ema(close,9), ema(close,20))

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




Больше