Stratégie de trading avec l'indicateur RSI


Date de création: 2024-01-29 11:42:46 Dernière modification: 2024-01-29 11:42:46
Copier: 0 Nombre de clics: 732
1
Suivre
1617
Abonnés

Stratégie de trading avec l’indicateur RSI

Aperçu

La stratégie de trading RSI est une méthode de trading à grille fixe qui intègre les indicateurs techniques RSI et CCI. La stratégie détermine le moment d’entrée en fonction des valeurs des indicateurs RSI et CCI, en utilisant un taux de profit fixe et un nombre de grilles fixes pour définir les ordres de stop et de prise de position.

Principe de stratégie

Conditions d’entrée

Un signal de multiplication est généré lorsque les indices RSI à 5 minutes et à 30 minutes sont inférieurs à la limite définie et que l’indicateur CCI à 1 heure est inférieur à la valeur définie. Le prix de clôture actuel est enregistré comme prix d’entrée et le montant de la première position est calculé en fonction du nombre de comptes de participation et de grilles.

Conditions de mise en demeure

En utilisant le prix d’entrée comme référence, le prix de profit est calculé en fonction du taux de profit cible fixé et un ordre de stop est défini à ce niveau.

Conditions de mise en dépôt

À l’exception de la première unité, les autres unités d’augmentation de position fixe sont émises une par une après le signal d’entrée jusqu’à ce que le nombre de grilles défini soit atteint.

Mécanisme de couverture

Si la hausse du prix par rapport au prix d’entrée dépasse le pourcentage de dépréciation de la couverture fixé, la couverture est nettoyée sur l’ensemble des positions détenues.

Le mécanisme de retour

Si le prix est inférieur au pourcentage de reprise de la marge de reprise, toutes les commandes en attente sont annulées et une nouvelle entrée est attendue.

Analyse des avantages

  • Le RSI et le CCI combinés pour augmenter la probabilité de profit
  • La mise en place d’une grille fixe pour fixer des objectifs de rentabilité et augmenter la certitude de la rentabilité
  • Les mécanismes de couverture intégrés protègent efficacement contre les risques de fortes fluctuations des prix
  • La participation à un mécanisme de rétrocession peut réduire les pertes

Analyse des risques

  • Probabilité que l’indicateur génère un faux signal
  • Les fluctuations de prix ont dépassé les seuils de couverture
  • La réinitialisation après un renversement ne permet pas de réintégrer l’appareil

Ces risques peuvent être atténués par l’ajustement des paramètres de l’indicateur, l’élargissement de la marge d’effet de levier et la réduction de la marge d’inversion.

Direction d’optimisation

  • Plus de combinaisons d’indicateurs peuvent être testées
  • Les mécanismes d’arrêt de la paralysie peuvent être étudiés.
  • Optimiser la logique de mise en place

Résumer

La stratégie de trading RSI absorbe les indices pour déterminer le moment d’entrée, utilise des arrêts de grille fixe et des surtensions pour verrouiller des bénéfices stables. En outre, la stratégie dispose d’un mécanisme de réentrée après une forte volatilité et un retournement de couverture. Cette stratégie qui intègre plusieurs mécanismes peut être utilisée pour réduire le risque de négociation et améliorer la rentabilité.

Code source de la stratégie
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Custom RSI/CCI Strategy with Fixed Grid", shorttitle="INVESTCOIN_RSI_CCI_Fixed_Grid", overlay=true)

// Input parameters
input_rsi_5min_value = 55
input_rsi_30min_value = 65
input_cci_1hr_value = 85
input_profit_target_percent = 0.6 // Target profit in percentage
input_grid_size = 15 // Number of orders in grid
input_hedging_percent = 20 // Percentage price change for hedging
input_first_order_offset = 0.2 // Offset for the first order in percentage
input_reversal_percent = 0.4 // Percentage price change for reversal

// Calculating the RSI and CCI values
rsi_5min = ta.rsi(close, 5)
rsi_30min = ta.rsi(close, 30)
cci_1hr = ta.cci(close, 60)

// Define strategy conditions based on the provided screenshot
long_condition = (rsi_5min < input_rsi_5min_value) and (rsi_30min < input_rsi_30min_value) and (cci_1hr < input_cci_1hr_value)

// Plot signals
plotshape(series=long_condition, title="Long Entry Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)

// Initialize a variable to store the entry price
var float entry_price = na

// Initialize a variable to store the profit target
var float profit_target = na

// Hedge condition based on price change percentage
var float hedge_price = na

// Initialize a variable to count the total number of orders
var int total_orders = 0

// Calculate the initial order size based on account equity and grid size
var float initial_order_size = 1 / input_grid_size / 100

// Entry orders with fixed size
if (long_condition and total_orders < 9000)
    // Place first order with an offset
    if total_orders == 0
        strategy.order("First Long", strategy.long, qty=initial_order_size, limit=close * (1 - input_first_order_offset / 100))
    total_orders := total_orders + 1
    
    // Place remaining grid orders
    for i = 1 to input_grid_size - 1
        if (total_orders >= 9000)
            break // Stop if max orders reached
        strategy.entry("Long_" + str.tostring(i), strategy.long, qty=initial_order_size)
        total_orders := total_orders + 1

// Calculate the profit target in currency
if (long_condition)
    entry_price := close // Store the entry price when the condition is true

if (not na(entry_price))
    profit_target := entry_price * input_profit_target_percent / 100 // Calculate the profit target

// Setting up the profit target
if (not na(profit_target))
    strategy.exit("Take Profit", "Long", limit=entry_price + profit_target)

// Hedge by closing all positions if the price increases by the hedging percentage
if (strategy.position_size > 0)
    hedge_price := close * (1 + input_hedging_percent / 100)

if (not na(hedge_price) and close >= hedge_price)
    strategy.close_all(comment="Hedging")


// Reversal condition based on the price change percentage
var float reversal_price = na

if (strategy.position_size > 0 and total_orders > 1) // Check if at least one grid order has been placed
    reversal_price := entry_price * (1 - input_reversal_percent / 100)

// Cancel trades and wait for a new entry point if the price reverses by the specified percentage
if (not na(reversal_price) and close <= reversal_price)
    strategy.cancel_all()
    total_orders := 0 // Reset the total orders count after cancellation