Stratégie avancée de stop loss dynamique et de profit cible

RSI ATR SMA
Date de création: 2024-12-11 14:57:09 Dernière modification: 2024-12-11 14:57:09
Copier: 0 Nombre de clics: 383
1
Suivre
1617
Abonnés

Stratégie avancée de stop loss dynamique et de profit cible

Aperçu

La stratégie est un système de trading avancé qui combine le suivi dynamique des arrêts, des taux de rémunération du risque et des extrêmes de sortie du RSI. La stratégie consiste à négocier en identifiant des formes spécifiques du marché (les formes parallèles de la ligne K et les formes de la ligne K conique) tout en utilisant l’ATR et les points bas les plus récents pour définir un stop-loss dynamique et un objectif de profit en fonction d’un rapport de retour de risque prédéfini.

Principe de stratégie

La logique fondamentale de la stratégie comprend les éléments clés suivants :

  1. Les signaux d’entrée sont basés sur deux formes: la forme de ligne K parallèle (le grand axe suivant le petit axe) et la forme de ligne K bisagonale.
  2. Le stop tracking dynamique utilise le multiplicateur ATR pour ajuster le prix le plus bas de la ligne N à la racine K la plus proche, afin d’assurer que le stop est dynamique et s’adapte aux fluctuations du marché.
  3. L’objectif de profit est basé sur un ratio de risque/rendement fixe, déterminé par le calcul de la valeur de risque ® de chaque transaction.
  4. La taille de la position est calculée en fonction du montant du risque fixe et de la valeur du risque dynamique par transaction.
  5. Le mécanisme de sortie des extrêmes RSI déclenche un signal de plage lorsque le marché est trop chaud ou trop froid.

Avantages stratégiques

  1. Gestion dynamique des risques: en combinant l’ATR et les plus bas de la dernière période, le stop loss peut être ajusté en fonction de la dynamique des fluctuations du marché.
  2. Contrôle de position précis: la méthode de calcul de position basée sur un montant de risque fixe assure la cohérence du risque de chaque transaction.
  3. Un mécanisme de sortie multidimensionnel: un mécanisme de sortie triple combinant le suivi des arrêts de perte, des objectifs de profit fixes et des extrêmes du RSI.
  4. Options de négociation flexibles: vous pouvez choisir de négocier en plus, en moins ou dans les deux sens.
  5. Une définition claire des risques et des retours: un objectif de rendement par transaction clairement défini par rapport aux risques et retours prédéfinis.

Risque stratégique

  1. Risques d’exactitude de la reconnaissance de la forme: il peut y avoir un malentendu dans l’identification des lignes K parallèles et des lignes K coniques.
  2. Risque de glissement dans le paramètre Stop Loss: un risque de glissement plus important dans un marché très volatil.
  3. Les extrêmes du RSI peuvent se retirer prématurément: dans un marché en forte tendance, cela peut entraîner une sortie prématurée et la perte de plus de bénéfices.
  4. Limitations du rapport de retour sur risque fixe: le rapport de retour sur risque optimal peut varier selon les conditions du marché.
  5. Risque de sur-adaptation des paramètres optimisés: la combinaison de plusieurs paramètres peut entraîner une sur-optimisation.

Orientation de l’optimisation de la stratégie

  1. Optimisation du signal d’entrée: vous pouvez ajouter plus d’indicateurs de confirmation de forme, tels que le volume de transactions, les indicateurs de tendance, etc.
  2. Le ratio de retour sur risque est ajusté en fonction de la dynamique de la volatilité du marché.
  3. Adaptation intelligente des paramètres: l’introduction d’algorithmes d’apprentissage automatique pour optimiser dynamiquement les paramètres.
  4. Confirmation multi-périodes: un mécanisme de confirmation de signaux avec plus de périodes.
  5. Classification des environnements de marché: différentes combinaisons de paramètres sont utilisées en fonction des différents environnements de marché.

Résumer

Il s’agit d’une stratégie de négociation bien conçue, qui construit un système de négociation complet en combinant plusieurs concepts d’analyse technique bien établis. L’avantage de la stratégie réside dans son système complet de gestion des risques et ses règles de négociation flexibles, mais il faut également prêter attention à l’optimisation des paramètres et à la question de l’adaptabilité du marché.

Code source de la stratégie
/*backtest
start: 2024-11-10 00:00:00
end: 2024-12-09 08:00:00
period: 2h
basePeriod: 2h
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/
// © ZenAndTheArtOfTrading | www.TheArtOfTrading.com
// @version=5
strategy("Trailing stop 1", overlay=true)

// Get user input 
int     BAR_LOOKBACK    = input.int(10, "Bar Lookback")
int     ATR_LENGTH      = input.int(14, "ATR Length")
float   ATR_MULTIPLIER  = input.float(1.0, "ATR Multiplier")
rr                      = input.float(title="Risk:Reward", defval=3)

// Basic definition
var float shares=na
risk = 1000
var float R=na
E = strategy.position_avg_price

// Input option to choose long, short, or both
side = input.string("Long", title="Side", options=["Long", "Short", "Both"])

// RSI exit option
RSIexit = input.string("Yes", title="Exit at RSI extreme?", options=["Yes", "No"])
RSIup = input(75)
RSIdown = input(25)

// Get indicator values 
float atrValue = ta.atr(ATR_LENGTH)

// Calculate stop loss values
var float trailingStopLoss = na 
float longStop  = ta.lowest(low, BAR_LOOKBACK) - (atrValue * ATR_MULTIPLIER)
float shortStop = ta.highest(high, BAR_LOOKBACK) + (atrValue * ATR_MULTIPLIER)

// Check if we can take trades 
bool canTakeTrades = not na(atrValue)
bgcolor(canTakeTrades ? na : color.red)

//Long pattern
    //Two pin bar
onepinbar = (math.min(close,open)-low)/(high-low)>0.6 and math.min(close,open)-low>ta.sma(high-low,14)
twopinbar = onepinbar and onepinbar[1]
notatbottom = low>ta.lowest(low[1],10)
    // Parallel
bigred = (open-close)/(high-low)>0.8 and high-low>ta.sma(high-low,14)
biggreen = (close-open)/(high-low)>0.8 and high-low>ta.sma(high-low,14)
parallel = bigred[1] and biggreen  
atbottom = low==ta.lowest(low,10)

// Enter long trades (replace this entry condition)
longCondition = parallel 
if (longCondition and canTakeTrades and  strategy.position_size == 0 and (side == "Long" or side == "Both"))
    R:= close-longStop
    shares:= risk/R
    strategy.entry("Long", strategy.long,qty=shares)

// Enter short trades (replace this entry condition)
shortCondition = parallel
if (shortCondition and canTakeTrades and strategy.position_size == 0 and (side == "Short" or side == "Both"))
    R:= shortStop - close
    shares:= risk/R
    strategy.entry("Short", strategy.short,qty=shares)

// Update trailing stop
if (strategy.position_size > 0)
    if (na(trailingStopLoss) or longStop > trailingStopLoss)
        trailingStopLoss := longStop
else if (strategy.position_size < 0)
    if (na(trailingStopLoss) or shortStop < trailingStopLoss)
        trailingStopLoss := shortStop
else
    trailingStopLoss := na

// Exit trades with trailing stop
strategy.exit("Long Exit",  "Long",  stop=trailingStopLoss, limit = E + rr*R )
strategy.exit("Short Exit", "Short", stop=trailingStopLoss, limit = E - rr*R)

//Close trades at RSI extreme
if ta.rsi(high,14)>RSIup and RSIexit == "Yes"
    strategy.close("Long")
if ta.rsi(low,14)<RSIdown and RSIexit == "Yes"
    strategy.close("Short")

// Draw stop loss 
plot(trailingStopLoss, "Stop Loss", color.red, 1, plot.style_linebr)