Stratégie d'inversion de rupture avec stop loss

Auteur:ChaoZhang est là., Date: 2024-02-05 14:56:16 Je vous en prie
Les étiquettes:

img

Résumé

Il s'agit d'une stratégie de trading quantitative longue/courte basée sur la théorie de la rupture. Il calcule le prix de clôture le plus élevé au cours des 100 derniers jours de négociation et détermine si une rupture se produit en fonction du prix de clôture le plus récent dépasse ce niveau. Si une rupture est détectée, un signal long est déclenché. Après avoir entré long, la position sera fermée par un stop loss après 25 barres.

La logique de la stratégie

La logique de base de cette stratégie s'appuie sur la théorie de la rupture dans l'analyse technique.

Plus précisément, cette stratégie utilise la fonction Pine Script intégréeta.highest()Il compare ensuite si le prix de clôture de la barre actuelle est supérieur à ce niveau. Si le prix de clôture dépasse et dépasse le prix de clôture le plus élevé de 100 jours, un signal d'entrée longue est déclenché.

Une fois entré dans une position longue, la stratégie définit une condition de stop loss pour fermer la position.ta.barssince()pour compter le nombre de barres écoulées depuis l'entrée long, il forcera à fermer la position après 25 barres.

La logique d'entrée peut être résumée comme suit:

  1. Calculer la plus forte clôture des 100 derniers jours de négociation
  2. Comparer si le prix de clôture de la barre courante dépasse le prix de clôture le plus élevé
  3. En cas de dépassement, déclencher le signal d'entrée longue
  4. Fermer la position longue par stop loss après 25 bars

Analyse des avantages

Le plus grand avantage de cette stratégie est de capturer les points d'inversion des prix avec un taux de réussite relativement élevé des transactions suivant la tendance.

Les avantages concrets sont les suivants:

1. Suivre la tendance, un taux de réussite plus élevé

La théorie de la rupture estime qu'une fois que le prix dépasse un niveau clé, il peut commencer une nouvelle tendance.

2. risque contrôlable, avec stop loss

La stratégie définit une sortie de stop-loss forcée après 25 bars à une perte maximale d'un seul commerce, évitant ainsi d'énormes pertes.

3. Convient à la détention à moyen et long terme

La période de détention par défaut est de 25 bars, environ 1 mois. Cette fréquence convient aux stratégies à moyen et long terme, pas trop courte pour les whipsaws et pas trop longue pour augmenter le risque.

Peu de paramètres, facile à optimiser

Il existe principalement 2 paramètres réglables.Avec peu de paramètres, il est facile de tester et de trouver des paramètres optimaux pour le trading réel.

5. transférable entre différents produits

Cette stratégie ne répond pas aux indicateurs particuliers de certains produits.Sa logique s'applique aux actions, aux devises, aux matières premières, aux crypto-monnaies, etc. Il est donc flexible de basculer entre les produits.

Analyse des risques

Bien que cette stratégie présente certains avantages, elle comporte également certains risques lorsqu'elle est déployée dans le commerce réel, principalement:

1. Risque de détention de positions perdantes

La stratégie n'a pas de stop loss pour suivre les positions rentables. Si la tendance du prix ne se déroule pas comme prévu, ou si la rupture s'avère être une fausse rupture, alors une sortie forcée au point de stop loss prédéfini peut entraîner une grande perte. C'est le plus grand risque.

Il peut être nécessaire de régler les paramètres

Les paramètres par défaut peuvent ne pas être optimaux. Ils doivent être optimisés lors de la négociation en direct pour trouver le meilleur ajustement pour les régimes de produit et de marché spécifiques. Cela ajoute du travail supplémentaire.

3. Corrélation des performances avec les marchés

La stratégie repose trop sur des tendances de prix persistantes. Elle ne fonctionne pas bien pendant les régimes à plage. Si des marchés de frappe sont rencontrés, une sortie forcée se produira fréquemment, entraînant des gains/pertes instables.

Optimisation

Pour rendre cette stratégie plus solide et plus rentable pour le déploiement effectif, certaines améliorations peuvent être apportées dans les aspects suivants:

1. ajouter un mécanisme de stop loss

Ajoutez une logique de stop loss pour suivre les positions rentables, en mettant à jour dynamiquement le point de stop loss en fonction des bénéfices flottants.

Paramètres adaptatifs basés sur les marchés

Rendre les paramètres tels que la période de rupture et la période de détention adaptables en fonction de la force du marché, quantifiés à l'aide de mesures telles que l'ATR. Cela peut ajuster dynamiquement les paramètres.

**3. Combiner les filtres de tendance **

Une meilleure filtration des tendances peu claires lors de l'application de la stratégie, par une analyse préalable des tendances, soit discrétionnaire, soit quantitative.

4. Essai sur différents produits et intervalles

Le test des paramètres et des règles optimisés sur différents produits (par exemple, indices, matières premières, forex, crypto) et intervalles (par exemple, journalier, 60m bars) rendra cette stratégie plus robuste et largement applicable.

Conclusion

Cette stratégie d'inversion de rupture avec stop loss est facile à mettre en œuvre avec des règles claires sur l'identification de la tendance et la gestion de la position. Nous analysons sa force et ses risques, fournissons des suggestions pour améliorer sa rentabilité et son applicabilité. Avec une optimisation supplémentaire, elle peut devenir une stratégie de trading quantitative solide.


/*backtest
start: 2023-01-29 00:00:00
end: 2024-02-04 00:00:00
period: 1d
basePeriod: 1h
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/
// © All_Verklempt

//@version=5
strategy("Breakout Strategy", overlay=true)

// Input variable for breakout period
breakoutPeriod = input.int(100, title="Breakout Period", minval=1)

// Calculate the highest close of the past breakout period
highestClose = ta.highest(close, breakoutPeriod)

// Input variables for start and end dates
startYear = input.int(2022, title="Start Year", minval=1900)
startMonth = input.int(1, title="Start Month", minval=1, maxval=12)
startDay = input.int(1, title="Start Day", minval=1, maxval=31)

endYear = input.int(2023, title="End Year", minval=1900)
endMonth = input.int(12, title="End Month", minval=1, maxval=12)
endDay = input.int(31, title="End Day", minval=1, maxval=31)

// Convert start and end dates to timestamp
startDate = timestamp(startYear, startMonth, startDay, 00, 00)
endDate = timestamp(endYear, endMonth, endDay, 23, 59)

// Entry condition: Breakout and higher close within the specified date range
enterLong = close > highestClose[1] and close > close[1]

// Exit condition: Close the long position after twenty-five bars
exitLong = ta.barssince(enterLong) >= 25

// Strategy logic
if (enterLong)
    strategy.entry("Long", strategy.long)

if (exitLong)
    strategy.close("Long")


Plus de