Стратегия следования за возможностями на основе скользящей средней и RSI


Дата создания: 2024-01-18 15:46:35 Последнее изменение: 2024-01-18 15:46:35
Копировать: 0 Количество просмотров: 556
1
Подписаться
1617
Подписчики

Стратегия следования за возможностями на основе скользящей средней и RSI

Обзор

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

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

  1. Вычислить 50-циклическое скользящее среднее ((EMA) в качестве среднелинейного показателя для определения тенденции.
  2. 7-дневная Hull Moving Average рассчитывается как более чувствительный и предварительный средний показатель, формирующий золотую середину с EMA.
  3. Установите RSI на линию сверхпокупа и линию сверхпродажи в 60 и 45 соответственно. RSI выше 60 - сигнал сверхпокупа, RSI ниже 45 - зона сверхпродажи.
  4. Сигналы пропадания указывают на то, что сверхпокупка одновременно происходит вверх через EMA.
  5. При одновременном прохождении нижнего перехода через EMA в зоне перепродажи следует подать сигнал о перепродаже.

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

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

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

  1. Если вы используете только три комбинации показателей, вы можете упустить некоторые торговые возможности.
  2. Периодическая настройка EMA и Hull требует многократного тестирования и оптимизации. Неправильный выбор параметров может повлиять на качество сигналов.
  3. Параметры RSI также нуждаются в корректировке, поскольку различные акции и валюты имеют разные критерии для оценки перекупа.

Оптимизация стратегии

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

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

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

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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Bitduke

//@version=4
strategy(shorttitle="EHR", title="Simple EMA_Hull_RSI", overlay=false, 
     calc_on_every_tick=false, pyramiding=0, default_qty_type=strategy.cash, 
     default_qty_value=1000, currency=currency.USD, initial_capital=1000,
     commission_type=strategy.commission.percent, commission_value=0.075)

// EMA
len = input(minval=1, title="EMA Length", defval=50)
src = input(close, title="EMA Source")
final_ema = ema(src, len)
plot(final_ema, color=color.red, title="EMA")

overbought = input(60, title="overbought value")
oversold = input(45, title="oversold value")

overbought_signal = rsi(close, 14) > overbought
oversold_signal = rsi(close, 14) < oversold
barcolor(overbought_signal ? color.black : na)
barcolor(oversold_signal ? color.blue : na)
// Hull MA
n = input(title="Hull Length", defval=7)
n2ma=2*wma(close,round(n/2))
nma=wma(close,n)
diff=n2ma-nma
sqn=round(sqrt(n))

n2ma1=2*wma(close[1],round(n/2))
nma1=wma(close[1],n)
diff1=n2ma1-nma1
sqn1=round(sqrt(n))

n1=wma(diff,sqn)
n2=wma(diff1,sqn)
c=n1>n2?color.green:color.red
ma=plot(n1,color=c)

// Strategy Logic
longCondition =  overbought_signal and crossover(n1,final_ema) 
shortCondition = oversold_signal and crossover(final_ema,n1) 

strategy.entry("EHR_Long", strategy.long, when=longCondition)
strategy.entry("EHR_Short", strategy.short, when=shortCondition)