Стратегия торговли по тренду с несколькими индикаторами Momentum Breakout

WPR MACD EMA RRR SL TP
Дата создания: 2025-02-24 09:18:48 Последнее изменение: 2025-02-24 09:18:48
Копировать: 2 Количество просмотров: 326
2
Подписаться
319
Подписчики

Стратегия торговли по тренду с несколькими индикаторами Momentum Breakout Стратегия торговли по тренду с несколькими индикаторами Momentum Breakout

Обзор

Стратегия представляет собой комбинацию многочисленных индикаторов, основанных на показателях Вильгельма (%R), движущихся средних трендовых показателей (MACD) и движущихся средних индексов (EMA). По сути, она создает целостную систему торговли, которая отслеживает тенденции, определяя состояние перепродажи и перекупа на рынке в сочетании с изменяющимися тенденциями динамических показателей и поддержкой средней линии. Стратегия включает в себя не только генерацию входных сигналов, но и разработку совершенного механизма управления рисками.

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

Стратегия основана на совместном использовании следующих трех ключевых показателей:

  1. Индикатор Вильгельма ((%R) используется для идентификации состояния перепродажи на рынке, когда индикатор прорывается вверх от зоны перепродажи (ниже -80), что указывает на возможное появление позитивного обратного сигнала
  2. MACD-индикатор подтверждает изменение динамики с помощью перекрёстного подтверждения динамики с помощью быстрого и медленного линий, а также подтверждает повышенную энергию, когда MACD-линия пересекает сигнальную линию
  3. 55-циклическая EMA в качестве фильтра на тренд рассматривается только в том случае, если цена находится выше EMA, а не в виде пустоты

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

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

  1. Многопоказательная перекрестная проверка: значительное снижение вероятности возникновения ложных сигналов с помощью использования трехпоказателей Уильямса, MACD и EMA
  2. Отличный контроль риска: разработанный динамический стоп-стоп, основанный на соотношении риска и прибыли, с четкими целями контроля риска для каждой сделки
  3. Тренд-слежение в сочетании с поворотом: одновременно с захватом возможности перекупа и перепродажи поворота, EMA обеспечивает следование направлению основной тенденции
  4. Настраиваемость параметров: циклические параметры основных индикаторов могут быть оптимизированы в соответствии с различными рыночными характеристиками

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

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

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

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

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

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

Исходный код стратегии
/*backtest
start: 2025-02-19 00:00:00
end: 2025-02-23 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Binance","currency":"SOL_USDT"}]
*/

//@version=5
strategy("Williams %R & MACD Swing Strategy", overlay=true)

// INPUTS
length_wpr = input(14, title="Williams %R Length")
overbought = input(-20, title="Overbought Level")
oversold = input(-80, title="Oversold Level")

// MACD Inputs
fastLength = input(12, title="MACD Fast Length")
slowLength = input(26, title="MACD Slow Length")
signalSmoothing = input(9, title="MACD Signal Smoothing")

// EMA for Trend Confirmation
ema_length = input(55, title="EMA Length")
ema55 = ta.ema(close, ema_length)

// INDICATORS
wpr = ta.wpr(length_wpr)
[macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalSmoothing)

// LONG ENTRY CONDITIONS
longCondition = ta.crossover(wpr, oversold) and ta.crossover(macdLine, signalLine) and close > ema55
if longCondition
    strategy.entry("Long", strategy.long)

// SHORT ENTRY CONDITIONS
shortCondition = ta.crossunder(wpr, overbought) and ta.crossunder(macdLine, signalLine) and close < ema55
if shortCondition
    strategy.entry("Short", strategy.short)

// RISK MANAGEMENT
riskRewardRatio = input(1.5, title="Risk-Reward Ratio")
stopLossPerc = input(2, title="Stop Loss %") / 100
takeProfitPerc = stopLossPerc * riskRewardRatio

longSL = strategy.position_avg_price * (1 - stopLossPerc)
longTP = strategy.position_avg_price * (1 + takeProfitPerc)

shortSL = strategy.position_avg_price * (1 + stopLossPerc)
shortTP = strategy.position_avg_price * (1 - takeProfitPerc)

strategy.exit("Take Profit / Stop Loss", from_entry="Long", loss=longSL, profit=longTP)
strategy.exit("Take Profit / Stop Loss", from_entry="Short", loss=shortSL, profit=shortTP)