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