Stratégie de suivi de tendance avec stop loss


Date de création: 2023-10-30 15:21:54 Dernière modification: 2023-10-30 15:21:54
Copier: 0 Nombre de clics: 699
1
Suivre
1617
Abonnés

Stratégie de suivi de tendance avec stop loss

Aperçu

La stratégie utilise la ligne de parité pour déterminer la direction de la tendance et génère un signal de transaction lorsque le prix franchit la ligne de parité. Après avoir entré dans une position à plusieurs têtes, la stratégie définit la distance de blocage en fonction de la valeur ATR, tout en utilisant la logique de suivi de la tendance pour ajuster la distance de blocage, tout en protégeant les bénéfices.

Principe de stratégie

  1. Définissez le temps de début et de fin de la réplique en fonction de la plage de temps de réplique fournie par l’utilisateur.

  2. Le prix d’arrêt pour les positions longues et courtes et le pourcentage de suivi des pertes.

  3. Lorsque le prix dépasse la moyenne, un signal de plus est donné.

  4. Calculez la distance de stop loss en fonction de la valeur ATR et définissez le prix de stop loss.

  5. Lorsque les prix continuent d’augmenter, suivez et ajustez la distance de stop-loss pour qu’elle monte progressivement et pour que vous puissiez en tirer plus de profit.

  6. Une partie de l’offre est bloquée lorsque le prix atteint le seuil d’arrêt.

  7. Si la ligne moyenne est dépassée, un signal de couverture est donné.

  8. Calculez la distance de stop loss en fonction de la valeur ATR et définissez le prix de stop loss.

  9. Lorsque le prix continue à baisser, suivez et ajustez la distance de stop-loss pour la faire descendre progressivement et verrouiller plus de profits.

  10. Une partie du plafond est bloquée lorsque le prix est descendu jusqu’à la valeur de la marge d’arrêt.

Avantages stratégiques

  • L’utilisation d’un mécanisme de stop-loss de suivi de tendance permet de profiter de la tendance tout en protégeant les bénéfices, ce qui est plus avantageux que la distance de stop-loss fixe traditionnelle.

  • Le calcul de la distance d’arrêt dynamique, combiné à l’indicateur ATR, permet de répondre efficacement aux fluctuations du marché et de réduire la probabilité que le stop loss soit déclenché.

  • La logique de blocage partiel permet de bloquer une partie des bénéfices et de réduire le risque de retrait.

  • La logique de la stratégie est simple et claire, facile à comprendre et à mettre en œuvre, adaptée aux traders.

Risque stratégique

  • Si la tendance est soudainement inversée, le stop loss peut être trop éloigné pour être arrêté à temps, ce qui peut entraîner des pertes plus importantes.

  • La distance d’arrêt calculée par l’indicateur ATR peut être trop flexible et peut être déclenchée par le bruit du marché.

  • Certains stop ratios sont mal réglés, ce qui peut entraîner une perte d’opportunité de tendance ou une augmentation des pertes.

  • Il est plus difficile d’optimiser les paramètres qui nécessitent une optimisation, tels que le cycle ATR, le taux de suivi des pertes et le taux d’arrêt partiel.

  • La stratégie est basée uniquement sur la moyenne et l’indicateur ATR, qui génèrent des erreurs de trading lorsque ces indicateurs émettent des signaux erronés.

Orientation de l’optimisation de la stratégie

  • Il est possible de filtrer les signaux de transaction avec d’autres indicateurs afin d’éviter que la ligne uniforme ne génère de faux signaux. Par exemple, MACD, KD, etc.

  • On peut envisager d’utiliser un freinage partiel fixe pour un freinage proportionnel dynamique, adapté à la force de la tendance.

  • Il est possible de tester différents paramètres de cycle ATR, en utilisant le paramètre le plus stable. Il peut également être combiné avec d’autres indicateurs pour déterminer la distance de rupture.

  • Il est possible d’introduire des algorithmes d’apprentissage automatique qui optimisent automatiquement les paramètres et les ajustent en temps réel en fonction du marché.

  • Il peut être combiné avec des algorithmes avancés tels que l’apprentissage en profondeur pour reconnaître automatiquement les tendances et générer des signaux de transaction via la formation de modèles.

Résumer

Cette stratégie intègre des stops de suivi de tendance, des stops ATR dynamiques et une logique de stop-loss partielle. Elle permet de suivre la tendance en permanence pour effectuer des stops et a un certain avantage en matière de contrôle des retraits. Cependant, la stratégie présente également certaines limitations, telles que la simplicité de la tendance, la difficulté d’optimiser les paramètres.

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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © felipefs

//@version=4
strategy("Meu Script", overlay=true)
plot(ohlc4)

//Funçao de Datas
testStartYear = input(2018, "Backtest Start Year")
testStartMonth = input(6, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testStopYear = input(2019, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(30, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)

testPeriod() => time >= testPeriodStart and time <= testPeriodStop ? true : false

//Funções de Trailing Stop
long_stop_price = 0.0
short_stop_price = 0.0
long_trail_perc = 0
short_trail_perc = 0

long_stop_price := if (strategy.position_size > 0)
    stopValue = close * (1 - long_trail_perc)
    max(stopValue, long_stop_price[1])
else
    0

short_stop_price := if (strategy.position_size < 0)
    stopValue = close * (1 + short_trail_perc)
    min(stopValue, short_stop_price[1])
else
    999999

//Função de Debug
debug(value) =>
    x = bar_index
    y = close
    label.new(x, y, tostring(value))
    
//Take Profit
profit = close * (1 + 0.12)
strategy.entry("Long", true)
strategy.exit("Take Profit 1 Long", from_entry="Long", limit=profit, qty_percent=50.0)
 
//ATR Stop
 
// xATRTrailingStopLong = 0.0
// xATR = atr(nATRPeriod)
// nLossLong = nATRMultipLong * xATR

// if (strategy.position_size > 0)
//     xATRTrailingStopLong := max(nz(xATRTrailingStopLong[1]), close - nLossLong)