Многослойная скользящая средняя кроссовер точная стратегия отслеживания тренда

SMA MA CROSS Trend TICK
Дата создания: 2025-02-21 14:32:49 Последнее изменение: 2025-02-21 14:32:49
Копировать: 2 Количество просмотров: 355
2
Подписаться
319
Подписчики

Многослойная скользящая средняя кроссовер точная стратегия отслеживания тренда Многослойная скользящая средняя кроссовер точная стратегия отслеживания тренда

Обзор

Стратегия представляет собой систему отслеживания трендов на основе многоуровневых скользящих средних (SMA) в сочетании с точными методами перекрестного выявления. Она определяет рыночные тенденции посредством иерархических отношений 20-ти, 50-ти, 100-ти и 200-ти циклов скользящих средних и использует перекрестки в режиме реального времени с скользящими средними для запуска торговых сигналов.

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

Стратегия использует трехслойный механизм фильтрации трендов, требуя, чтобы 50-циклическая средняя линия была выше 100-циклической средней линии, а 100-циклическая средняя линия была выше 200-циклической средней линии, чтобы подтвердить восходящий тренд, а наоборот, подтвердить нисходящий тренд. Входный сигнал основан на перекрестке цены с 50-циклической средней линией, используя расчетные данные для достижения точного перекрестного обнаружения, чтобы определить, когда происходит перекресток, сравнивая текущее поведение цены с отношением к положению предыдущей K-линии.

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

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

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

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

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

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

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

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

Исходный код стратегии
/*backtest
start: 2024-02-22 00:00:00
end: 2024-06-25 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/

//@version=5
strategy("Multi-SMA Strategy - Core Signals", overlay=true)

// ———— Universal Inputs ———— //
int smaPeriod1 = input(20, "Fast SMA")
int smaPeriod2 = input(50, "Medium SMA")
bool useTickCross = input(true, "Use Tick-Precise Crosses")

// ———— Timezone-Neutral Calculations ———— //
sma20 = ta.sma(close, smaPeriod1)
sma50 = ta.sma(close, smaPeriod2)
sma100 = ta.sma(close, 100)
sma200 = ta.sma(close, 200)

// ———— Tick-Precise Cross Detection ———— //
golden_cross = useTickCross ? 
  (high >= sma50 and low[1] < sma50[1]) : 
  ta.crossover(sma20, sma50)

death_cross = useTickCross ? 
  (low <= sma50 and high[1] > sma50[1]) : 
  ta.crossunder(sma20, sma50)

// ———— Trend Filter ———— //
uptrend = sma50 > sma100 and sma100 > sma200
downtrend = sma50 < sma100 and sma100 < sma200

// ———— Entry Conditions ———— //
longCondition = golden_cross and uptrend
shortCondition = death_cross and downtrend

// ———— Exit Conditions ———— //
exitLong = ta.crossunder(low, sma20)
exitShort = ta.crossover(high, sma20)

// ———— Strategy Execution ———— //
strategy.entry("Long", strategy.long, when=longCondition)
strategy.entry("Short", strategy.short, when=shortCondition)
strategy.close("Long", when=exitLong)
strategy.close("Short", when=exitShort)

// ———— Clean Visualization ———— //
plot(sma20, "20 SMA", color.new(color.blue, 0))
plot(sma50, "50 SMA", color.new(color.red, 0))
plot(sma100, "100 SMA", color.new(#B000B0, 0), linewidth=2)
plot(sma200, "200 SMA", color.new(color.green, 0), linewidth=2)

// ———— Signal Markers ———— //
plotshape(longCondition,  "Long Entry", shape.triangleup, location.belowbar, color.green, 0)
plotshape(shortCondition, "Short Entry", shape.triangledown, location.abovebar, color.red, 0)
plotshape(exitLong,  "Long Exit", shape.xcross, location.abovebar, color.blue, 0)
plotshape(exitShort, "Short Exit", shape.xcross, location.belowbar, color.orange, 0)