Отслеживание тренда с несколькими скользящими средними и динамическая стратегия стоп-лосса

EMA RSI
Дата создания: 2025-02-10 14:23:43 Последнее изменение: 2025-02-10 14:23:43
Копировать: 4 Количество просмотров: 389
1
Подписаться
1617
Подписчики

Отслеживание тренда с несколькими скользящими средними и динамическая стратегия стоп-лосса

Обзор

Стратегия является системой торговли, которая отслеживает тенденции, основанные на многочисленных индексах сдвигающихся средних (EMA) и относительно сильных показателей (RSI). Стратегия сочетает в себе перекрестные сигналы (EMA) на уровне солнечных линий (20,30,200), подтверждение динамики RSI и механизм динамического остановки, предназначенный для захвата долгосрочных трендовых возможностей на рынке.

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

Основная логика стратегии включает в себя следующие ключевые компоненты:

  1. Входный сигнал: в тот день, когда 20-дневная линия EMA пересекает 30-дневную EMA вверх, и цена находится выше 200-дневных EMA, в то время как RSI больше 50, система генерирует многосигнальный сигнал.
  2. Установка тормоза: после входа установка 50% фиксированного тормоза.
  3. Динамический стоп: используется 25% динамический стоп-трекер, который перемещает стоп-позицию вверх по мере повышения цены.
  4. Механизм выхода: автоматическое закрытие сделки, когда цена достигнет стоп-поста или стоп-поста.

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

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

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

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

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

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

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

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

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

//@version=5
strategy("Talbuaia Signal", overlay=true)

// Request EMAs on the daily timeframe
ema20_daily = request.security(syminfo.tickerid, "D", ta.ema(close, 20), lookahead=barmerge.lookahead_on)
ema30_daily = request.security(syminfo.tickerid, "D", ta.ema(close, 30), lookahead=barmerge.lookahead_on)
ema200_daily = request.security(syminfo.tickerid, "D", ta.ema(close, 200), lookahead=barmerge.lookahead_on)

// RSI Calculation
rsi = ta.rsi(close, 14)

// Plot daily EMAs
plot(ema20_daily, color=color.blue, title="Daily EMA 20")
plot(ema30_daily, color=color.orange, title="Daily EMA 30")
plot(ema200_daily, color=color.red, title="Daily EMA 200")

// Plot RSI
hline(50, "RSI Midline", color=color.gray)
plot(rsi, color=color.purple, title="RSI")

// Entry condition: 20 EMA crosses above 30 EMA, price is above 200 EMA, and RSI > 50
bullishEntry = ta.crossover(ema20_daily, ema30_daily) and close > ema200_daily and rsi > 50

// Variables to track entry price, take profit, and trailing stop
var float entryPriceLong = na
var float highestPriceSinceEntry = na
var float takeProfitLevel = na
var float trailingStopLevel = na

// Entry Logic
if bullishEntry
    strategy.entry("Long", strategy.long)
    entryPriceLong := close
    highestPriceSinceEntry := close  // Initialize the highest price since entry
    takeProfitLevel := entryPriceLong * 1.50  // Set take profit at 50% above entry price
    trailingStopLevel := na  // Reset trailing stop
    label.new(bar_index, close, "BUY", style=label.style_label_up, color=color.green, textcolor=color.white)

// Update highest price and trailing stop dynamically
if strategy.position_size > 0
    highestPriceSinceEntry := math.max(highestPriceSinceEntry, close)  // Track the highest price reached
    trailingStopLevel := highestPriceSinceEntry * (1 - 0.25)  // Set trailing stop at 25% below the highest price

// Exit Logic: Take profit or trailing stop
if strategy.position_size > 0 and (close >= takeProfitLevel or close <= trailingStopLevel)
    strategy.close("Long")
    label.new(bar_index, close, "EXIT LONG", style=label.style_label_down, color=color.red, textcolor=color.white)

// Plot trailing stop and take profit levels on the chart
plot(trailingStopLevel, "Trailing Stop", color=color.red, linewidth=2, style=plot.style_line)
plot(takeProfitLevel, "Take Profit", color=color.green, linewidth=2, style=plot.style_line)