
Aperçu
La stratégie est basée sur la courbe de la moyenne mobile simple (SMA) pour identifier les tendances à la hausse et pour ouvrir des positions supplémentaires lorsque certaines conditions sont remplies. De plus, un mécanisme de suivi des pertes optionnel est introduit pour protéger les bénéfices en ajustant dynamiquement le prix de l’arrêt. En outre, la stratégie définit les conditions de réentrée après l’arrêt pour empêcher la reconstruction des positions lorsque le prix est trop élevé.
Principe de stratégie
- Calculer le SMA d’une période donnée et déterminer si sa pente est supérieure à la marge de pente minimale pour une fenêtre donnée afin de déterminer la tendance à la hausse.
- La stratégie consiste à ouvrir une position lorsque la courbe SMA est positive et que le prix actuel est supérieur à la SMA.
- Si le tracking stop est activé, le tracking stop est calculé sur la base du prix du marché actuel et du pourcentage de tracking stop indiqué. Le tracking stop est constamment ajusté en fonction de la hausse des prix, protégeant ainsi les bénéfices.
- Lorsque le prix dépasse la SMA ou déclenche un stop tracking, la stratégie de placement est activée.
- Après avoir déclenché un arrêt de perte, la stratégie ne sera pas réinitialisée si le prix est supérieur au pourcentage spécifié par rapport à la SMA, afin d’éviter d’acheter lorsque le prix est trop élevé.
Avantages stratégiques
- Suivi des tendances: déterminez les tendances à la hausse à l’aide de l’inclinaison SMA et saisissez efficacement les opportunités de tendance.
- Gestion des risques: la fonctionnalité de suivi et d’arrêt des pertes en option protège dynamiquement les bénéfices et limite les pertes potentielles.
- Discipliner la réentrée: les conditions de réentrée après le blocage empêchent l’achat lorsque le prix est trop élevé et assurent la discipline des transactions.
- Flexibilité des paramètres: offre plusieurs paramètres réglables, tels que la longueur SMA, l’inclinaison minimale, le pourcentage de stop loss suivi, etc., qui peuvent être ajustés en fonction des différents marchés et styles de négociation.
Risque stratégique
- Sensitivité des paramètres: les performances de la stratégie sont sensibles à la sélection des paramètres, et une mauvaise configuration des paramètres peut entraîner des résultats sous-optimisés.
- Marché en turbulence: dans des conditions de marché en turbulence, des transactions fréquentes peuvent entraîner des coûts de transaction élevés et des pertes potentielles.
- Événements inattendus: les événements inattendus et les fluctuations inhabituelles du marché peuvent entraîner l’échec de la stratégie ou des pertes inattendues.
Orientation de l’optimisation de la stratégie
- Optimisation des paramètres dynamiques: introduction d’un mécanisme d’adaptation qui permet d’ajuster la longueur de l’SMA, la plus petite inclinaison, etc., en fonction de la dynamique des conditions du marché, afin de s’adapter à différents environnements de marché.
- Renforcement du contrôle des risques: en combinaison avec d’autres techniques de gestion des risques, telles que l’ajustement de position basé sur la volatilité, l’arrêt dynamique des pertes, etc., pour contrôler davantage l’ouverture des risques.
- Le trading bidirectionnel multi-zones: une stratégie d’expansion pour soutenir le trading aérien, qui peut également être rentable dans une tendance baissière.
- Confirmation de plusieurs périodes: la combinaison de signaux de plusieurs périodes permet d’améliorer la fiabilité et la stabilité des jugements de tendances.
Résumer
La stratégie utilise des mécanismes tels que le suivi de la tendance SMA, le suivi des arrêts de perte et la réentrée disciplinaire pour contrôler les risques tout en capturant les tendances à la hausse. Les méthodes telles que l’optimisation des paramètres, l’amélioration de la gestion des risques, la prise en charge des transactions bilatérales et la confirmation de plusieurs périodes peuvent améliorer encore l’adaptabilité et la robustesse de la stratégie.
Code source de la stratégie
/*backtest
start: 2023-05-28 00:00:00
end: 2024-06-02 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("MA Incline Strategy with Optional Trailing Stop-Loss", overlay=true, calc_on_every_tick=true)
// Input parameters
windowSize = input.int(20, title="Window Size")
maLength = input.int(150, title="Moving Average Length")
minSlope = input.float(0.1, title="Minimum Slope")
useTrailingStop = input.bool(true, title="Use Trailing Stop-Loss")
trailingStopPercentage = input.float(2.8, title="Trailing Stop Percentage (%)") / 100
// Calculate the moving average
ma = ta.sma(close, maLength)
// Calculate the slope of the moving average over the window size
previousMa = ta.sma(close[windowSize], maLength)
slopeMa = (ma - previousMa) / windowSize
// Check conditions
isAboveMinSlope = slopeMa > minSlope
isAboveMa = close > ma
// Buy condition
buyCondition = isAboveMinSlope and isAboveMa
// Execute strategy
if (buyCondition and strategy.opentrades == 0)
strategy.entry("Long", strategy.long)
// Trailing stop-loss (optional)
if (strategy.opentrades == 1 and useTrailingStop and isAboveMa)
// Calculate the trailing stop price
trailPrice = close * (1 - trailingStopPercentage)
// Use the built-in strategy.exit function with the trailing stop
strategy.exit("Trail Stop", "Long", stop=trailPrice)
// Exit condition
sellCondition = ta.crossover(ma, close)
if (sellCondition and strategy.opentrades == 1)
strategy.close("Long")