Cette stratégie est un système de négociation adaptatif basé sur l'indice de force relative (RSI), conçu pour capturer les changements de dynamique du marché en surveillant les zones de surachat et de survente du RSI. Le système intègre des mécanismes de gestion de position intelligents, y compris des contrôles multi-niveaux de stop-loss et de take-profit, ainsi qu'une fonctionnalité de clôture automatique des positions, visant à atteindre un ratio risque-rendement robuste.
La stratégie de base est basée sur les signaux RSI de surachat/survente, combinés à de multiples conditions de négociation:
La stratégie capture les changements de dynamique du marché grâce à l'indicateur RSI, couplé à un système complet de gestion des risques, réalisant un système de trading entièrement automatisé. Bien que certaines limitations existent, des améliorations grâce aux directions d'optimisation suggérées pourraient conduire à une performance de trading plus stable.
/*backtest start: 2024-11-04 00:00:00 end: 2024-11-11 00:00:00 period: 10m basePeriod: 10m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Harmony Signal Flow By Arun", overlay=true) // RSI settings rsiLength = 14 rsiSource = close rsiValue = ta.rsi(rsiSource, rsiLength) // Define RSI levels buyLevel = 30 sellLevel = 70 // Buy signal: RSI crosses above 30 buyCondition = ta.crossover(rsiValue, buyLevel) // Sell signal: RSI crosses below 70 sellCondition = ta.crossunder(rsiValue, sellLevel) // Ensure only one order at a time if (strategy.position_size == 0) // No open positions if (buyCondition) strategy.entry("Buy", strategy.long) else if (sellCondition) strategy.entry("Sell", strategy.short) // Stop-loss and target conditions var float stopLossBuy = na var float targetBuy = na var float stopLossSell = na var float targetSell = na if (strategy.position_size > 0) // If there's an open buy position stopLossBuy := strategy.position_avg_price - 100 // Set stop-loss for buy targetBuy := strategy.position_avg_price + 150 // Set target for buy if (close <= stopLossBuy) strategy.close("Buy", comment="Stoploss Hit") else if (close >= targetBuy) strategy.close("Buy", comment="Target Hit") if (strategy.position_size < 0) // If there's an open sell position stopLossSell := strategy.position_avg_price + 100 // Set stop-loss for sell targetSell := strategy.position_avg_price - 150 // Set target for sell if (close >= stopLossSell) strategy.close("Sell", comment="Stoploss Hit") else if (close <= targetSell) strategy.close("Sell", comment="Target Hit") // Close all positions by 3:25 PM if (hour(timenow) == 15 and minute(timenow) == 25) strategy.close_all(comment="Close all positions at 3:25 PM") // Plot buy/sell signals on the chart plotshape(buyCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY") plotshape(sellCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL") // Plot RSI and levels hline(buyLevel, "Buy Level", color=color.green) hline(sellLevel, "Sell Level", color=color.red) plot(rsiValue, "RSI", color=color.blue)