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

Tendance suivant la stratégie de traînée de l'arrêt de la plage réelle moyenne

Auteur:ChaoZhang est là., Date: 2024-05-24 18:12:01 Je vous en prie.
Les étiquettes:ATRLe TS

img

Résumé

Cette stratégie utilise la plage moyenne vraie (ATR) comme base pour un trailing stop (TS), ajustant dynamiquement la position stop-loss pour suivre la tendance. Lorsque le prix se déplace dans une direction favorable, la position stop-loss est ajustée en conséquence pour verrouiller les profits; lorsque le prix se déplace dans une direction défavorable, la position stop-loss reste inchangée, et une fois que le prix atteint le prix stop-loss, la position est fermée. La clé de cette stratégie réside dans l'ajustement dynamique de la position stop-loss, qui peut à la fois protéger les profits et permettre aux profits de s'étendre à mesure que la tendance se poursuit.

Principe de stratégie

  1. Calculer l'ATR comme base pour l'arrêt de trailing.
  2. Calculer la distance stop-loss nLoss en fonction de l'ATR et du paramètre KeyValue.
  3. Calculer la position dynamique de trailing stop xATRTrailingStop. Pour une position longue, elle est réglée sur le plus grand des le prix le plus élevé de la bougie précédente et (close - nLoss); pour une position courte, elle est réglée sur le plus petit des le prix le plus bas de la bougie précédente et (close + nLoss).
  4. Générer des signaux d'entrée. Lorsque le prix de clôture dépasse xATRTrailingStop, aller long; lorsque le prix de clôture dépasse xATRTrailingStop, aller court.

Analyse des avantages

  1. La position stop-loss est dynamiquement ajustée aux fluctuations de prix, ce qui permet de maintenir les bénéfices tout en permettant aux bénéfices de s'étendre à mesure que la tendance se poursuit.
  2. La position stop-loss est basée sur le calcul ATR, qui peut refléter objectivement la volatilité du marché et est plus souple et efficace que les positions stop-loss fixes subjectivement fixées.
  3. En amplifiant l'ATR avec le paramètre KeyValue, vous pouvez définir une distance de stop-loss appropriée en fonction de vos préférences en matière de risque.

Analyse des risques

  1. Les stratégies de suivi des tendances ont de faibles performances sur les marchés instables, et lorsque la tendance unilatérale n'est pas claire, des arrêts fréquents peuvent entraîner une perte rapide de fonds.
  2. Le calendrier d'entrée repose sur le signal croisé entre le prix de clôture et la ligne de stop-loss dynamique, ce qui peut entraîner de petites stop-loss consécutives sur un marché instable.
  3. Les stratégies d'arrêt de suivi ne peuvent pas éviter les écarts causés par des nouvelles significatives baissières ou haussières, et la vitesse d'ajustement de la position stop-loss ne peut pas suivre la vitesse de variation des prix, ce qui entraîne des pertes réelles beaucoup plus importantes que les pertes contrôlables attendues.

Direction de l'optimisation

  1. Les indicateurs de jugement des tendances, tels que les systèmes de moyennes mobiles et les indicateurs de dynamique, peuvent être ajoutés à la stratégie pour n'entrer sur le marché que lorsque la tendance est claire, en évitant de négocier fréquemment sur des marchés instables.
  2. Une stratégie de prise de bénéfices peut être envisagée, telle que le calcul de la taille des positions sur la base de la formule Kelly, la fixation de points de bénéfice fixes pour les arrêts de profit de retracement, etc., afin de réduire la possibilité d'une éventuelle restitution de bénéfices à la fin d'une tendance.
  3. Pour les ouvertures de gap, une limite maximale de stop-loss peut être fixée, par exemple un montant fixe ou un pourcentage fixe.

Résumé

La stratégie ATR trailing stop peut ajuster dynamiquement la position stop-loss en fonction de l'ampleur des fluctuations de prix et peut obtenir de bons résultats sur les marchés en tendance. Cependant, cette stratégie comporte également des risques tels que l'incapacité de faire face aux marchés agités, une fréquence de stop-loss excessive et des difficultés à éviter les ouvertures d'écart. Pour remédier à ces lacunes, la stratégie peut être optimisée et améliorée en termes de jugement de tendance, de stratégies de prise de profit et de limites maximales de stop-loss.


/*backtest
start: 2024-04-01 00:00:00
end: 2024-04-30 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Long TAP", overlay=true)

// Constants
keyValueDefault = 3.0
keyValueStep = 0.5
atrPeriodDefault = 10

// Inputs
keyValue = input.float(keyValueDefault, title="Key Value")
atrPeriod = input.int(atrPeriodDefault, title="ATR Period")

// Calculations
xATR = ta.atr(atrPeriod)
nLoss = keyValue * xATR

// Trailing Stop Calculation
var float xATRTrailingStop = 0.0
xATRTrailingStop := ta.highest(math.max(nz(xATRTrailingStop[1], 0), close - nLoss), 1)
xATRTrailingStop := ta.lowest(math.min(nz(xATRTrailingStop, 0), close + nLoss), 1)

// Position Calculation
var int pos = 0
pos := nz(pos[1], 0)
if (close[1] < nz(xATRTrailingStop, 0) and close > nz(xATRTrailingStop, 0))
    pos := 1
else if (close[1] > nz(xATRTrailingStop, 0) and close < nz(xATRTrailingStop, 0))
    pos := -1

// Plotting Trailing Stop
var color xcolor = na
if (pos == -1)
    xcolor := color.red
else if (pos == 1)
    xcolor := color.green
plot(xATRTrailingStop, color=xcolor, title="Trailing Stop")

// Buy/Sell Signals
buySignal = ta.crossover(close, xATRTrailingStop)
sellSignal = ta.crossunder(close, xATRTrailingStop)

// Strategy
if (buySignal)
    strategy.entry("Long", strategy.long)
    label.new(bar_index, xATRTrailingStop, text="Buy Signal", color=color.green, style=label.style_label_up, yloc=yloc.belowbar)
if (sellSignal)
    strategy.entry("Short", strategy.short)
    label.new(bar_index, xATRTrailingStop, text="Sell Signal", color=color.red, style=label.style_label_down, yloc=yloc.abovebar)

// Alerts
alertcondition(buySignal, title='UT BOT Buy', message='UT BOT Buy')
alertcondition(sellSignal, title='UT BOT Sell', message='UT BOT Sell')


Relationnée

Plus de