Stratégie de croisement de moyennes mobiles doubles avec stop-profit et stop-loss

EMA MACD KDJ ADX
Date de création: 2024-06-03 11:02:26 Dernière modification: 2024-06-03 11:02:26
Copier: 0 Nombre de clics: 626
1
Suivre
1617
Abonnés

Stratégie de croisement de moyennes mobiles doubles avec stop-profit et stop-loss

Aperçu

La stratégie utilise le croisement de deux moyennes mobiles indicielles de différentes périodes (EMA) comme signal de négociation, tout en définissant des arrêts et des pertes à points fixes. Lorsque l’EMA à court terme passe de bas en haut à travers l’EMA à long terme, la position est ouverte et vide; lorsque l’EMA à court terme passe de haut en bas à travers l’EMA à long terme, la position est vide.

Principe de stratégie

  1. Calculer deux EMA de différentes périodes, en prenant par défaut 5 et 200 cycles.
  2. Quand l’EMA à 5 cycles traverse l’EMA à 200 cycles de bas en haut, un signal de plus est produit; quand l’EMA à 5 cycles traverse l’EMA à 200 cycles de haut en bas, un signal de moins est produit.
  3. Après avoir ouvert la position, définissez le nombre de points d’arrêt par défaut (50 par défaut) et le nombre de points d’arrêt par défaut (200 par défaut).
  4. Lorsque le prix atteint le point d’arrêt ou de perte, ou lorsque la position atteint 200 cycles de négociation, la position est levée.
  5. Le nombre de points de stop-loss peut être ajusté en fonction de la quantité de transactions sur le graphique.

Avantages stratégiques

  1. Simple et compréhensible: la logique de la stratégie est claire, facile à comprendre et à mettre en œuvre.
  2. Suivi des tendances: les caractéristiques de l’EMA permettent de mieux saisir les tendances du marché.
  3. Contrôle des risques: définir un nombre fixe de points de stop-loss pour contrôler efficacement le risque d’une seule transaction.
  4. Flexibilité: le nombre de points de stop-loss peut être ajusté en fonction de la volatilité du marché et des préférences de risque personnelles.

Risque stratégique

  1. Faux signaux: les croisements EMA peuvent générer de faux signaux, entraînant des transactions fréquentes et des pertes de fonds.
  2. Délai de tendance: L’EMA est un indicateur de retard qui peut être donné après la formation d’une tendance et manquer la meilleure opportunité d’entrée.
  3. Marché de liquidation: dans les marchés de liquidation, les croisements fréquents d’EMA peuvent entraîner une série de transactions à perte.
  4. Stop-loss à points fixes: le stop-loss à points fixes peut ne pas s’adapter aux fluctuations du taux de volatilité du marché, ce qui entraîne une mauvaise configuration de la position de stop-loss.

Orientation de l’optimisation de la stratégie

  1. L’introduction de plus d’indicateurs: en combinaison avec d’autres indicateurs techniques tels que le MACD, le RSI, etc., améliore la fiabilité du signal.
  2. Paramètres d’optimisation: optimisation des paramètres tels que le cycle EMA, le nombre de points de stop-loss, etc. pour améliorer la performance de la stratégie.
  3. Stop loss dynamique: le nombre de points de stop loss est ajusté en fonction de la volatilité du marché pour mieux s’adapter aux changements du marché.
  4. Gestion des positions: introduire des règles de gestion des positions, telles que des ajustements de position basés sur le risque, pour améliorer les rendements après ajustement du risque.
  5. Filtre: ajouter des conditions de filtrage du signal de transaction, telles que le volume de transaction, la forme des prix, etc., pour améliorer la qualité du signal.

Résumer

La stratégie de stop loss est une stratégie de trading simple et facile à utiliser, qui génère un signal de transaction par croisement d’EMA, tout en réglant un nombre fixe de points de stop loss pour contrôler le risque. L’avantage de cette stratégie réside dans sa logique claire, sa facilité d’exécution et sa capacité à mieux capturer les tendances du marché.

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("EMA5 Cross EAM200 && SL/TP 50 and 200 Point Target", overlay=true)

// Define input parameters for EMA lengths
ema_5 = input.int(5, title="Fast EMA Length")
ema_200 = input.int(200, title="Slow EMA Length")

// Define input parameters for stop loss and profit target in points
stopLossPoints = input.float(50, title="Stop Loss (Points)")
profitTargetPoints = input.float(200, title="Profit Target (Points)")

// Calculate EMAs
price = close
emafast = ta.ema(price, ema_5)
emaslow = ta.ema(price, ema_200)

// Plot EMAs on chart
plot(emafast, title="5-period EMA", color=color.black)
plot(emaslow, title="200-period EMA", color=color.blue)

// Extra lines if needed
ema_13 = input.int(13, title="13 EMA")
ema_13_line = ta.ema(price, ema_13)
plot(ema_13_line, title="13-period EMA", color=color.rgb(156, 39, 176, 90))

ema_20 = input.int(20, title="20 EMA")
ema_20_line = ta.ema(price, ema_20)
plot(ema_20_line, title="20-period EMA", color=color.red)


// Define entry conditions
longCondition = ta.crossover(emafast, emaslow)
shortCondition = ta.crossunder(emafast, emaslow)

// Counter to keep track of the number of bars since the entry
var int barCount = na

// Reset counter and enter long trade
if (longCondition)
    strategy.entry("Long", strategy.long, comment="Long")
    barCount := 0

// Reset counter and enter short trade
if (shortCondition)
    strategy.entry("Short", strategy.short, comment="Short")
    barCount := 0

// Increment counter if in trade
if (strategy.opentrades > 0)
    barCount += 1

// Calculate entry price
entryPrice = strategy.position_avg_price

// Exit long trade if stop loss, profit target hit, or 200 points have been reached
if (strategy.position_size > 0)
    strategy.exit("Take Profit/Stop Loss", "Long", stop=entryPrice - stopLossPoints, limit=entryPrice + profitTargetPoints)

// Exit short trade if stop loss, profit target hit, or 200 points have been reached
if (strategy.position_size < 0)
    strategy.exit("Take Profit/Stop Loss", "Short", stop=entryPrice + stopLossPoints, limit=entryPrice - profitTargetPoints)