Système d'optimisation de la stratégie RSI et de la super tendance à double cycle temporel

RSI ATR
Date de création: 2024-11-25 17:27:21 Dernière modification: 2024-11-25 17:27:21
Copier: 0 Nombre de clics: 464
1
Suivre
1617
Abonnés

Système d’optimisation de la stratégie RSI et de la super tendance à double cycle temporel

Aperçu

La stratégie est un système de trading à double cycle basé sur l’indicateur SuperTrend et l’indicateur RSI. Il combine deux périodes de temps de 120 minutes et 15 minutes avec des indicateurs d’analyse technique, capture l’orientation de la tendance à mi-parcours avec l’indicateur SuperTrend, tout en tirant profit de l’indicateur RSI.

Principe de stratégie

La logique centrale de la stratégie repose sur les éléments clés suivants:

  1. L’indicateur utilise l’indicateur SuperTrend à 120 minutes de cycle comme principal outil de jugement de tendance, basé sur un ATR à 14 cycles, avec un facteur de 3,42
  2. Les signaux de transaction sont déterminés par le croisement des prix avec les lignes de SuperTrend, les traverses ascendantes produisant des signaux de multiples, les traverses descendantes produisant des signaux de blanchiment
  3. L’indicateur RSI avec un cycle de 15 minutes comme outil auxiliaire, le cycle RSI est fixé à 5, pour juger si le marché est trop chaud ou trop froid
  4. Placer des positions sur plusieurs positions lorsque le RSI atteint la zone de survente ((95)), et les positions sur vide lorsque le RSI atteint la zone de survente ((5))
  5. Définition d’un point de rupture de 30% par rapport au prix moyen d’ouverture

Avantages stratégiques

  1. La combinaison de plusieurs cycles de temps améliore la fiabilité du signal et réduit l’impact des faux signaux.
  2. L’optimisation des paramètres du SuperTrend est modérée, ce qui garantit une sensibilité à la tendance et évite les transactions fréquentes causées par une hypersensibilité.
  3. Les paramètres de limite du RSI sont très stricts (de 5 à 95) pour s’assurer de ne déclencher une position de rupture que dans des situations extrêmes et éviter une sortie prématurée.
  4. La gestion de fonds utilise un pourcentage fixe de la valeur nette du compte (<35%) pour contrôler efficacement les risques tout en garantissant des marges de profit.
  5. Il est automatiquement désactivé avant d’ouvrir une nouvelle position, ce qui évite le risque de détenir simultanément plusieurs positions vides.

Risque stratégique

  1. Les stratégies à double cycle peuvent avoir un effet de retard sur les marchés en crise et nécessitent une attention particulière aux retraits contrôlés
  2. Les paramètres extrêmes de l’indicateur RSI sont trop stricts, ce qui peut entraîner la perte de certaines opportunités de profit
  3. 30% des stop-loss sont plus agressifs, et peuvent être prématurément rentables dans des marchés plus volatiles
  4. La stratégie n’a pas de condition de stop loss et peut subir de lourdes pertes si la tendance est soudainement inversée
  5. Les positions de 35% sont relativement dynamiques et plus risquées en cas de forte volatilité du marché

Orientation de l’optimisation de la stratégie

  1. Il est recommandé d’ajouter des mécanismes de stop-loss dynamiques et d’envisager un stop-loss de suivi basé sur l’ATR
  2. Les seuils de sur-achat et de sur-vente du RSI peuvent être allégés de manière appropriée et il est recommandé de les ajuster à 10 et 90 pour améliorer l’adaptabilité de la stratégie
  3. On peut ajouter des indicateurs de volume de transaction comme confirmation auxiliaire pour améliorer la fiabilité du signal.
  4. Envisager de modifier dynamiquement le ratio de position en fonction des fluctuations du marché, en utilisant l’ATR ou l’indicateur de volatilité
  5. Il est recommandé d’ajouter des filtres de force de tendance, tels que les indicateurs DMI ou ADX, pour filtrer les tendances faibles

Résumer

Il s’agit d’une stratégie de suivi des tendances structurée et logiquement claire. En combinant des indicateurs techniques de différentes périodes de temps, en tenant compte du contrôle des risques tout en tenant compte des tendances. Bien qu’il y ait encore un espace d’optimisation, la conception globale est conforme aux principes fondamentaux de la négociation quantifiée.

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

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © felipemiransan

//@version=5
strategy("Supertrend Strategy", overlay=true)

// Function for Supertrend
supertrend(_factor, _atrPeriod) =>
    [out, _] = ta.supertrend(_factor, _atrPeriod)
    out

// Supertrend Settings
factor = input.float(3.42, title="Supertrend Factor")
atrPeriod = input.int(14, title="ATR Period")
tf2 = input.timeframe("120", title="Supertrend Timeframe")

// RSI Settings
rsi_tf = input.timeframe("15", title="RSI Timeframe")
rsiLength = input.int(5, title="RSI Length")
rsiUpper = input.int(95, title="RSI Upper Limit")  
rsiLower = input.int(5, title="RSI Lower Limit")   

// RSI Timeframe
rsi_tf_value = request.security(syminfo.tickerid, rsi_tf, ta.rsi(close, rsiLength), lookahead=barmerge.lookahead_off, gaps=barmerge.gaps_off)

// Supertrend Timeframe
supertrend_tf2 = request.security(syminfo.tickerid, tf2, supertrend(factor, atrPeriod), lookahead=barmerge.lookahead_off, gaps=barmerge.gaps_off)

// Take Profit Settings (Percentage in relation to the average price)
takeProfitPercent = input.float(30, title="Take Profit", step=0.1) / 100

// Entry conditions based on price crossover with Supertrend Timeframe
longCondition = ta.crossover(close, supertrend_tf2) and barstate.isconfirmed
shortCondition = ta.crossunder(close, supertrend_tf2) and barstate.isconfirmed

// Execution of reversal orders with closing of previous position
if (longCondition)
    // Close a short position before opening a long position
    if (strategy.position_size < 0)
        strategy.close("Short", comment="Close Short for Long Entry")
    strategy.entry("Long", strategy.long)

if (shortCondition)
    // Close long position before opening short position
    if (strategy.position_size > 0)
        strategy.close("Long", comment="Close Long for Short Entry")
    strategy.entry("Short", strategy.short)

// Calculate take profit levels relative to the average entry price
if (strategy.position_size > 0)
    takeProfitLong = strategy.position_avg_price * (1 + takeProfitPercent)
    strategy.exit("Take Profit Long", "Long", limit=takeProfitLong)

if (strategy.position_size > 0 and (rsi_tf_value >= rsiUpper))
    strategy.close("Long", comment="RSI Take Profit Long")

if (strategy.position_size < 0)
    takeProfitShort = strategy.position_avg_price * (1 - takeProfitPercent)
    strategy.exit("Take Profit Short", "Short", limit=takeProfitShort)

if (strategy.position_size < 0 and (rsi_tf_value <= rsiLower))
    strategy.close("Short", comment="RSI Take Profit Short")

// Plot Supertrend timeframe with commit check to avoid repainting
plot(barstate.isconfirmed ? supertrend_tf2 : na, color=color.blue, title="Supertrend Timeframe (120 min)", linewidth=1)

// Plot RSI for visualization
plot(rsi_tf_value, "RSI", color=color.purple)
hline(rsiUpper, "RSI Upper", color=color.red)
hline(rsiLower, "RSI Lower", color=color.green)