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

Автор:Чао Чжан, Дата: 2023-12-13 17:50:34
Тэги:

img

Обзор

Эта стратегия использует индикатор RSI и быстрые / медленные скользящие средние для определения пунктов входа и выхода. Она длинна, когда RSI повышается на 5 пунктов и ниже 70; и когда 9-дневный MA пересекает 50-дневный MA. Она выходит, когда 50-дневный MA пересекает 9-дневный MA.

Логика стратегии

Стратегия в основном использует комбинацию индикатора RSI и скользящих средних. Индикатор RSI показывает, является ли акция или криптовалюта перекупленной или перепроданной. Значения ниже 30 считаются перепроданными, а значения выше 70 считаются перекупленными. Эта стратегия использует RSI для определения соответствующих пунктов входа за пределами этих экстремальных зон.

Движущиеся средние широко используются для определения направления тренда. Быстрый движущийся средний реагирует быстрее на изменения цен, в то время как медленный MA фильтрует ложные прорывы. Когда быстрый MA пересекает длину над медленным MA, начинается восходящий тренд. Противоположное сигнализирует о нисходящем тренде. Эта стратегия использует 9-дневные и 50-дневные MAs и их перекрестки для определения тренда и входов / выходов.

Анализ преимуществ

Наибольшее преимущество этой стратегии заключается в использовании RSI для избежания покупки на чрезвычайных уровнях перекупки и использовании комбинации быстрого / медленного MAs для фильтрации ложных прорывов и блокировки направления тренда для повышения прибыльности.

Дополнительное условие повышения показателя RSI на 5 последовательных пунктов предотвращает ненужные покупки в перекупленных зонах.

Риски и профилактика

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

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

Руководство по оптимизации

Возможные пути оптимизации

  1. Испытательные периоды RSI для оптимальных параметров

  2. Испытать более быстрые/медленные комбинации MA для лучшей фильтрации

  3. Оптимизируйте размещение позиций с помощью различных параметров

  4. Добавление условий остановки потери для блокировки прибыли

Заключение

В целом эта стратегия хорошо подходит для торговли трендом. Она избегает перекупленных / перепроданных зон с RSI и использует быстрые / медленные MAs для обнаружения тренда и поддержки / сопротивления. Частичное размещение позволяет достичь высоких показателей выигрыша и прибыльности. Дальнейшая оптимизация параметров и управление рисками могут повысить производительность.


/*backtest
start: 2023-11-12 00:00:00
end: 2023-12-12 00:00:00
period: 1h
basePeriod: 15m
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/
// © Coinrule

//@version=5
strategy("RSI with Slow and Fast MA Crossing Strategy (by Coinrule)",
         overlay=true,
         initial_capital=10000,
         process_orders_on_close=true,
         default_qty_type=strategy.percent_of_equity,
         default_qty_value=30,
         commission_type=strategy.commission.percent,
         commission_value=0.1)

showDate = input(defval=true, title='Show Date Range')
timePeriod = time >= timestamp(syminfo.timezone, 2020, 1, 1, 0, 0)
notInTrade = strategy.position_size <= 0


// RSI
length = input(14)
vrsi = ta.rsi(close, length)

// Moving  Averages for Buy Condition
buyFastEMA = ta.ema(close, 9)
buySlowEMA = ta.ema(close, 50)
buyCondition1 = ta.crossover(buyFastEMA, buySlowEMA)


increase = 5
if ((vrsi > vrsi[1]+increase) and buyCondition1 and vrsi < 70 and timePeriod)
    strategy.entry("Long", strategy.long)


// Moving  Averages for Sell Condition
sellFastEMA = ta.ema(close, 9)
sellSlowEMA = ta.ema(close, 50)
plot(request.security(syminfo.tickerid, "60", sellFastEMA), color = color.blue)
plot(request.security(syminfo.tickerid, "60", sellSlowEMA), color = color.green)


condition = ta.crossover(sellSlowEMA, sellFastEMA)
//sellCondition1 = request.security(syminfo.tickerid, "60", condition)

strategy.close('Long', when = condition and timePeriod)






Больше