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

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

Автор:Чао Чжан, Дата: 2024-12-20 14:30:29
Тэги:ЕМА

img

Обзор

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

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

Основная логика основана на непрерывности ценовых тенденций, используя перекрестки EMA110 и EMA200 для улавливания сигналов об обратном тренде. Когда краткосрочная скользящая средняя (EMA110) пересекает длинносрочную скользящую среднюю (EMA200), она сигнализирует о формировании восходящего тренда, запуская длинную позицию. И наоборот, когда краткосрочная скользящая средняя пересекает длинносрочную скользящую среднюю, она сигнализирует о формировании нисходящего тренда, запуская короткую позицию. Для управления рисками стратегия устанавливает 1% стоп-лосс и 0,5% уровень получения прибыли для каждой позиции для защиты прибыли и ограничения потенциальных потерь.

Преимущества стратегии

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

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

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

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

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

Резюме

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


/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-18 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("EMA110/200 Cross with Stop-Loss and Take-Profit", overlay=true)

// 定义EMA110和EMA200
ema110 = ta.ema(close, 110)
ema200 = ta.ema(close, 250)

// 画出EMA
plot(ema110, color=color.blue, title="EMA110")
plot(ema200, color=color.red, title="EMA200")

// 计算交叉信号
longCondition = ta.crossover(ema110, ema200)  // EMA110上穿EMA200,做多
shortCondition = ta.crossunder(ema110, ema200)  // EMA110下穿EMA200,做空

// 设置止损和止盈
stopLoss = 0.01  // 止损1%
takeProfit = 0.005  // 止盈0.5%

// 判断是否已有仓位
isLong = strategy.position_size > 0  // 当前是否为多头仓位
isShort = strategy.position_size < 0  // 当前是否为空头仓位

// 执行策略:做多时平空,做空时平多
if (longCondition and not isLong)  // 如果满足做多条件并且当前没有多头仓位
    if (isShort)  // 如果当前是空头仓位,先平空
        strategy.close("Short")
    strategy.entry("Long", strategy.long)  // 执行做多
    strategy.exit("Take Profit/Stop Loss", "Long", stop=close * (1 - stopLoss), limit=close * (1 + takeProfit))

if (shortCondition and not isShort)  // 如果满足做空条件并且当前没有空头仓位
    if (isLong)  // 如果当前是多头仓位,先平多
        strategy.close("Long")
    strategy.entry("Short", strategy.short)  // 执行做空
    strategy.exit("Take Profit/Stop Loss", "Short", stop=close * (1 + stopLoss), limit=close * (1 - takeProfit))

// 在表格中显示信号
var table myTable = table.new(position.top_right, 1, 1)
if (longCondition and not isLong)
    table.cell(myTable, 0, 0, "Buy Signal", text_color=color.green)
if (shortCondition and not isShort)
    table.cell(myTable, 0, 0, "Sell Signal", text_color=color.red)


Связанные

Больше