Stratégie de backtesting de support et de résistance dynamiques


Date de création: 2023-12-29 15:50:57 Dernière modification: 2023-12-29 15:50:57
Copier: 0 Nombre de clics: 775
1
Suivre
1621
Abonnés

Stratégie de backtesting de support et de résistance dynamiques

Aperçu

Cette stratégie est basée sur le prix le plus élevé, le prix le plus bas et le niveau de résistance de soutien calculé au cours de la clôture du jour de négociation précédent, pour effectuer des opérations de position longue ou courte sur la journée de négociation en cours. Faire plus lorsque le prix franchit le niveau de résistance supérieur R1; Faire moins lorsque le prix tombe en dessous du niveau de résistance inférieur S1.

Principe de stratégie

  1. Le support S1, la résistance R1 et le point pivot vPP sont calculés à partir du prix maximal xHigh, du prix minimal xLow et du prix de clôture xClose du jour précédent.

vPP = (xHigh+xLow+xClose) / 3

vR1 = vPP+(vPP-xLow)

vS1 = vPP-(xHigh - vPP)

  1. Détermine si le prix a dépassé vR1 ou vS1, si le prix dépasse vR1 faites plus, si le prix dépasse vS1 faites moins.

pos = iff(close > vR1, 1,
iff(close < vS1, -1, nz(pos[1], 0)))

  1. possig enregistre la direction de la transaction réelle. Si le trading inversé est activé, le signal de transaction est inversé.

  2. D’après le signal possig, faire plus à la rupture de vR1 et faire vide à la rupture de vS1.

Avantages stratégiques

  1. La stratégie utilise des indices de résistance à l’appui dynamique pour capturer les tendances de rupture.
  2. Le niveau de résistance est mis à jour quotidiennement et est dynamique.
  3. Les options de négociation directe ou indirecte s’appliquent à différents environnements de marché.
  4. La stratégie est simple, claire et facile à comprendre.
  5. La résistance au support est présentée visuellement, et le changement de tendance est jugé intuitivement.

Analyse des risques

  1. Si la situation change, cela peut déclencher plusieurs signaux d’achat et de vente inutiles.
  2. Si une tendance anormale se produit, la résistance de soutien peut être dépassée et continuer à s’étendre, ce qui entraîne des pertes.
  3. La méthode de calcul des axes centraux et des points de résistance de support est relativement simple et doit être optimisée.

Comment gérer les risques:

  1. Adapter la taille des positions et contrôler les pertes ponctuelles.
  2. Il faut mettre en place un stop loss pour éviter les pertes au-delà de ce qui est tolérable.
  3. En combinaison avec d’autres indicateurs, les signaux de filtrage permettent d’éviter les transactions fréquentes dans des conditions de choc.

Direction d’optimisation

  1. Optimisation des méthodes de calcul de la résistance au support pour une meilleure prévisibilité.
  2. Il s’agit d’une approche qui permet d’augmenter la combinaison d’indicateurs tels que la tendance, le momentum et d’éviter les transactions inutiles.
  3. Augmenter les stratégies de stop-loss et de contrôle des frais et des pertes maximales.
  4. La combinaison de méthodes d’apprentissage automatique permet d’optimiser dynamiquement le calcul des points de résistance de support.

Résumer

Cette stratégie est basée sur des indicateurs de résistance à la résistance dynamique, et la position est tenue en fonction de la direction de la rupture des prix. L’idée de la stratégie est simple, facile à comprendre et à mettre en œuvre, capture efficacement les points de basculement de la tendance.

Code source de la stratégie
//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 14/06/2018
// This Pivot points is calculated on the current day.
// Pivot points simply took the high, low, and closing price from the previous period and 
// divided by 3 to find the pivot. From this pivot, traders would then base their 
// calculations for three support, and three resistance levels. The calculation for the most 
// basic flavor of pivot points, known as ‘floor-trader pivots’, along with their support and 
// resistance levels.
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Dynamic Pivot Point Backtest", shorttitle="Dynamic Pivot Point", overlay = true)
reverse = input(false, title="Trade reverse")
xHigh  = request.security(syminfo.tickerid,"D", high[1])
xLow   = request.security(syminfo.tickerid,"D", low[1])
xClose = request.security(syminfo.tickerid,"D", close[1])
vPP = (xHigh+xLow+xClose) / 3
vR1 = vPP+(vPP-xLow)
vS1 = vPP-(xHigh - vPP)
pos = iff(close > vR1, 1,
       iff(close < vS1, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue ) 
plot(vS1, color=#ff0000, title="S1", style = circles, linewidth = 1)
plot(vR1, color=#009600, title="R1", style = circles, linewidth = 1)