Stratégie de suivi du repli de la moyenne mobile


Date de création: 2024-03-28 18:00:05 Dernière modification: 2024-03-28 18:00:05
Copier: 0 Nombre de clics: 603
1
Suivre
1617
Abonnés

Stratégie de suivi du repli de la moyenne mobile

Aperçu

L’idée principale de cette stratégie est d’utiliser des moyennes mobiles de deux périodes différentes pour capturer les opportunités de rebond après une reprise du marché. La stratégie prend des positions plus élevées lorsque les prix sont au-dessus de la moyenne à long terme et se retournent vers la moyenne à court terme, et plafonne les positions lorsque les prix se redressent à la moyenne à court terme ou touchent le prix d’arrêt. La stratégie cherche à tirer profit de la tendance en recherchant des opportunités de reprise.

Principe de stratégie

  1. Calculer les moyennes mobiles de deux périodes différentes (MA1 et MA2), MA1 étant la moyenne à long terme et MA2 la moyenne à court terme.
  2. Lorsque le cours de clôture est au-dessus de MA1 et au-dessous de MA2 et que vous n’avez pas de position en cours et que vous êtes dans la fourchette de temps de négociation, la stratégie consiste à ouvrir une position.
  3. Enregistrez le prix d’ouverture de la position BuyPrice et calculez le prix d’arrêt StopPrice (i_stopPercent pourcentage de baisse du prix d’ouverture de la position)
  4. La stratégie de plafonnement est utilisée lorsque le prix de clôture est de nouveau au niveau de la MA2 et que i_lowerClose est faux, ou lorsque le prix de clôture est inférieur au stopPrice.
  5. Si i_lowerClose est vraie, la position est clôturée lorsque le cours de clôture est supérieur à MA2 et que le cours de clôture de la ligne K précédente est inférieur à MA2.

Avantages stratégiques

  1. Suivi des tendances: déterminer la tendance générale actuelle en déterminant la relation entre la position des prix et la moyenne à long terme, et rechercher des opportunités d’entrée dans la tendance.
  2. Réglage des achats: recherche d’opportunités d’achat de retournement des prix à la moyenne à court terme dans une tendance à la hausse, ce qui augmente le coefficient de rentabilité des points d’achat.
  3. La protection contre les pertes: la mise en place d’un prix stop-loss, qui est automatiquement nettoyé lorsque la fluctuation inverse des prix atteint une certaine amplitude, afin de contrôler efficacement le risque de baisse.
  4. Paramètres flexibles: l’utilisateur peut définir de manière flexible, selon ses préférences, le cycle de la moyenne, le pourcentage de stop-loss, le fait que le prix de clôture de la ligne K précédente soit inférieur à la moyenne à court terme, etc.

Risque stratégique

  1. Optimisation des paramètres: les différents paramètres ont une grande influence sur la performance de la stratégie, et il est nécessaire d’optimiser et de retester les paramètres dans différents environnements de marché pour trouver la meilleure combinaison de paramètres.
  2. Marchés en choc: dans les marchés en choc, les prix fluctuent fréquemment entre les moyennes à long terme, ce qui peut entraîner des stratégies de plafonnement fréquentes et des pertes de coûts de transaction plus importantes.
  3. Retour de tendance: lorsque la tendance du marché se retourne, la stratégie peut subir des pertes continues. Il est alors nécessaire de juger le retournement de tendance en combinaison avec d’autres indicateurs ou signaux et d’ajuster la stratégie en temps opportun.
  4. Événements de cigogne noire: événements majeurs et imprévisibles survenant sur le marché peuvent entraîner des fluctuations de prix extrêmes, entraînant des pertes importantes pour la stratégie de stop loss.

Orientation de l’optimisation de la stratégie

  1. Détermination de la tendance: introduire plus d’indicateurs de jugement de la tendance, tels que l’ADX, avant l’ouverture de la position, pour confirmer la force et la direction de la tendance actuelle et améliorer l’exactitude du signal d’ouverture de la position.
  2. Stop-loss dynamique: Ajuster le stop-loss dynamiquement en fonction de la volatilité des prix, des indicateurs tels que l’ATR, afin d’assouplir le stop-loss lorsque les prix sont plus fluctuants et de resserrer le stop-loss lorsque les prix sont moins fluctuants.
  3. Gestion des positions: en fonction de la force de la tendance du marché, de la volatilité des prix, etc., ajustez dynamiquement la taille des positions à chaque fois que vous ouvrez une position, augmentez la position lorsque la tendance est forte et la volatilité moyenne, réduisez la position lorsque la tendance est faible ou la volatilité est trop élevée.
  4. La couverture multi-points: envisagez de surveiller simultanément les signaux des deux côtés de la couverture multi-points et de couvrir les positions sur différents marchés ou cycles pour réduire le risque global de la stratégie.

Résumer

La stratégie de suivi des retournements des moyennes mobiles utilise la relation de position relative de deux moyennes périodiques différentes pour capturer les occasions multiples de retournement des prix dans une tendance à la hausse. Elle s’applique aux marchés tendanciels et permet d’obtenir des gains stables dans des conditions de tendance en définissant les paramètres et les arrêts appropriés.

Code source de la stratégie
/*backtest
start: 2023-03-22 00:00:00
end: 2024-03-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © contapessoal_ivan
// @version=5
strategy("Pullback Strategy", 
     overlay=true, 
     initial_capital=1000,
     default_qty_type=strategy.percent_of_equity, 
     default_qty_value=100, // 100% of balance invested on each trade
     commission_type=strategy.commission.cash_per_contract, 
     commission_value=0.005) // Interactive Brokers rate

// Get user input
i_ma1           = input.int(title="MA 1 Length", defval=200, step=10, group="Strategy Parameters", tooltip="Long-term MA")
i_ma2           = input.int(title="MA 2 Length", defval=10, step=10, group="Strategy Parameters", tooltip="Short-term MA")
i_stopPercent   = input.float(title="Stop Loss Percent", defval=0.10, step=0.1, group="Strategy Parameters", tooltip="Failsafe Stop Loss Percent Decline")
i_lowerClose    = input.bool(title="Exit On Lower Close", defval=false, group="Strategy Parameters", tooltip="Wait for a lower-close before exiting above MA2")
i_startTime     = input(title="Start Filter", defval=timestamp("26 Jan 2023 00:00 +0000"), group="Time Filter", tooltip="Start date & time to begin searching for setups")
i_endTime       = input(title="End Filter", defval=timestamp("26 Mar 2024 23:59 +0000"), group="Time Filter", tooltip="End date & time to stop searching for setups")

// Get indicator values
ma1 = ta.sma(close, i_ma1)
ma2 = ta.sma(close, i_ma2)

// Check filter(s)
f_dateFilter = true

// Check buy/sell conditions
var float buyPrice = 0
buyCondition    = close > ma1 and close < ma2 and strategy.position_size == 0 and f_dateFilter
sellCondition   = close > ma2 and strategy.position_size > 0 and (not i_lowerClose or close < low[1])
stopDistance    = strategy.position_size > 0 ? ((buyPrice - close) / close) : na
stopPrice       = strategy.position_size > 0 ? buyPrice - (buyPrice * i_stopPercent) : na
stopCondition   = strategy.position_size > 0 and stopDistance > i_stopPercent

// Enter positions
if buyCondition
    strategy.entry(id="Long", direction=strategy.long)

if buyCondition[1]
    buyPrice := open

// Exit positions
if sellCondition or stopCondition
    strategy.close(id="Long", comment="Exit" + (stopCondition ? "SL=true" : ""))
    buyPrice := na

// Draw pretty colors
plot(buyPrice, color=color.lime, style=plot.style_linebr)
plot(stopPrice, color=color.red, style=plot.style_linebr, offset=-1)
plot(ma1, color=color.blue)
plot(ma2, color=color.orange)