Cette stratégie s'appelle
L'indicateur RSI juge si les prix sont surachetés ou survendus. L'indicateur RSI supérieur à 70 suggère un état de surachat, tandis qu'en dessous de 30 est survendu. Cette stratégie génère des signaux de vente lorsque l'indicateur RSI atteint 96, et des signaux d'achat lorsque l'indicateur RSI tombe en dessous de 4. Ces paramètres optimisés sont mieux adaptés pour capturer des renversements temporaires dans des tendances fortes par rapport aux niveaux traditionnels de l'indicateur RSI.
Après l'entrée, la stratégie utilise des mécanismes de prise de profit et d'arrêt de perte. Les positions longues sont fermées lorsque le RSI rebondit à 80 après l'inversion, et les positions courtes sont fermées lorsque le RSI tombe à 20, bloquant efficacement les profits de retracement.
L'avantage de cette stratégie réside dans l'utilisation de la sensibilité de l'indicateur RSI pour juger des retombées et inversions de tendance et améliorer la performance grâce à l'optimisation des paramètres et à l'optimisation de la prise de profit/arrêt de perte.
En conclusion, le RSI est un outil simple et pratique pour mesurer les conditions de surachat / survente. Grâce à l'optimisation des paramètres et à une gestion stricte des risques, son efficacité peut être améliorée pour le trading de retracement de tendance. Mais les traders ont toujours besoin de flexibilité dans l'ajustement de la stratégie, car différents marchés nécessitent différents paramètres.
/*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")