Suivre la tendance en suivant une stratégie avec des arrêts dynamiques

Auteur:ChaoZhang est là., Date: 2023-11-01 13h46 et 28 min
Les étiquettes:

img

Résumé

Cette stratégie génère des signaux de négociation lorsque le prix franchit l'EMA et utilise l'ATR comme stop loss dynamique pour gérer les risques.

Comment fonctionne- t- il?

La logique clé est la suivante:

  1. Calculer l'ATR en tant que ligne d'arrêt des pertes, la valeur ATR détermine la distance d'arrêt nLoss

  2. La source de prix est le prix de clôture par défaut, utilisez Heikin Ashi close si l'option h est activée

  3. xATRTrailingStop trace la ligne de stop loss dynamique basée sur la comparaison des prix avec le stop précédent

  4. La position pos est de 1 pour le long lorsque le prix franchit la ligne de stop loss, -1 pour le court lorsqu'il franchit la ligne de stop loss, sinon 0

  5. Signal croisé EMA, au-dessus de EMA est le signal d'achat, au-dessous est le signal de vente

  6. Entrer dans des transactions sur des signaux d'achat/de vente, sortir sur des signaux opposés

  7. Barres de couleur basées sur la position, les signaux de marquage et les lignes de stop loss

Cette stratégie suit les tendances avec des arrêts dynamiques basés sur l'ATR. Elle permet d'identifier les tendances et de gérer efficacement les risques.

Les avantages

Les avantages sont les suivants:

  1. L'arrêt dynamique basé sur ATR s'adapte à la volatilité du marché

  2. Le filtre EMA réduit les faux signaux du bruit

  3. Optionnel Heikin Ashi filtre le bruit et identifie la tendance

  4. L'ordre de mise en place de l'ordre de mise en place de l'ordre de mise en œuvre de l'ordre de mise en œuvre de l'ordre de mise en œuvre de l'ordre de mise en œuvre de l'ordre de mise en œuvre de l'ordre de mise en œuvre de l'ordre.

  5. Aides visuelles comme les lignes, les étiquettes et la coloration

  6. Une logique simple et facile à comprendre pour modifier

  7. Période ATR et multiplicateur personnalisables pour différents marchés

En résumé, en combinant le suivi de tendance et les arrêts dynamiques, cette stratégie peut détecter les tendances et bien gérer les risques pour le swing trading.

Les risques

Il y a quelques risques à prendre en considération:

  1. Les signaux EMA peuvent retarder les mouvements à court terme manquants

  2. Des déclencheurs de stop loss fréquents sont possibles sur des marchés instables

  3. Aucune prise en compte des coûts tels que les commissions

  4. Manque de contrôle du dimensionnement de la position

  5. Les performances dépendent du réglage des paramètres

  6. Risque de défaillance sur les différents marchés

  7. Requiert un suivi et une intervention

Les risques peuvent être réduits en optimisant les paramètres, en ajoutant des filtres, en dimensionnant correctement les positions, en surveillant les performances et en intervenant si nécessaire.

Optimisation

Quelques façons d'améliorer la stratégie:

  1. Ajuster les paramètres ATR pour différents marchés

  2. Testez d'autres moyennes mobiles pour filtrer les signaux

  3. Ajouter des indicateurs de filtrage de tendance pour une probabilité plus élevée

  4. Mettre en œuvre des limites de taille de position

  5. Ajouter des conditions d'entrée telles que le volume, la distance par rapport au MA

  6. Incorporer des coûts tels que les commissions dans les arrêts

  7. Optimiser le temps d'entrée et de sortie avec plus de signaux

  8. Introduire des arrêts de prise de profit ou de suivi

  9. Optimisation automatique des paramètres

En combinant plus de techniques pour les entrées, les sorties, les filtres et le réglage des paramètres, la stratégie peut être encore renforcée.

Conclusion

Cette stratégie combine bien les arrêts dynamiques et le suivi de tendance. Avec des arrêts efficaces, un suivi fluide de la tendance, une facilité d'utilisation et une personnalisation, elle est adaptée aux tendances du swing trading. Mais une bonne gestion des risques, une surveillance et un ajustement des paramètres sont nécessaires. Lorsqu'elle est bien appliquée sur les marchés en tendance, de bons résultats peuvent être obtenus. Dans l'ensemble, elle fournit une approche simple et pratique pour combiner le trading de tendance et la gestion des risques.


/*backtest
start: 2022-10-25 00:00:00
end: 2023-10-31 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="UT Bot Strategy", overlay = true)
//CREDITS to HPotter for the orginal code. The guy trying to sell this as his own is a scammer lol. 

// Inputs
a = input(1,     title = "Key Vaule. 'This changes the sensitivity'")
c = input(10,    title = "ATR Period")
h = input(false, title = "Signals from Heikin Ashi Candles")

xATR  = atr(c)
nLoss = a * xATR

src = h ? security(heikinashi(syminfo.tickerid), timeframe.period, close, lookahead = false) : close

xATRTrailingStop = 0.0
xATRTrailingStop := iff(src > nz(xATRTrailingStop[1], 0) and src[1] > nz(xATRTrailingStop[1], 0), max(nz(xATRTrailingStop[1]), src - nLoss),
   iff(src < nz(xATRTrailingStop[1], 0) and src[1] < nz(xATRTrailingStop[1], 0), min(nz(xATRTrailingStop[1]), src + nLoss), 
   iff(src > nz(xATRTrailingStop[1], 0), src - nLoss, src + nLoss)))
 
pos = 0   
pos :=	iff(src[1] < nz(xATRTrailingStop[1], 0) and src > nz(xATRTrailingStop[1], 0), 1,
   iff(src[1] > nz(xATRTrailingStop[1], 0) and src < nz(xATRTrailingStop[1], 0), -1, nz(pos[1], 0))) 
   
xcolor = pos == -1 ? color.red: pos == 1 ? color.green : color.blue 

ema   = ema(src,1)
above = crossover(ema, xATRTrailingStop)
below = crossover(xATRTrailingStop, ema)

buy  = src > xATRTrailingStop and above 
sell = src < xATRTrailingStop and below

barbuy  = src > xATRTrailingStop 
barsell = src < xATRTrailingStop 

plotshape(buy,  title = "Buy",  text = 'Buy',  style = shape.labelup,   location = location.belowbar, color= color.green, textcolor = color.white, transp = 0, size = size.tiny)
plotshape(sell, title = "Sell", text = 'Sell', style = shape.labeldown, location = location.abovebar, color= color.red,   textcolor = color.white, transp = 0, size = size.tiny)

barcolor(barbuy  ? color.green : na)
barcolor(barsell ? color.red   : na)

strategy.entry("long",   true, when = buy)
strategy.entry("short", false, when = sell)

Plus de