Стратегия возврата к среднему значению расхождения EMA

EMA 均值回归 背离 底部买入 价格波动
Дата создания: 2025-03-26 15:34:19 Последнее изменение: 2025-03-26 15:34:19
Копировать: 1 Количество просмотров: 411
2
Подписаться
319
Подписчики

Стратегия возврата к среднему значению расхождения EMA Стратегия возврата к среднему значению расхождения EMA

Обзор

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

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

Центральная логика стратегии основана на теории средневекового регресса, согласно которой цена может отклониться от средней в краткосрочной перспективе, но в долгосрочной перспективе будет склоняться к возврату к средней. В частности, стратегия использует 50-циклическую ЭМА в качестве среднего значения цены, когда цена значительно ниже этой средней (более 10%), рассматривая это как возможность купить; когда цена возвращается выше ЭМА и имеет прибыль, это вызывает сигнал продажи.

  1. Использование 50-циклической EMA в качестве базовой линии
  2. Процентное отклонение цены от EMA:diff_perct = ((ema20 - close) / ema20) * 100
  3. Процентное отклонение от максимальной цены от EMA:diff_perct2 = ((high - ema20) / ema20) * 100
  4. Когдаdiff_perct > 10когда цена (то есть более чем на 10% ниже EMA) вызывает сигнал покупки
  5. Когдаdiff_perct2 > 0(то есть максимальная цена выше EMA) и текущая прибыль от торгов больше 1, вызвать сигнал продажи

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

  1. Конкретные условия приема: стратегия устанавливает конкретные отклонения цены от порога ((10%), обеспечивает четкий входный сигнал, уменьшает помехи субъективному суждению.
  2. Избыточная рыночная реакцияЭта стратегия направлена на то, чтобы поймать рыночные шансы на чрезмерную панику или падение, когда цены на активы, как правило, недооценены.
  3. Автоматизация исполненияПомимо того, что это означает, что мы не можем управлять своими эмоциями, это означает, что мы не можем управлять своими эмоциями, и мы не можем управлять своими эмоциями.
  4. Гибкое управление деньгамиСтратегия: использование денежных средств в распределении, а не в фиксированных единицах, что позволяет более гибко использовать средства.
  5. Простые и понятныеПо сравнению со сложной многопоказательной стратегией, логика этой стратегии проста, ее легко понять и скорректировать.
  6. Контроль рискаВ частности, он отметил, что “продажа может быть инициирована только в том случае, если она уже принесла прибыль, что помогает защитить уже полученную прибыль”.

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

  1. Риски трендаПри сильной нисходящей тенденции цены могут продолжать отклоняться от EMA и не возвращаться, что приводит к появлению явления “перехватывания ножа”, что приводит к постоянным убыткам.
  2. Параметр ЧувствительностьОтклонение от порога в 10 процентов может не применяться ко всем рыночным условиям, может быть затруднено в условиях низкой волатильности, а в условиях высокой волатильности может быть слишком часто торгуется.
  3. Отсутствие механизмов сдерживанияВ коде отсутствуют четкие параметры стоп-лосса, что может привести к большим потерям при продолжении ухудшения рынка.
  4. Опирается на точность EMAСтратегическая гипотеза: EMA является эффективным средним значением цены, но это может не работать в некоторых рыночных условиях.
  5. Риск ликвидностиВ условиях низкой ликвидности рынка, ордера на покупку или продажу могут быть подвержены риску проскальзывания или не быть полностью исполнены.
  6. Фиксированная прибыль: Маржа прибыли установлена на фиксированную величину 1, без учета адаптивной корректировки при различных рыночных колебаниях.

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

  1. Динамика отклоняется от отметки: изменение 10% от фиксированного отклонения от порога в динамический порог, основанный на недавней волатильности, например, с использованием ATR (Average True Range) для корректировки условий входа.
  2. Увеличение убыточностиВведение условий остановки, основанных на времени или цене, например, установление максимального времени удержания позиции или максимально допустимой доли потери.
  3. Многоциклическая подтверждение: судить о тенденциях в сочетании с более длительными циклами (например, солнечная линия или круговая линия), избегать входа в рынок, когда основная тенденция переворачивается.
  4. Складывание и ликвидация складовВместо того, чтобы создавать или ликвидировать все позиции одновременно, чтобы распределить риски, реализуйте плановые покупки и продажи.
  5. Добавить условия фильтрацииДобавление дополнительных технических индикаторов (например, RSI или MACD) в качестве фильтрующих условий для улучшения качества торговых сигналов.
  6. Адаптация к циклам EMAПопытка использовать адаптивные циклы EMA, а не фиксированные 50 циклов, чтобы сделать стратегию более адаптированной к изменяющимся рыночным условиям.
  7. Оптимизация отслеживания: проводить обширную обратную связь в разных рыночных циклах и условиях, чтобы найти оптимальное сочетание параметров.

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

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

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

//@version=5
strategy("SUIBTC 2H - EMA dip public",overlay=true,initial_capital=100,default_qty_value=100, default_qty_type = strategy.cash,process_orders_on_close=false,calc_on_every_tick=false)


BuyTrigger = input.bool(false)
SellTrigger = input.bool(false)

src = input(open, title="Source")
offset = input.int(title="Offset", defval=5, minval=-500, maxval=500)

ema20 = ta.ema(close, 50)
plot(ema20, title="ema20", color=color.yellow, linewidth=3)




diff_perct = ((ema20 - close) / ema20) * 100
diff_perct2 = ((high -  ema20) / ema20) * 100





if ( diff_perct > 10)   
    BuyTrigger := true 

if(  diff_perct2 > 0 and strategy.openprofit > 1)
    SellTrigger := true 
    

    

notInTrade = strategy.position_size <= 0
inTrade = strategy.position_size > 0


timeSinceLastTrade_ms = time - strategy.opentrades.entry_time(0)


if (BuyTrigger and notInTrade )
    strategy.order("long", strategy.long , oca_name = 'audusdt' , when = BuyTrigger ,limit = open, comment = "buy: SUIBTC EMA Dip")
 
if (SellTrigger and inTrade )
    strategy.close(id="long" , qty_percent = 100,  comment = "sell: SUIBTC EMA Dip")