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