Les ressources ont été chargées... Je charge...

Stratégie de croisement à double moyenne mobile

Auteur:ChaoZhang est là., Date: 2024-05-17 15h48:04 Je vous en prie
Les étiquettes:Le taux d'intérêtSMA

img

Résumé

La stratégie de croisement de la moyenne mobile double est une stratégie de trading classique qui suit les tendances. Elle utilise deux moyennes mobiles: une moyenne mobile rapide et une moyenne mobile lente. Lorsque la moyenne mobile rapide dépasse la moyenne mobile lente, elle est appelée une croix dorée, indiquant une tendance haussière potentielle, et une position longue est ouverte. Lorsque la moyenne mobile rapide dépasse la moyenne mobile lente, elle est appelée une croix de mort, indiquant une tendance baissière potentielle, et une position courte est ouverte.

Principe de stratégie

Le noyau de cette stratégie est d'utiliser les caractéristiques de tendance des moyennes mobiles et des signaux de croisement pour déterminer la direction de la tendance et le moment de l'entrée.

  1. Lorsque la moyenne à mouvements rapides dépasse la moyenne à mouvements lents (croix de mort), ouvrez une position courte s'il n'y a pas de position actuelle et définissez le prix stop-loss.
  2. S'il existe une position longue, fermez la position lorsque se produit une croix de la mort.

Les avantages de la stratégie

  1. La logique est simple et claire, facile à comprendre et à mettre en œuvre, et constitue le fondement des stratégies de suivi des tendances.
  2. En utilisant le croisement de deux moyennes mobiles avec des périodes différentes, il peut mieux déterminer la formation et l'inversion des tendances.
  3. La mise en place d'un stop-loss contrôle le risque de perte dans une certaine mesure.

Risques stratégiques

  1. Une mauvaise sélection de paramètres (comme des périodes de moyenne mobile inappropriées) peut entraîner des signaux fréquents ou un jugement de tendance retardé.
  2. Lorsque la tendance s'inverse ou s'arrête, les retraits peuvent être plus importants.

Directions d'optimisation de la stratégie

  1. Confirmer la tendance avant d'ouvrir une position au lieu de l'ouvrir immédiatement au moment du croisement, ou ajouter d'autres indicateurs de confirmation de tendance pour faciliter le jugement et améliorer la précision de la capture de tendance.
  2. Peut être améliorée par des stratégies de gestion de fonds telles que l'ajout ou la réduction de positions.
  3. Considérez la combinaison avec d'autres signaux pour former une stratégie multifactorielle.

Résumé


/*backtest
start: 2023-05-11 00:00:00
end: 2024-05-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
//==============================================================================
// A baseline strategy with a well known concept, golden cross & death cross.
// Support for both Simple & Exponential moving averages.
// Support for long & short stop losses as a percentage.:well
//==============================================================================
strategy("Basic Moving Average Crosses", overlay=true)

//------------------------------------------------------------------------------
// configuration
//------------------------------------------------------------------------------
maQuickLength = input(50, title="Quick MA Length") 
maSlowLength  = input(200, title="Quick MA Length") 
useSma        = input(true, title="Use SMA? If false, EMA is used.")

maQuick = useSma ? ta.sma(close, maQuickLength) : ta.ema(close, maQuickLength)
maSlow  = useSma ? ta.sma(close, maSlowLength) : ta.ema(close, maSlowLength)

stop_loss_percentage = input(2.0, title="Stop Loss (%)")

var float longStopLevel = na
var float shortStopLevel = na

bool isGoldenCross = ta.crossover(maQuick, maSlow)
bool isDeathCross  = ta.crossunder(maQuick, maSlow)

//------------------------------------------------------------------------------
// position opening logic
//------------------------------------------------------------------------------

if(strategy.position_size == 0)
    // Golden cross, enter a long position
    if(isGoldenCross)
        strategy.entry("Buy", strategy.long)
        longStopLevel := close - close * stop_loss_percentage/100.0
        strategy.exit("StopLossLong", "Buy", stop=longStopLevel)
    // Death cross, enter short position
    else if(isDeathCross)
        strategy.entry("Sell", strategy.short)
        shortStopLevel := close + close * stop_loss_percentage/100.0
        strategy.exit("StopLossShort", "Sell", stop=shortStopLevel)

//------------------------------------------------------------------------------
// position closing logic
//------------------------------------------------------------------------------
else
    // Close long position on death cross
    if(strategy.position_size > 0 and isDeathCross)
        strategy.close("Buy")
    
    // Close short position on golden cross
    else if(strategy.position_size < 0 and isGoldenCross)
        strategy.close("Sell")

//------------------------------------------------------------------------------
// ploting
//------------------------------------------------------------------------------
plot(maQuick, color=color.yellow)
plot(maSlow, color=color.blue)

Relationnée

Plus de