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

Arrêt dynamique avancé avec stratégie de ciblage risque-récompense

Auteur:ChaoZhang est là., Date: 2024-12-11 14:57:09 Je suis désolé
Les étiquettes:Indice de résistanceATRSMA

img

Résumé

Cette stratégie est un système de trading avancé qui combine des arrêts de trailers dynamiques, des ratios risque-rendement et des sorties extrêmes du RSI. Il identifie des modèles spécifiques (modèles de barres parallèles et modèles de barres de broches) pour l'entrée dans le commerce, tout en utilisant l'ATR et les bas récents pour le placement dynamique de stop loss, et détermine des objectifs de profit basés sur des ratios risque-rendement prédéfinis. Le système intègre également un mécanisme de sortie de surachat/survente du marché basé sur le RSI.

Principes de stratégie

La logique de base comprend plusieurs composantes clés:

  1. Les signaux d'entrée sont basés sur deux modèles: un modèle de barre parallèle (grande barre haussière suivant une grande barre baissière) et un modèle de barre double broche.
  2. Les niveaux d'arrêt des pertes en retard dynamiques utilisant un multiplicateur ATR ajusté aux bas de N-bar récents, garantissant ainsi que les niveaux d'arrêt des pertes s'adaptent à la volatilité du marché.
  3. Objectifs de bénéfices établis sur la base de ratios de risque/rendement fixes, calculés à partir de la valeur de risque ® pour chaque transaction.
  4. La valeur de la valeur de la valeur de la valeur de la valeur de la valeur de la valeur de la valeur de la valeur de la valeur de la valeur de la valeur de la valeur de la valeur de la valeur de la valeur de la valeur de la valeur de la valeur de la valeur de la valeur de la valeur de la valeur de la valeur de la valeur de la valeur de la valeur de la valeur.
  5. Le mécanisme de sortie extrême du RSI déclenche la fermeture de position aux extrêmes du marché.

Les avantages de la stratégie

  1. Gestion dynamique des risques: les niveaux de stop-loss s'adaptent dynamiquement à la volatilité du marché grâce à une combinaison d'ATR et de faibles récents.
  2. Contrôle précis des positions: la dimensionnement des positions basé sur le montant du risque fixe garantit un risque constant par transaction.
  3. Mécanisme de sortie multidimensionnel: Combine les arrêts de trail, les objectifs de profit fixes et les extrêmes du RSI.
  4. Options de négociation flexibles: Options de négociation à long terme, à court terme ou bidirectionnelle.
  5. Configuration claire de risque-rendement: des ratios de risque-rendement prédéterminés définissent des objectifs de profit clairs pour chaque transaction.

Risques stratégiques

  1. Risque d'exactitude de la reconnaissance de motifs: potentielle fausse identification de barres parallèles et de barres à broches.
  2. Risque de glissement dans le stop loss: risque de glissement significatif sur les marchés volatils.
  3. Sortie prématurée de l'indice RSI: pourrait entraîner une sortie prématurée sur les marchés à forte tendance.
  4. Limites fixes du ratio risque/rendement: les ratios risque/rendement optimaux peuvent varier selon les conditions du marché.
  5. Optimisation des paramètres Risque de suradaptation: les combinaisons de plusieurs paramètres peuvent entraîner une sur-optimisation.

Directions d'optimisation de la stratégie

  1. Amélioration du signal d'entrée: Ajouter plus d'indicateurs de confirmation de modèle comme les indicateurs de volume et de tendance.
  2. Ratio risque-rendement dynamique: ajuster les ratios risque-rendement en fonction de la volatilité du marché.
  3. Adaptation intelligente des paramètres: introduire des algorithmes d'apprentissage automatique pour l'optimisation dynamique des paramètres.
  4. Confirmation à plusieurs délais: ajouter des mécanismes de confirmation du signal à plusieurs délais.
  5. Classification de l'environnement du marché: appliquer différents ensembles de paramètres pour les différentes conditions du marché.

Résumé

Il s'agit d'une stratégie de trading bien conçue qui combine plusieurs concepts d'analyse technique matures pour construire un système de trading complet. Les atouts de la stratégie résident dans son système de gestion des risques complet et ses règles de trading flexibles, tandis que l'attention doit être portée à l'optimisation des paramètres et à l'adaptabilité du marché.


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

Relationnée

Plus de