Cette stratégie surveille l'éclatement de l'indicateur RSI dans différentes gammes pour mettre en œuvre l'achat bas et la vente élevée.
Définir la période RSI à 14
Définir les plages de signaux d'achat RSI:
Définir les plages de signaux de vente RSI:
Quand le RSI entre dans la fourchette d'achat, allez long:
Lorsque le RSI entre dans la fourchette de vente, passez à la vente courte:
Fixer le profit à 2500 pips et le stop loss à 5000 pips
Position fermée lorsque le RSI sort de la plage de signaux
L'option double fourchette permet de mieux identifier les conditions de surachat et de survente, évitant ainsi de manquer des opportunités d'inversion
L'adoption d'un profit fixe et d'un stop-loss en pips empêche de trop suivre les tendances
Le RSI est un oscillateur mature pour identifier les niveaux de surachat et de survente avec des avantages par rapport aux autres indicateurs
Avec un réglage approprié des paramètres, cette stratégie peut effectivement capturer les points d'inversion de tendance et générer des rendements excédentaires
Une divergence de l'indice de volatilité peut se produire et entraîner des pertes consécutives d'une position courte soutenue
Les bénéfices fixes et les arrêts de perte peuvent ne pas correspondre à la volatilité du marché, ne pas pouvoir réaliser de bénéfices ou s'arrêter prématurément.
Un mauvais réglage de la fourchette peut entraîner des transactions manquantes ou des transactions fréquemment non rentables
Cette stratégie repose beaucoup sur l'optimisation des paramètres basée sur les backtests.
Efficacité des essais de l'indice de résistance à la corrosion avec différentes durées de période
Optimiser les valeurs de gamme d'achat et de vente pour s'adapter aux caractéristiques des différents produits
Dynamique de la recherche prendre des bénéfices et arrêter les pertes pour améliorer la rentabilité et la raisonnabilité
Envisager de combiner d'autres indicateurs pour les transactions collectives afin d'améliorer la robustesse
Explorer les techniques d'apprentissage automatique pour optimiser automatiquement les plages de paramètres pour la robustesse
Cette stratégie est basée sur les principes de surachat et de survente du RSI. En adoptant des plages de négociation doubles, il utilise efficacement l'indicateur RSI, capturant les extrêmes du marché avec une stabilité décente. Cependant, il a une certaine dépendance aux paramètres et a besoin d'optimisation sur tous les produits. Si elle est correctement ajustée, cette stratégie peut produire de bons rendements excédentaires. En résumé, il s'agit d'une stratégie de trading simple mais efficace utilisant un indicateur mature, qui vaut la peine d'être recherchée pour des améliorations et fournissant des informations pour le trading quantitatif.
/*backtest start: 2023-09-16 00:00:00 end: 2023-10-16 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/ // © Rawadabdo // Ramy's Algorithm //@version=5 strategy("BTC/USD - RSI", overlay=false, initial_capital = 5000) // User input length = input(title = "Length", defval=14, tooltip="RSI period") first_buy_level = input(title = "Buy Level 1", defval=27, tooltip="Level where 1st buy triggers") second_buy_level = input(title = "Buy Level 2", defval=18, tooltip="Level where 2nd buy triggers") first_sell_level = input(title = "Sell Level 1", defval=68, tooltip="Level where 1st sell triggers") second_sell_level = input(title = "Sell Level 2", defval=80, tooltip="Level where 2nd sell triggers") takeProfit= input(title="target Pips", defval=2500, tooltip="Fixed pip stop loss distance") stopLoss = input(title="Stop Pips", defval=5000, tooltip="Fixed pip stop loss distance") lot = input(title = "Lot Size", defval = 1, tooltip="Trading Lot size") // Get RSI vrsi = ta.rsi(close, length) // Entry Conditions long1 = (vrsi <= first_buy_level and vrsi>second_buy_level) long2 = (vrsi <= second_buy_level) short1= (vrsi >= first_sell_level and vrsi<second_sell_level) short2= (vrsi >= second_sell_level) // Entry Orders // Buy Orders if (long1 and strategy.position_size == 0) strategy.entry("Long", strategy.long, qty=lot, comment="Buy") if (long2 and strategy.position_size == 0) strategy.entry("Long", strategy.long, qty=lot, comment="Buy") // Short Orders if (short1 and strategy.position_size == 0) strategy.entry("Short", strategy.short,qty=lot, comment="Sell") if (short2 and strategy.position_size == 0) strategy.entry("Short", strategy.short,qty=lot, comment="Sell") // Exit our trade if our stop loss or take profit is hit strategy.exit(id="Long Exit", from_entry="Long",qty = lot, profit=takeProfit, loss=stopLoss) strategy.exit(id="Short Exit", from_entry="Short", qty = lot, profit=takeProfit, loss=stopLoss) // plot data to the chart hline(first_sell_level, "Overbought Zone", color=color.red, linestyle=hline.style_dashed, linewidth = 2) hline(second_sell_level, "Overbought Zone", color=color.green, linestyle=hline.style_dashed, linewidth = 2) hline(first_buy_level, "Oversold Zone", color=color.red, linestyle=hline.style_dashed, linewidth = 2) hline(second_buy_level, "Oversold Zone", color=color.green, linestyle=hline.style_dashed, linewidth = 2) plot (vrsi, title = "RSI", color = color.blue, linewidth=2)