стратегия, основанная на движущихся средних

Автор:Чао Чжан, Дата: 2023-10-31 14:00:47
Тэги:

img

Обзор

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

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

Эта стратегия в основном опирается на кроссоверы MA для генерации торговых сигналов.

  1. Вычислите быстрый и медленный периоды, быстрый и медленный периоды составляют 10, а медленный период составляет 50.

  2. Определите MA-отношения. Сигнал покупки генерируется, когда быстрый MA пересекает медленный MA. Сигнал продажи генерируется, когда быстрый MA пересекает медленный MA.

  3. Выпускать сигналы покупки и продажи. Долго идти, когда происходит сигнал покупки. Сократить, когда происходит сигнал продажи.

  4. После вступления в сделку, установите стоп-лосс на основе процента ввода и возьмите прибыль для управления рисками.

Сравнивая изменения ценового тренда в разные временные рамки, эта стратегия определяет, находится ли рынок в настоящее время в восходящем или нисходящем тренде.

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

  • Эффективно отслеживает средне- и долгосрочные тенденции, используя присущий трендопоследовательному характеру МА.

  • Простые и четкие перекрестные сигналы, которые легко внедряются.

  • Настраиваемые быстро и медленно периоды для оптимизации параметров.

  • Ограничивает убытки на отдельных сделках с помощью стоп-лосса.

Риски

  • Склонны к перебоям и переоценкам на рынках с ограниченным диапазоном.

  • МА отстают и могут упустить краткосрочные возможности.

  • Не учитывает внезапные события, такие как значительные медвежие новости.

  • Отсутствие механизмов управления рисками и может привести к потерям, превышающим допустимую степень риска.

Управление рисками:

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

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

  3. Дополнение с аналитикой новостей.

  4. Внедрять стоп-лосс и размещение позиций для ограничения потерь.

Усовершенствования

  • Комбинируйте с другими аналитическими инструментами, такими как каналы и шаблоны, чтобы улучшить качество сигнала.

  • Оптимизируйте параметры быстрого и медленного MA, чтобы найти лучшие комбинации. 10-30 дней для быстрого MA и 20-120 дней для медленного MA часто хорошо работают.

  • Добавление правил размещения позиций. Фиксированное дробное размещение позиций может улучшить прибыль в трендах.

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

  • Бактэст и бумажная торговля для оценки эффективности и непрерывного совершенствования системы.

Резюме

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


/*backtest
start: 2023-09-30 00:00:00
end: 2023-10-30 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Simple Moving Average Crossover", overlay=true)

// Input parameters
fast_length = input(10, title="Fast MA Length")
slow_length = input(50, title="Slow MA Length")
stop_loss_pct = input(1, title="Stop Loss Percentage", minval=0, maxval=5) / 100

// Calculate moving averages
fast_ma = sma(close, fast_length)
slow_ma = sma(close, slow_length)

// Plot moving averages
plot(fast_ma, color=color.blue, title="Fast MA")
plot(slow_ma, color=color.red, title="Slow MA")

// Strategy logic
long_condition = crossover(fast_ma, slow_ma)
short_condition = crossunder(fast_ma, slow_ma)

// Execute trades
if (long_condition)
    strategy.entry("Long", strategy.long)

if (short_condition)
    strategy.entry("Short", strategy.short)

// Set stop loss
long_stop_price = close * (1 - stop_loss_pct)
short_stop_price = close * (1 + stop_loss_pct)

strategy.exit("Stop Loss/Profit", from_entry="Long", stop=long_stop_price)
strategy.exit("Stop Loss/Profit", from_entry="Short", stop=short_stop_price)


Больше