Stratégie de suivi de tendance à double échéance


Date de création: 2023-09-22 14:27:52 Dernière modification: 2023-09-22 14:27:52
Copier: 1 Nombre de clics: 760
1
Suivre
1617
Abonnés

Aperçu

Cette stratégie est une stratégie de suivi de la hypertrend sur deux périodes de temps. Elle utilise simultanément deux indicateurs de la hypertrend de différentes périodes, l’un comme cadre principal pour déterminer la direction de la tendance et l’autre comme cadre secondaire pour filtrer l’entrée.

Principe de stratégie

L’indicateur central de la stratégie est l’indicateur de tendance supérieure. L’indicateur de tendance supérieure détermine la direction de la tendance relative des prix en calculant l’écart de dispersion des prix. La stratégie utilise l’indicateur de tendance supérieure pour deux périodes de temps, calculant respectivement la ligne de tendance supérieure pour la période principale et la période secondaire.

La logique de l’opération est la suivante:

  1. La direction de la ligne de tendance au-delà du cadre de temps principal est considérée comme la direction de la tendance générale.

  2. Attendez que le cadre de temps auxiliaire passe la ligne de tendance pour entrer en jeu lorsque le signal de position est synchrone.

  3. Réglez le point d’arrêt des pertes.

  4. La ligne de tendance supérieure de la période principale est à nouveau à plat.

Ainsi, en combinant les deux indicateurs de périodes, on peut filtrer certains signaux de déviation pour une entrée plus précise.

Analyse des avantages

Cette stratégie présente les avantages suivants:

  1. La combinaison de deux calendriers permet de mieux évaluer les tendances.

  2. L’indicateur hypertrend est sensible aux changements de tendance et est précis à l’entrée.

  3. La mise en place d’un point d’arrêt de perte permet de contrôler le risque.

  4. La logique de la stratégie est simple, directe et facile à comprendre.

  5. Les paramètres peuvent être personnalisés pour s’adapter à différentes variétés.

Analyse des risques

Les principaux risques liés à cette stratégie sont:

  1. Le retard de l’indicateur hypertrend peut induire en erreur les signaux.

  2. Une mauvaise configuration de l’arrêt de dommages peut entraîner une sur-recherche ou un arrêt intentionnel.

  3. Les combinaisons de deux périodes peuvent manquer des opportunités de revirement plus courtes.

  4. L’optimisation des paramètres est basée sur des données historiques, avec un risque de surcorrection.

  5. L’impact sur le coût de la transaction n’est pas pris en compte.

La réponse:

  1. Ajuster les paramètres de l’indicateur de manière appropriée pour introduire d’autres vérifications de combinaison d’indicateurs.

  2. Optimisation dynamique de l’arrêt de perte en fonction des données de rétro-mesure.

  3. Un cycle de test plus court est utilisé comme aide à la décision.

  4. Élargissement de la portée de la rétroanalyse des données et vérification de la rétroanalyse sur plusieurs marchés.

  5. Les frais de transaction, les commissions, les points de défilement, etc. sont calculés.

Direction d’optimisation

Cette stratégie peut être optimisée par:

  1. tester une combinaison de plusieurs indicateurs pour trouver la combinaison optimale.

  2. introduire des méthodes d’apprentissage automatique pour optimiser dynamiquement les paramètres.

  3. Optimiser les stratégies de stop-loss et d’amélioration du ratio profit/perte.

  4. Essayez les effets combinés de plusieurs périodes.

  5. Ajustez la zone stop-loss en fonction du nombre de transactions effectuées.

  6. Logique de calcul des frais d’ajout et des points de glissement.

  7. Développer des outils d’optimisation des paramètres graphiques.

Résumer

La stratégie permet de déterminer les tendances et les entrées avec une précision accrue grâce à des indicateurs de tendance supérieure à deux périodes. La logique de la stratégie est simple et claire, facile à développer et à optimiser. Des améliorations peuvent être apportées ultérieurement en introduisant plus d’indicateurs, en ajoutant des paramètres d’optimisation dynamique et en ajoutant des calculs de coût de transaction.

Code source de la stratégie
/*backtest
start: 2023-08-22 00:00:00
end: 2023-09-21 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//Supertrend Strategy by breizh29 using *rajandran.r* Supertrend Indicator

// strategy("Super Trend 2", overlay=true, default_qty_value=100)
TrendUp = 0.0
TrendDown = 0.0
Trend = 0.0
MTrendUp = 0.0
MTrendDown = 0.0
MTrend = 0.0

res = input(title="Main SuperTrend Time Frame",  defval="120")
Factor=input(1, minval=1,maxval = 100)
Pd=input(1, minval=1,maxval = 100)

tp = input(500,title="Take Profit")
sl = input(400,title="Stop Loss")


Up=hl2-(Factor*atr(Pd))
Dn=hl2+(Factor*atr(Pd))
MUp=security(syminfo.tickerid,res,hl2-(Factor*atr(Pd)))
MDn=security(syminfo.tickerid,res,hl2+(Factor*atr(Pd)))

Mclose=security(syminfo.tickerid,res,close)

TrendUp:=close[1]>TrendUp[1]? max(Up,TrendUp[1]) : Up
TrendDown:=close[1]<TrendDown[1]? min(Dn,TrendDown[1]) : Dn

MTrendUp:=Mclose[1]>MTrendUp[1]? max(MUp,MTrendUp[1]) : MUp
MTrendDown:=Mclose[1]<MTrendDown[1]? min(MDn,MTrendDown[1]) : MDn

Trend := close > TrendDown[1] ? 1: close< TrendUp[1]? -1: nz(Trend[1],1)
Tsl = Trend==1? TrendUp: TrendDown

MTrend := Mclose > MTrendDown[1] ? 1: Mclose< MTrendUp[1]? -1: nz(MTrend[1],1)
MTsl = MTrend==1? MTrendUp: MTrendDown

linecolor = Trend == 1 ? green : red
plot(Tsl, color = linecolor , style = line , linewidth = 2,title = "SuperTrend")

Mlinecolor = MTrend == 1 ? blue : orange
plot(MTsl, color = Mlinecolor , style = line , linewidth = 2,title = "Main SuperTrend")

plotshape(cross(close,Tsl) and close>Tsl , "Up Arrow", shape.triangleup,location.belowbar,green,0,0)
plotshape(cross(Tsl,close) and close<Tsl , "Down Arrow", shape.triangledown , location.abovebar, red,0,0)

up = Trend == 1 and Trend[1] == -1 and MTrend == 1 
down = Trend == -1 and Trend[1] == 1 and MTrend == -1 
plotarrow(up ? Trend : na, title="Up Entry Arrow", colorup=lime, maxheight=60, minheight=50, transp=0)
plotarrow(down ? Trend : na, title="Down Entry Arrow", colordown=red, maxheight=60, minheight=50, transp=0)


golong = Trend == 1 and Trend[1] == -1 and MTrend == 1 
goshort = Trend == -1 and Trend[1] == 1 and MTrend == -1 

strategy.entry("Buy", strategy.long,when=golong)
strategy.exit("Close Buy","Buy",profit=tp,loss=sl)
   
   
strategy.entry("Sell", strategy.short,when=goshort)
strategy.exit("Close Sell","Sell",profit=tp,loss=sl)