Stratégie de rupture de la tortue


Date de création: 2023-12-04 16:25:53 Dernière modification: 2023-12-04 16:25:53
Copier: 0 Nombre de clics: 641
1
Suivre
1619
Abonnés

Stratégie de rupture de la tortue

Aperçu

Cette stratégie est une stratégie de négociation à court terme basée sur la théorie des ruptures. Elle utilise en combinaison un indicateur de la moyenne et un indicateur du prix le plus élevé / le plus bas pour identifier les signaux de rupture afin de capturer les bénéfices sur les tendances à court terme.

Principe de stratégie

La stratégie utilise les plus hauts de 20 jours pour identifier une tendance à la hausse, et fait plus lorsque le prix de clôture dépasse le plus haut de 20 jours; utilise les plus bas de 10 jours pour identifier une tendance à la baisse, et fait court lorsque le prix de clôture tombe sous le plus bas de 10 jours. En même temps, elle utilise un plus court de 10 jours de plus haut prix comme un signal de sortie de stop-loss de faire court.

Plus précisément, la stratégie comprend les règles suivantes:

  1. Il est possible de faire une entrée supplémentaire lorsque le cours de clôture est supérieur au cours le plus élevé du 20e jour.
  2. Le prix de clôture est inférieur au cours le plus bas du 10e jour, et le cours de la position est le plus bas du 10e jour.
  3. les positions de clôture sont libérées lorsque le prix de clôture est supérieur au prix le plus élevé du 10e jour;
  4. Lorsque le cours de clôture est inférieur au cours le plus bas du 10e jour, la position de placement est levée.

En comparant la relation entre les prix de clôture et les prix les plus élevés et les plus bas de différentes périodes, la stratégie capture les ruptures de tendance dans des périodes plus courtes et permet des opérations de courte ligne.

Analyse des avantages

Cette stratégie présente les avantages suivants:

  1. La logique de la stratégie est simple et claire, facile à comprendre et à mettre en œuvre.
  2. La théorie de la percée permet de saisir en temps opportun les tendances à court terme.
  3. Il est possible d’effectuer des transactions bidirectionnelles en évaluant les opportunités de multiples et de nuls.
  4. Il est possible d’ajuster la durée de la position avec une certaine souplesse en définissant différents intervalles de paramètres.

Analyse des risques

Cette stratégie comporte aussi des risques:

  1. Les transactions de rupture sont faciles à couper et nécessitent des arrêts de perte pour maîtriser les risques.
  2. La commutation fréquente des nuls multiples augmente les coûts de transaction et les pertes de points de glissement;
  3. Une mauvaise configuration des paramètres peut entraîner des transactions trop fréquentes ou retardées.

Pour contrôler le risque, on peut définir un stop-loss pour limiter les pertes individuelles, ou bien ajuster la plage de paramètres pour contrôler la fréquence des transactions.

Direction d’optimisation

La stratégie peut également être optimisée dans les domaines suivants:

  1. ajouter des filtres à d’autres indicateurs pour éviter les erreurs de détection;

  2. Mettre en place un mécanisme d’exode dynamique qui utilise les bénéfices pour suivre les arrêts de perte;

  3. ajouter une règle de jugement de tendance pour éviter le trading à contre-courant;

  4. Optimiser la fourchette de paramètres pour s’adapter à différents cycles et environnements de marché

Résumer

Cette stratégie est globalement une stratégie de rupture à court terme simple et pratique. Elle permet de capturer des opportunités de tendance sur des périodes plus courtes. Cependant, il existe des risques de couverture et de fréquence de négociation élevée.

Code source de la stratégie
/*backtest
start: 2022-11-27 00:00:00
end: 2023-12-03 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("TurtleBC Strategy v2 V.Troussel", shorttitle="TurtleBC-V.Troussel", overlay=true, pyramiding=0)

// === BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1)
FromDay   = input(defval = 1, title = "From Day", minval = 1)
FromYear  = input(defval = 2016, title = "From Year", minval = 2016)
ToMonth   = input(defval = 1, title = "To Month", minval = 1)
ToDay     = input(defval = 1, title = "To Day", minval = 1)
ToYear    = input(defval = 9999, title = "To Year", minval = 9999)

enter_fast = input(20, minval=1)
exit_fast = input(10, minval=1)
exit_fast_short=input(10,minval=1)


fastL = highest(close, enter_fast)
fastS = highest(close ,exit_fast_short)
fastLC = lowest(close, exit_fast)
//Sortie pour le short
exitS=close>fastS[1]


enterL1 = close > fastL[1]
exitL1 = close <= fastLC[1]




strategy.entry("Long", strategy.long, when = enterL1 and (time > timestamp(FromYear, FromMonth, FromDay, 00, 00)) and (time < timestamp(ToYear, ToMonth, ToDay, 23, 59)))
strategy.close("Long", when = exitL1 and (time < timestamp(ToYear, ToMonth, ToDay, 23, 59)))

//le trigger de sortie est 
strategy.entry("Short", strategy.short, when = exitL1 and (time > timestamp(FromYear, FromMonth, FromDay, 00, 00)) and (time < timestamp(ToYear, ToMonth, ToDay, 23, 59)))
strategy.close("Short", when = exitS and (time < timestamp(ToYear, ToMonth, ToDay, 23, 59)))