Двойная скользящая средняя, ​​следующая за трендом торговая система в сочетании со стратегией оптимизации соотношения риска и доходности

EMA RRR
Дата создания: 2024-11-28 17:20:13 Последнее изменение: 2024-11-28 17:20:13
Копировать: 0 Количество просмотров: 404
1
Подписаться
1617
Подписчики

Двойная скользящая средняя, ​​следующая за трендом торговая система в сочетании со стратегией оптимизации соотношения риска и доходности

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

Обзор стратегии

Стратегия использует 20-дневную и 200-дневную EMA в качестве основных индикаторов для принятия торговых решений в сочетании с 3: 1 рисково-прибыльным соотношением. Система посылает сигнал покупки, когда цена превышает 20-дневную среднюю линию и 20-дневная средняя линия находится выше 200-дневной средней линии. Для каждой сделки устанавливается фиксированный уровень остановки (-0,5%) и прибыли (-1,5%), чтобы обеспечить контроль риска.

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

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

  1. Используйте 20-дневную и 200-дневную ЭМА для определения рыночных тенденций, 200-дневная средняя линия представляет собой долгосрочную тенденцию, 20-дневная средняя линия отражает краткосрочные тенденции
  2. Когда цена превышает 20-дневную среднюю и 20-дневная средняя находится выше 200-дневной средней, это указывает на то, что рынок находится в восходящей тенденции.
  3. Риск-прибыль соотношение 3:1 означает, что остановка ((1,5%) в 3 раза больше остановки ((0,5%)
  4. Настройка переменных для отслеживания состояния сделки и предотвращения повторного входа
  5. Перезагрузка сделки, когда цена опускается ниже 20-дневного среднего, чтобы подготовиться к следующей сделке

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

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

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

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

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

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

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

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

Исходный код стратегии
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-27 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Estrategia de Compra con Ratio 3:1", overlay=true)

// Parámetros de la temporalidad diaria y las EMAs
ema20 = ta.ema(close, 20)
ema200 = ta.ema(close, 200)

// Condiciones para la entrada en largo
cierre_por_encima_ema20 = close > ema20
ema20_mayor_ema200 = ema20 > ema200

// Variable para registrar si ya se realizó una compra
var bool compra_realizada = false

// Condición para registrar una compra: primera vez que cierra por encima de EMA 20 con EMA 20 > EMA 200
if (cierre_por_encima_ema20 and ema20_mayor_ema200 and not compra_realizada)
    // Abrir una operación de compra
    strategy.entry("Compra", strategy.long)
    compra_realizada := true  // Registrar que se realizó una compra

    // Definir los niveles de stop loss y take profit basados en el ratio 3:1
    stop_loss = strategy.position_avg_price * 0.995  // -0.50% (rendimiento)
    take_profit = strategy.position_avg_price * 1.015  // +1.50% (3:1 ratio)
    
    // Establecer el stop loss y take profit
    strategy.exit("Take Profit / Stop Loss", from_entry="Compra", stop=stop_loss, limit=take_profit)

// Condición para resetear la compra: cuando el precio cierra por debajo de la EMA de 20
if (close < ema20)
    compra_realizada := false  // Permitir una nueva operación

// Ploteo de las EMAs
plot(ema20, title="EMA 20", color=color.blue, linewidth=2)
plot(ema200, title="EMA 200", color=color.red, linewidth=2)

// Colorear el fondo cuando el precio está por encima de ambas EMAs
bgcolor(cierre_por_encima_ema20 and ema20_mayor_ema200 ? color.new(color.green, 80) : na)