Stratégie dynamique d'arrêt des pertes

Auteur:ChaoZhang est là., Date: 2024-01-31 15h05 et 30 min
Les étiquettes:

img

Résumé

Cette stratégie est basée sur un mécanisme de stop loss dynamique pour définir des lignes de stop loss pour les positions longues et courtes en fonction des prix les plus élevés et les plus bas d'un stock.

Principe

Les principales étapes de cette stratégie sont les suivantes:

  1. Paramètres d'entrée: sélectionnez long ou court, définissez la longueur de la période, dérapage de l'arrêt de traînée
  2. Calculer les prix les plus élevés et les plus bas: obtenir les prix les plus élevés et les plus bas en fonction de la longueur d'entrée
  3. Calculer les lignes de stop loss suivantes: pour le prix long, le prix le plus bas moins le glissement; pour le prix court, le prix le plus élevé plus le glissement
  4. Position ouverte et position fermée: lorsque le prix atteint la ligne stop loss, position fermée dans la direction actuelle et position ouverte dans la direction opposée

La ligne de stop-loss se maintient à jour pour un suivi dynamique au fur et à mesure que le prix évolue.

Analyse des avantages

Les principaux avantages de cette stratégie:

  1. La logique est simple et claire, facile à comprendre et à mettre en œuvre
  2. L'établissement doit fournir les informations suivantes à l'autorité compétente:
  3. Flexible pour choisir long ou court, adaptable à différents environnements de marché
  4. Personnalisation de la période et du glissement pour optimisation

En résumé, grâce à des mécanismes de stop loss simples, cette stratégie permet de gérer efficacement les positions et constitue une stratégie typique de gestion des risques.

Analyse des risques

Il y a aussi quelques risques à noter:

  1. La volatilité des prix peut entraîner fréquemment un stop loss, ce qui conduit à une survente
  2. Les paramètres de période incorrects peuvent entraîner des lignes de stop-loss inappropriées
  3. Un réglage excessif du glissement peut entraîner un arrêt de perte faible, incapable d'arrêter la perte à temps.

Ces risques peuvent être optimisés en ajustant la période, en réduisant raisonnablement le glissement pour créer des lignes de stop loss plus raisonnables.

Directions d'optimisation

La stratégie peut être améliorée en ce qui concerne les aspects suivants:

  1. Ajouter l'optimisation pour l'ajustement dynamique de la ligne de stop-loss, éviter les lignes de stop-loss serrées ou lâches inappropriées
  2. Ajouter des conditions de position ouverte pour éviter d'ouvrir des positions à des moments inappropriés
  3. Incorporer des indicateurs de tendance pour un suivi de tendance avec un potentiel de profit plus élevé
  4. Ajouter une dimensionnement des positions pour ajuster dynamiquement les positions en fonction des niveaux de risque

Conclusion

La stratégie de trading réalise une gestion dynamique des positions grâce à des méthodes de stop loss simples. Elle est facile à comprendre et à mettre en œuvre, et peut contrôler efficacement la perte d'une seule transaction. Nous avons analysé les avantages, les risques potentiels et les directions d'optimisation futures. En conclusion, il s'agit d'une stratégie de gestion des risques très typique et pratique.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2019

//@version=4
strategy(title = "Noro's Trailing-Stop Strategy", shorttitle = "Trailing", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(false, defval = false, title = "Short")
length = input(20, minval = 1)
shift = input(0.0, minval = 0, title = "Trailing Stop")
background = input(false)

//Levels
max = highest(high, length)
min = lowest(low, length)

//Trailing
size = strategy.position_size
longtrailing = 0.0
shorttrailing = 0.0
longtrailing := size <= 0 ? min - ((min / 100) * shift) : max(min - ((min / 100) * shift), longtrailing[1])
shorttrailing := size >= 0 ? max + ((max / 100) * shift) : min(max + ((max / 100) * shift), shorttrailing[1])
trailing = size <= 0 ? shorttrailing : longtrailing
col = size == size[1] ? size > 0 ? color.red : color.lime : na
plot(trailing, color = col, linewidth = 2, transp = 0)

//Background
bgcol = background ? size > 0 ? color.lime : color.red : na
bgcolor(bgcol, transp = 80)

if trailing > 0 and size <= 0
    strategy.entry("Long", strategy.long, needlong ? na : 0, stop = trailing)
if trailing > 0 and size >= 0
    strategy.entry("Short", strategy.short, needshort ? na : 0, stop = trailing)

Plus de