Les ressources ont été chargées... Je charge...

Supertrend à double échéancier avec système d'optimisation RSI

Auteur:ChaoZhang est là., Date: 2024-11-25 17:27:21
Les étiquettes:Indice de résistanceATR

img

Résumé

Cette stratégie est un système de trading à deux délais basé sur l'indicateur SuperTrend et le RSI. Elle combine des indicateurs d'analyse technique à partir de délais de 120 minutes et de 15 minutes, en utilisant SuperTrend pour capturer l'orientation de la tendance à moyen terme tout en utilisant le RSI pour la prise de profit.

Principes de stratégie

La logique de base repose sur plusieurs éléments clés:

  1. Utilise l'indicateur SuperTrend de 120 minutes comme outil principal de détermination de la tendance, avec une période ATR de 14 et un facteur de 3,42.
  2. Génère des signaux de négociation grâce à des croisements de prix avec la ligne SuperTrend - croisements à la hausse pour les entrées longues et croisements à la baisse pour les entrées courtes
  3. Utilise l'indicateur RSI de 15 minutes avec période 5 comme outil supplémentaire pour les conditions de surachat/survente du marché
  4. Fermeture des positions longues lorsque le RSI atteint la zone de surachat (95) et des positions courtes à la zone de survente (5)
  5. Définit le niveau de prise de profit de 30% calculé par rapport au prix d'entrée moyen

Les avantages de la stratégie

  1. La combinaison de plusieurs délais améliore la fiabilité du signal et réduit les faux signaux
  2. Les paramètres de SuperTrend optimisés équilibrent la sensibilité à la tendance tout en évitant les transactions excessives
  3. Les valeurs extrêmes strictes du RSI (5 et 95) garantissent la clôture de la position uniquement dans des conditions extrêmes
  4. La taille des positions utilise un pourcentage fixe du capital (35%), ce qui permet de contrôler efficacement le risque tout en maintenant le potentiel de profit
  5. Ferme automatiquement les positions inversées avant d'en ouvrir de nouvelles, en évitant l'exposition simultanée longue et courte

Risques stratégiques

  1. L'approche à double échéancier peut entraîner un retard sur les marchés variés, ce qui nécessite une gestion du tirage
  2. Des valeurs extrêmes strictes de l'indicateur de risque pourraient entraîner des opportunités de profit manquées
  3. Le niveau de prise de profit de 30% est agressif, ce qui peut conduire à des sorties anticipées sur des marchés volatils
  4. L'absence de conditions de stop-loss pourrait entraîner des pertes importantes lors d'inversions soudaines de tendance
  5. La taille des positions de 35% est relativement agressive, ce qui crée un risque élevé en cas de volatilité extrême

Directions d'optimisation

  1. Recommander l'ajout d'un mécanisme de stop-loss dynamique, en tenant compte des arrêts de retard basés sur ATR
  2. Les seuils de surachat/survente des indices de rentabilité pourraient être ajustés à 10 et 90 pour une meilleure adaptabilité
  3. Des indicateurs de volume pourraient être ajoutés pour la confirmation du signal
  4. Considérer une dimensionnement dynamique des positions basé sur la volatilité du marché à l'aide d'indicateurs ATR ou de volatilité
  5. Suggérez d'ajouter des filtres de force de tendance comme DMI ou ADX pour filtrer les tendances faibles

Résumé

Il s'agit d'une stratégie de suivi des tendances bien structurée avec une logique claire. Elle combine différents indicateurs techniques de calendrier pour capturer les tendances tout en maintenant le contrôle des risques. Bien qu'il y ait place à l'optimisation, la conception globale s'aligne sur les principes de négociation quantitative. Les traders doivent tester et optimiser les paramètres avant de négocier en direct et ajuster la taille de la position en fonction de leur tolérance au risque.


/*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)




Relationnée

Plus de