Эта стратегия называется “Стратегия торговли с отклонением тренда, основанная на 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")