Stratégie de cassure fractale double


Date de création: 2024-01-30 15:53:27 Dernière modification: 2024-01-30 15:53:27
Copier: 0 Nombre de clics: 772
1
Suivre
1617
Abonnés

Stratégie de cassure fractale double

Aperçu

La stratégie de double rupture est une stratégie de négociation quantitative basée sur la forme technique. La stratégie consiste à identifier la formation de doubles ruptures de fond et de doubles ruptures de sommet et à envoyer des signaux d’achat et de vente lorsque le prix franchit ces ruptures.

Principe de stratégie

L’idée centrale de cette stratégie est basée sur la théorie de la fracture. Lorsque des points de basculement de courte durée semblables à des types M ou W apparaissent, cela indique que la tendance actuelle peut être inversée. Plus précisément, une fracture de fond ou une fracture de sommet est formée lorsque 5 lignes K consécutives forment une combinaison particulière de hauteur plus élevée ou de basse plus basse. Par exemple, dans un diagramme de lignes K, si le prix le plus élevé des 2 premières lignes K est supérieur au prix le plus élevé des 3 lignes K suivantes, une fraction de sommet est formée.

Lorsque le prix atteint un creux inférieur ou un creux supérieur, cela indique qu’il est plus probable qu’il revienne, de sorte que la stratégie génère respectivement des signaux d’achat et de vente.

Avantages stratégiques

Le principal avantage de cette stratégie est qu’elle permet d’identifier les retournements de tendance potentiels, ce qui est très utile pour les stratégies de trading qui suivent le type de tendance. En outre, la reconnaissance de la double fraction rend le signal de trading plus fiable que les stratégies qui ne dépendent que d’une seule forme de ligne K.

Risque stratégique

Le principal risque de cette stratégie réside dans le fait que l’identification de la fraction ne garantit pas à 100% le renversement des prix. Parfois, les prix ne peuvent être que des ajustements à court terme et aucun changement de tendance ne se produit.

Optimisation de la stratégie

Cette stratégie peut être optimisée de la manière suivante:

  1. Ajouter des conditions de filtrage telles que des indicateurs de volume de transactions pour éviter d’être induits en erreur par le faux retour.

  2. Ajustez les paramètres pour identifier les doubles fractions de périodes plus longues afin de capturer les inversions des grandes tendances.

  3. La réduction des pertes de titres perdus, combinée à une stratégie de stop-loss mobile

Résumer

La stratégie de rupture de double fractionnement est une stratégie de négociation courante, basée sur des indicateurs techniques, qui permet de suivre efficacement les tendances à court et à moyen terme du marché et présente un taux de profit/perte élevé.

Code source de la stratégie
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ceyhun

strategy("Fractal Breakout Strategy", overlay=true)

FUp = high[4] < high[2] and high[3] < high[2] and high[1] < high[2] and high < high[2] or 
   high[5] < high[2] and high[4] < high[2] and high[3] <= high[2] and 
   high[1] < high[2] and high < high[2] or 
   high[6] < high[2] and high[5] < high[2] and high[4] <= high[2] and 
   high[3] <= high[2] and high[1] < high[2] and high < high[2] or 
   high[7] < high[2] and high[6] < high[2] and high[5] <= high[2] and 
   high[4] <= high[2] and high[3] <= high[2] and high[1] < high[2] and 
   high < high[2] or 
   high[8] < high[2] and high[7] < high[2] and high[6] <= high[2] and 
   high[5] <= high[2] and high[4] <= high[2] and high[3] <= high[2] and 
   high[1] < high[2] and high < high[2]
FractalUp = valuewhen(FUp, high[2], 1)
plot(FractalUp, color=#0000FF,title="FractalUp")

FDown = low[4] > low[2] and low[3] > low[2] and low[1] > low[2] and low > low[2] or 
   low[5] > low[2] and low[4] > low[2] and low[3] >= low[2] and low[1] > low[2] and 
   low > low[2] or 
   low[6] > low[2] and low[5] > low[2] and low[4] >= low[2] and low[3] >= low[2] and 
   low[1] > low[2] and low > low[2] or 
   low[7] > low[2] and low[6] > low[2] and low[5] >= low[2] and low[4] >= low[2] and 
   low[3] >= low[2] and low[1] > low[2] and low > low[2] or 
   low[8] > low[2] and low[7] > low[2] and low[6] >= low[2] and low[5] >= low[2] and 
   low[4] >= low[2] and low[3] >= low[2] and low[1] > low[2] and low > low[2]
FractalDown = valuewhen(FDown, low[2], 1)
plot(FractalDown, color=#FF0000,title="FractalDown")

if crossover(close, FractalUp)
    strategy.entry("Long", strategy.long, comment="Long")

if crossunder(close, FractalDown)
    strategy.entry("Short", strategy.short, comment="Short")