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

SMA MA RR
Дата создания: 2025-02-18 14:23:08 Последнее изменение: 2025-02-18 14:23:08
Копировать: 0 Количество просмотров: 322
1
Подписаться
1617
Подписчики

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

Обзор

Стратегия - это система отслеживания трендов, основанная на перекрёстке двух равнозначных линий, которая улавливает рыночные тенденции с помощью перекрёстков краткосрочных и долгосрочных движущихся средних, а также управляет риском торгов с использованием соотношения риска и прибыли в размере 1: 3. Стратегия использует фиксированные цели по остановке потерь и прибыли, в то же время использует механизм перемещения потерь для защиты прибыли.

Стратегический принцип

Стратегия использует краткосрочную скользящую среднюю ((Short SMA) 74 циклов и долгосрочную скользящую среднюю ((Long SMA) 70 циклов в качестве основных показателей. Система генерирует многосигналы, когда краткосрочная средняя линия вверх пересекает долгосрочную среднюю линию; система генерирует сигналы заикания, когда краткосрочная средняя линия вниз пересекает долгосрочную среднюю линию.

Стратегические преимущества

  1. Управление рисками: использование фиксированного соотношения риска и прибыли в размере 1:3 помогает получать стабильную прибыль в долгосрочных сделках
  2. Ясность сигнала: использование классической стратегии равнолинейного пересечения, четкость торгового сигнала, легкость его понимания и исполнения
  3. Высокий уровень автоматизации: включает в себя полную логику входа и выхода, без вмешательства человека
  4. Мобильная защита от убытков: с помощью мобильного механизма убытков можно эффективно блокировать уже достигнутую прибыль
  5. Строгий контроль позиций: фиксированный размер позиции, избегайте чрезмерного риска

Стратегический риск

  1. Остаточность средней: скользящая средняя по своей сути является отсталым показателем, который может создавать отсталые сигналы в быстро меняющихся рынках
  2. Не применяется для рынков с колебаниями: ложные сигналы могут часто возникать на рынках с горизонтальными колебаниями, что приводит к последовательным потерям
  3. Риск фиксированного стопа: фиксированный стоп в долларах США может быть недостаточно гибким в условиях резких колебаний цен
  4. Ограничение по времени: стратегия работает только в определенный период времени и может пропустить важные торговые возможности

Направление оптимизации стратегии

  1. Динамическая адаптация среднелинейного цикла: можно автоматически корректировать среднелинейный цикл в зависимости от рыночных колебаний, повышая адаптивность стратегии
  2. Введение фильтра волатильности: добавление ATR или других волатильных показателей для корректировки стоп-лосса во время высокой волатильности
  3. Оптимизация управления позициями: динамическая корректировка позиций, основанная на чистой стоимости счетов, повышает эффективность использования средств
  4. Увеличение фильтрации рыночных условий: введение индикатора интенсивности тренда, автоматическое снижение частоты торгов на рынках со сдвигом
  5. Улучшение механизмов выхода: разработка более гибких механизмов получения прибыли в сочетании с ценовыми прорывами или динамическими показателями

Подвести итог

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

Исходный код стратегии
/*backtest
start: 2024-02-18 00:00:00
end: 2025-02-17 00:00:00
period: 4h
basePeriod: 4h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bitcoin Strategy by Jag", overlay=true)

// Input Parameters
shortSMALength = input.int(74, title="Short SMA Length")
longSMALength = input.int(70, title="Long SMA Length")
trailStopOffset = input.float(353, title="Trailing Stop Offset (USD)")  // Trailing Stop Loss Offset in USD
tradeSize = input.float(1, title="Trade Size")

// Automatically set Take Profit as 3 times Stop Loss
fixedTakeProfit = trailStopOffset * 3

// Backtesting Date Range
startDate = timestamp(2025, 02,13, 0, 0)
endDate = timestamp(2025, 03, 31, 23, 59)
withinDateRange = true

// Indicators
shortSMA = ta.sma(close, shortSMALength)
longSMA = ta.sma(close, longSMALength)

// Crossover Conditions
longCondition = withinDateRange and ta.crossover(shortSMA, longSMA)
shortCondition = withinDateRange and ta.crossunder(shortSMA, longSMA)

// Entry Logic
if (strategy.position_size == 0)  // Only allow new trades if no position is open
    if (longCondition)
        strategy.entry("Long", strategy.long, tradeSize)

    if (shortCondition)
        strategy.entry("Short", strategy.short, tradeSize)

// Exit Logic for Long Position
if (strategy.position_size > 0)
    strategy.exit("Long exit", "Long", stop=strategy.position_avg_price - trailStopOffset, limit=strategy.position_avg_price + fixedTakeProfit)  // Using stop and limit

// Exit Logic for Short Position
if (strategy.position_size < 0)
    strategy.exit("Short Exit", "Short", stop=strategy.position_avg_price + trailStopOffset, limit=strategy.position_avg_price - fixedTakeProfit)  // Using stop and limit

// Plot Moving Averages
plot(shortSMA, color=color.blue, title="Short SMA")
plot(longSMA, color=color.black, title="Long SMA")

// Visual Signals
plotshape(series=longCondition and strategy.position_size == 0, style=shape.labelup, location=location.belowbar, color=color.green, text="BUY", size=size.small)
plotshape(series=shortCondition and strategy.position_size == 0, style=shape.labeldown, location=location.abovebar, color=color.red, text="SELL", size=size.small)