В процессе загрузки ресурсов... загрузка...

Двойная скользящая средняя тенденция после торговой системы со стратегией оптимизации соотношения риск-вознаграждение

Автор:Чао Чжан, Дата: 2024-11-28 17:20:13
Тэги:ЕМАRRR

img

В области количественной торговли стратегии, следующие за трендом, всегда были одним из самых популярных методов торговли.

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

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

Принципы стратегии

Основная логика включает в себя несколько ключевых элементов:

  1. Использует 20-дневные и 200-дневные EMA для оценки рыночных тенденций, причем 200-дневная EMA представляет собой долгосрочную тенденцию, а 20-дневная EMA отражает краткосрочные движения.
  2. Сигнал покупки генерируется, когда цена превышает 20-дневную EMA, а 20-дневная EMA превышает 200-дневную EMA, что указывает на тенденцию к росту.
  3. Использует соотношение риск-прибыль 3: 1, причем уровень получения прибыли (1,5%) в три раза превышает уровень стоп-лосса (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)


Связанные

Больше