Moyenne mobile, moyenne mobile simple, pente de la moyenne mobile, stop suiveur, rentrée

MA SMA MA
Date de création: 2024-06-07 16:41:53 Dernière modification: 2024-06-07 16:41:53
Copier: 0 Nombre de clics: 891
1
Suivre
1617
Abonnés

Moyenne mobile, moyenne mobile simple, pente de la moyenne mobile, stop suiveur, rentrée

Aperçu

La stratégie prend ses décisions de négociation en fonction de la pente de la moyenne mobile (MA) et de la position relative du prix par rapport à la MA. La stratégie achète lorsque la pente de la MA est supérieure à la valeur de la pente minimale et que le prix est supérieur à la MA.

Principe de stratégie

  1. Calculer la moyenne mobile simple (SMA) d’une période donnée comme principal indicateur de tendance.
  2. Calculer la courbe de la SMA sur une période de fenêtre donnée pour déterminer la force de la tendance actuelle.
  3. Lorsque la courbe SMA est supérieure à la marge de la courbe minimale et que le prix est supérieur à la courbe SMA, considérez que le marché est en tendance haussière et achetez-le.
  4. Une fois en place, la stratégie utilise un mécanisme de suivi des pertes pour ajuster dynamiquement le prix de la perte en fonction du prix actuel et du pourcentage indiqué.
  5. Si le prix atteint le seuil d’arrêt de suivi, la stratégie de liquidation et de marquage de l’arrêt se produit.
  6. Une fois que le stop loss a eu lieu, la stratégie est réactivée si le prix revient à un certain pourcentage en dessous de la SMA.
  7. Si le prix est inférieur à la SMA, la stratégie consiste à faire un placement direct.

Analyse des avantages

  1. Suivi des tendances: la tendance est jugée par la pente du SMA et la position relative du prix par rapport au SMA, ce qui aide la stratégie à tirer profit d’une tendance à la hausse.
  2. Stop-loss dynamique: la mise en place d’un mécanisme de suivi des stop-loss permettant de mieux protéger les profits et limiter les pertes en ajustant les positions de stop-loss en fonction de la dynamique des variations de prix.
  3. Reprise de la position: après l’apparition d’un stop loss, la stratégie se réinvente lorsque le prix recule à un pourcentage spécifique en dessous de la SMA afin de saisir les opportunités de rebond potentielles.
  4. Flexibilité des paramètres: la stratégie fournit plusieurs paramètres ajustables, tels que la période SMA, le seuil de la plus petite inclinaison, le pourcentage de stop loss suivi, etc., qui peuvent être optimisés en fonction des différentes conditions du marché.

Analyse des risques

  1. Sensitivité des paramètres: la performance d’une stratégie peut être sensible aux paramètres, et une mauvaise sélection de paramètres peut entraîner une mauvaise performance de la stratégie.
  2. Identification des tendances: la stratégie repose principalement sur l’inclinaison du SMA et sur la position relative du prix par rapport au SMA pour juger des tendances, ce qui peut entraîner des signaux erronés dans certaines conditions de marché.
  3. Fréquence d’arrêt: les mécanismes de suivi des arrêts peuvent entraîner des arrêts fréquents, en particulier dans des situations de forte volatilité du marché, affectant ainsi la performance globale de la stratégie.
  4. Risque de reprise: le mécanisme de reprise peut, dans certains cas, entraîner une baisse supplémentaire de la stratégie après la reprise, ce qui augmente les pertes.

Direction d’optimisation

  1. Reconnaissance des tendances: la précision de la détection des tendances peut être améliorée en combinaison avec d’autres indicateurs techniques ou des modèles de comportement des prix pour juger des tendances.
  2. Optimisation des arrêts de perte: d’autres méthodes de perte peuvent être explorées, telles que les arrêts basés sur la volatilité ou les positions de support / résistance, afin de mieux s’adapter aux différentes conditions du marché.
  3. Conditions de réentrée: il est possible d’optimiser les conditions de réentrée en tenant compte de facteurs tels que l’ampleur et la durée du retrait des prix, afin de filtrer certains signaux de réentrée défavorables.
  4. Gestion des positions: introduction d’un mécanisme de gestion des positions qui permet d’ajuster la taille des positions pour chaque transaction en fonction de la volatilité du marché ou d’autres indicateurs de risque afin de contrôler l’exposition globale au risque.

Résumer

La stratégie juge les tendances par la pente des moyennes mobiles et la position relative des prix par rapport aux moyennes mobiles, et gère les transactions avec un mécanisme de suivi des arrêts et des réentrées conditionnelles. L’avantage de la stratégie réside dans la capacité de suivre les tendances, la protection des arrêts et la réentrée dynamique. Cependant, la stratégie présente également des problèmes potentiels tels que la sensibilité aux paramètres, l’erreur d’identification des tendances, la fréquence des arrêts et le risque de réentrée.

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

//@version=5
strategy("MA Incline Strategy with Trailing Stop-Loss and Conditional Re-Entry", overlay=true, calc_on_every_tick=true)

// Input parameters
windowSize = input.int(10, title="Window Size")
maLength = input.int(150, title="Moving Average Length")
minSlope = input.float(0.001, title="Minimum Slope")
trailingStopPercentage = input.float(2.8, title="Trailing Stop Percentage (%)") / 100
reEntryPercentage = input.float(4.2, title="Re-Entry Percentage Above MA (%)") / 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

// Variables to track stop loss and re-entry condition
var bool stopLossOccurred = false
var float trailStopPrice = na
// Buy condition
buyCondition = isAboveMinSlope and isAboveMa and ((not stopLossOccurred) or (stopLossOccurred and low < ma * (1 + reEntryPercentage)))

// Execute strategy
if (buyCondition and strategy.opentrades == 0)
    if (stopLossOccurred and close < ma * (1 + reEntryPercentage))
        strategy.entry("Long", strategy.long)
        stopLossOccurred := false
    else if (not stopLossOccurred)
        strategy.entry("Long", strategy.long)

// Trailing stop-loss
if (strategy.opentrades == 1)
    // Calculate the trailing stop price
    trailStopPrice := close * (1 - trailingStopPercentage)
    // Use the built-in strategy.exit function with the trailing stop
    strategy.exit("Trail Stop", "Long", stop=close * (1 - trailingStopPercentage))

// Exit condition
sellCondition = ta.crossunder(close, ma)
if (sellCondition and strategy.opentrades == 1)
    strategy.close("Long")

// Check if stop loss occurred
if (strategy.closedtrades > 0)
    lastExitPrice = strategy.closedtrades.exit_price(strategy.closedtrades - 1)
    if (not na(trailStopPrice) and lastExitPrice <= trailStopPrice)
        stopLossOccurred := true

// Reset stop loss flag if the price crosses below the MA
if (ta.crossunder(close, ma))
    stopLossOccurred := false