Эта стратегия использует перекрестный переход 9-дневных и 20-дневных скользящих средних для определения направления тренда и принятия торговых решений.
Это простая стратегия следования тренду, основанная на перекрестке 9-дневных и 20-дневных скользящих средних.
Установите цвета свечей. Свечи зелены, если цена закрытия сегодня выше, чем вчера, и красные, если ниже.
Установите цвет 9-дневного MA. Он зеленый, если 9-дневный MA увеличивается, а 20-дневный MA также увеличивается. Он красный, если 9-дневный MA снижается, а 20-дневный MA также снижается. В противном случае он черный.
Установите цвет 20-дневного MA. Он будет черным, если 20-дневный MA поднимется, и черным, если снизится.
Нарисуй 200-дневный MA в флоте.
Нарисуйте точки пересечения 9-дневных и 20-дневных МА в красном.
Нарисуйте средневзвешенную цену по объему (VWAP) белым цветом.
Если 9-дневный средний показатель пересекает 20-дневный средний показатель, выбирайте длинный показатель, а если он пересекается ниже, выбирайте короткий.
Вышеперечисленная стратегия сочетает в себе скользящие средние значения, свечи, точки перекрестности и объемный анализ цен для определения рыночных тенденций и сигналов.
Эта простая краткосрочная стратегия имеет следующие преимущества:
Просто посмотрите на взаимосвязь между двумя МА.
Небольшие выводы подходят для краткосрочной торговли. 9-дневные и 20-дневные МА имеют сглаживающий эффект и снижают шум на рынке.
Легко идентифицировать сигналы тренда.
Интегрирует множество технических индикаторов для принятия лучших решений.
Простой и чистый код для легкого тестирования и оптимизации.
Он работает на любом продукте с данными OHLC.
Несмотря на преимущества, стратегия также несет следующие риски:
Параметры MA нуждаются в оптимизации для разных рынков.
Склонны к ложным перерывам и отступлениям.
Не в состоянии обрабатывать рынки с ограниченным диапазоном. Частые потери могут возникать на рынках без тренда.
Неправильные короткие сигналы могут привести к увеличению потерь на нестабильных рынках.
Не может отвечать на важные новости, основывается исключительно на исторических данных.
Чтобы устранить риски, подумайте о корректировке размеров позиций, использовании стоп-лосса, оптимизации параметров или сочетании с другими факторами.
Стратегия может быть оптимизирована в следующих аспектах:
Оптимизировать периоды MA, чтобы найти наилучшую комбинацию для разных рынков.
Добавьте другие индикаторы к фильтру сигналов, например, MACD, KD, Bollinger Bands. Это может уменьшить ложные сигналы.
Добавьте стратегии стоп-лосса, такие как стоп-лосс, чтобы ограничить потери.
Торгуйте только по очевидным тенденциям и избегайте рынков с ограниченным диапазоном.
Оптимизировать модели управления денежными средствами, включая размещение позиций, стоп-лосс, стоп-лосс и т.д., чтобы улучшить стабильность.
Испытать производительность различных продуктов и временных рамок и регулировать параметры.
Применение моделей машинного обучения, таких как 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)