Stratégie de profit stop-loss basée sur la tendance


Date de création: 2024-02-21 14:55:41 Dernière modification: 2024-02-21 14:55:41
Copier: 0 Nombre de clics: 629
1
Suivre
1617
Abonnés

Stratégie de profit stop-loss basée sur la tendance

Aperçu

L’idée principale de la stratégie est de déterminer la direction de la plus-value en fonction de la tendance des prix sur la semaine, d’entrer dans la plus-value lorsque la forme de la ligne solaire apparaît dans le cas d’un bullish; de s’arrêter lorsque les prix montent jusqu’à un point d’arrêt prévu, et de s’arrêter s’ils descendent jusqu’à un point d’arrêt prévu.

Principe de stratégie

La stratégie définit d’abord les conditions pour juger de la tendance hebdomadaire:

isUptrend = close > close[1] 

isDowntrend = close < close[1]

Si le prix de clôture actuel est supérieur au prix de clôture de la veille, il est considéré comme une tendance à la hausse, et vice versa.

Ensuite, définissez le signal de trading intraday:

buyCondition = getPrevDayClose() > getPrevDayOpen() and getPrevDayOpen() > getPrevDayClose()[1] and isUptrend

Le prix de clôture de la journée précédente est supérieur au prix d’ouverture (le “ rayonnement solaire “), et le prix d’ouverture de la journée précédente est supérieur au prix de clôture de la journée précédente (le ” rayonnement de la faille “), et est dans une tendance haussière, ce qui satisfait aux conditions d’entrée à plusieurs têtes.

Après l’entrée en bourse, le stop loss est défini comme le prix de clôture de la journée précédente, moins 1,382 fois la longueur de la ligne réelle de la journée précédente:

stopLoss = getPrevDayClose() - 1.382 * (getPrevDayClose() - getPrevDayOpen()) 

Le point d’arrêt est le prix de clôture de la journée précédente plus deux fois la différence entre le point d’arrêt et le prix de clôture:

takeProfit = getPrevDayClose() + 2 * (getPrevDayClose() - stopLoss)

Pour ce faire, il est nécessaire de mettre en place un système de compensation des pertes.

Analyse des avantages

Cette stratégie présente les avantages suivants:

  1. Le trading basé sur les tendances évite les risques de dépréciation
  2. La combinaison des rayons solaires et des ouvertures permet d’éviter l’entrée prématurée de nombreux patients.
  3. Le placement des stop-loss est raisonnable et permet de maîtriser les pertes individuelles.
  4. Plus d’espace de stockage, plus de potentiel de profit

Analyse des risques

Cette stratégie comporte aussi des risques:

  1. Je ne sais pas où est le point de basculement, j’ai peut-être raté une chance de 100000000000000000000
  2. Le stop-loss est trop proche, il y a plus de chances d’être piégé
  3. La fréquence des transactions trop élevée sans tenir compte des coûts peut entraîner une baisse des bénéfices

Pour maîtriser ces risques, vous pouvez envisager d’ajouter les optimisations suivantes:

  1. La mise en place de trailers à proximité des points de rupture pour suivre la rupture
  2. Ajout d’un module de contrôle des coûts pour limiter la fréquence d’ouverture des magasins
  3. Augmenter le jugement sur le SUPPORT/RESISTANCE

Direction d’optimisation

La stratégie peut également être optimisée dans les directions suivantes:

  1. Les tendances sont évaluées en fonction de facteurs supplémentaires, tels que la direction de la moyenne mobile, les variations du volume de transactions, etc.
  2. Optimisation du signal d’entrée, avec plus de formes de ligne K
  3. Stop-loss suivi dynamiquement et ajusté automatiquement en fonction des fluctuations des prix
  4. Ajout d’un module de quantification pour contrôler la taille de la position
  5. Une combinaison de plusieurs périodes, utilisant un filtrage de tendance à un niveau plus élevé

Résumer

La stratégie est globalement pratique, l’idée centrale étant de faire ressortir les tendances tout en maîtrisant les risques. Elle peut être utilisée comme stratégie de base pour les transactions à courte portée sur une journée, mais peut également être optimisée de manière modulaire en fonction des différents marchés et variétés, permettant une diversification du portefeuille de transactions.

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

//@version=5
strategy("Trend Following Strategy with Stop Loss and Take Profit", overlay=true)

// Function to get previous day's close and open
getPrevDayClose() =>
    request.security(syminfo.tickerid, "D", close[1])

getPrevDayOpen() =>
    request.security(syminfo.tickerid, "D", open[1])

// Determine weekly trend
isUptrend = close > close[1]
isDowntrend = close < close[1]

// Determine daily conditions for buy
buyCondition = getPrevDayClose() > getPrevDayOpen() and getPrevDayOpen() > getPrevDayClose()[1] and isUptrend

// Calculate stop loss and take profit
stopLoss = getPrevDayClose() - 1.382 * (getPrevDayClose() - getPrevDayOpen())
takeProfit = getPrevDayClose() + 2 * (getPrevDayClose() - stopLoss)

// Strategy logic
if (isUptrend)
    strategy.entry("Buy", strategy.long, when = buyCondition)
    strategy.exit("Take Profit/Stop Loss", from_entry="Buy", loss=stopLoss, profit=takeProfit)
    
if (isDowntrend)
    strategy.entry("Sell", strategy.short)

// Plotting the trend on the chart
plotshape(series=isUptrend, title="Uptrend", color=color.green, style=shape.triangleup, location=location.abovebar)
plotshape(series=isDowntrend, title="Downtrend", color=color.red, style=shape.triangledown, location=location.belowbar)

// Plotting stop loss and take profit levels on the chart
plot(stopLoss, color=color.red, title="Stop Loss", linewidth=2, style=plot.style_cross)
plot(takeProfit, color=color.green, title="Take Profit", linewidth=2, style=plot.style_cross)