Перепроданность RSI преследует стратегию


Дата создания: 2023-09-26 16:11:55 Последнее изменение: 2023-09-26 16:11:55
Копировать: 1 Количество просмотров: 737
1
Подписаться
1617
Подписчики

Обзор

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

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

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

  2. Если RSI ниже 30, то это будет расценено как перепад, и тогда можно купить и открыть позицию.

  3. После открытия позиции устанавливается цена стоп-лосса и стоп-стоп. Стоп-лосса составляет менее 1% от цены входа, а стоп-стоп - более 7% от цены входа.

  4. Если цена опускается ниже цены остановки, то остановка прекращается; если цена превышает цену остановки, то остановка прекращается

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

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

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

  3. Установка стоп-пакета позволяет зафиксировать прибыль и не пропустить рост. Большая стоп-папка позволяет максимизировать прибыль.

  4. Эта стратегия позволяет уменьшить риск отмены контроля.

Анализ стратегических рисков

  1. Сигнал RSI о перепаде не обязательно означает обратный курс, но может привести к остановке.

  2. Стоп-падеж слишком маленький, если отклонение слишком большое, может быть остановлено в секунду.

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

  4. В случае неудачи, стратегия может принести убытки.

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

  1. В сочетании с другими индикаторами можно подтвердить сигнал опережения RSI, чтобы избежать ошибочного сигнала. Например, индикатор KDJ и т. Д.

  2. В зависимости от степени волатильности различных валют можно установить соответствующую стоп-стоп-магниту.

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

  4. Размер позиции может быть оптимизирован в зависимости от результатов обратной проверки.

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

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

Исходный код стратегии
/*backtest
start: 2023-09-18 00:00:00
end: 2023-09-25 00:00:00
period: 15m
basePeriod: 5m
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/
// © brodieCoinrule

//@version=4
strategy(shorttitle='Oversold RSI with tight SL',title='Oversold RSI with tight SL Strategy (by Coinrule)', overlay=true, initial_capital = 1000, process_orders_on_close=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 50, commission_type=strategy.commission.percent, commission_value=0.1)
//Backtest dates
fromMonth = input(defval = 1,    title = "From Month",      type = input.integer, minval = 1, maxval = 12)
fromDay   = input(defval = 1,    title = "From Day",        type = input.integer, minval = 1, maxval = 31)
fromYear  = input(defval = 2020, title = "From Year",       type = input.integer, minval = 1970)
thruMonth = input(defval = 1,    title = "Thru Month",      type = input.integer, minval = 1, maxval = 12)
thruDay   = input(defval = 1,    title = "Thru Day",        type = input.integer, minval = 1, maxval = 31)
thruYear  = input(defval = 2112, title = "Thru Year",       type = input.integer, minval = 1970)

showDate  = input(defval = true, title = "Show Date Range", type = input.bool)

start     = timestamp(fromYear, fromMonth, fromDay, 00, 00)        // backtest start window
finish    = timestamp(thruYear, thruMonth, thruDay, 23, 59)        // backtest finish window
window()  => true       // create function "within window of time"

perc_change(lkb) =>
    overall_change = ((close[0] - close[lkb]) / close[lkb]) * 100



// RSI inputs and calculations
lengthRSI = 14
RSI = rsi(close, lengthRSI)
oversold= input(30)


//Entry 
strategy.entry(id="long", long = true, when = RSI< oversold and window())

//Exit
Stop_loss= ((input (1))/100)
Take_profit= ((input (7)/100))

longStopPrice  = strategy.position_avg_price * (1 - Stop_loss)
longTakeProfit = strategy.position_avg_price * (1 + Take_profit)

strategy.close("long", when = close < longStopPrice or close > longTakeProfit and window())