Стратегия торговли на откате тренда на основе индикатора RSI


Дата создания: 2023-09-13 15:33:26 Последнее изменение: 2023-09-13 15:33:26
Копировать: 0 Количество просмотров: 686
1
Подписаться
1617
Подписчики

Эта стратегия называется “Стратегия торговли с отклонением тренда, основанная на RSI”. Она использует RSI для определения перекупа и перепродажи, и в сочетании с параметрами оптимизации устанавливает торговлю с отклонением тренда с целью захвата локального отклонения в сильных тенденциях.

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

После входа, стратегия использует механизм остановки стоп-убытков. Когда RSI поднимается до 80 после поворота, остановка стоп-убытков, когда RSI падает до 20, остановка стоп-убытков, эффективно блокирующая отскоковую прибыль. Кроме того, использование отслеживания стоп-убытков обеспечивает приоритетное покрытие после входа.

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

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

Исходный код стратегии
/*backtest
start: 2023-08-13 00:00:00
end: 2023-09-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/
// © corderomoraj


//@version=5
strategy("Good Mode RSI v2", overlay=true)

// Parámetros de la estrategia
rsiPeriod = input(2, "RSI Period")
sellLevel = input(96, "Sell Level")
buyLevel = input(4, "Buy Level")
takeProfitLevelSell = input(20, "Take Profit Level Sell")
takeProfitLevelBuy = input(80, "Take Profit Level Buy")
var float trailingStopPrice = na
var float trailingStopOffset = input(100, "Trailing Stop Offset (pips)")

// Capital inicial
initialCapital = 250
positionSize = initialCapital * 0.015

// Condiciones de entrada y salida
rsi = ta.rsi(close, rsiPeriod)

// Condiciones de entrada y salida para la orden de venta
sellCondition = rsi > sellLevel
closeSellCondition = rsi < takeProfitLevelSell

// Condiciones de entrada y salida para la orden de compra
buyCondition = rsi < buyLevel
closeBuyCondition = rsi > takeProfitLevelBuy

// Trailing Stop para las posiciones de venta
if strategy.position_size < 0
    if low < trailingStopPrice
        trailingStopPrice := low
    strategy.exit("Sell", "Sell", trail_offset = trailingStopOffset * syminfo.mintick, trail_price = trailingStopPrice)

// Trailing Stop para las posiciones de compra
if strategy.position_size > 0
    if high > trailingStopPrice
        trailingStopPrice := high
    strategy.exit("Buy", "Buy", trail_offset = trailingStopOffset * syminfo.mintick, trail_price = trailingStopPrice)

// Ejecutar orden de venta
if (sellCondition)
    strategy.entry("Sell", strategy.short, qty = positionSize)
    trailingStopPrice := high

// Cerrar orden de venta
if (closeSellCondition)
    strategy.close("Sell")

// Ejecutar orden de compra
if (buyCondition)
    strategy.entry("Buy", strategy.long, qty = positionSize)
    trailingStopPrice := low

// Cerrar orden de compra
if (closeBuyCondition)
    strategy.close("Buy")