Stratégie de croisement de moyenne mobile exponentielle et système d'optimisation du stop loss et du take profit

EMA SL TP CROSS
Date de création: 2024-11-27 16:15:25 Dernière modification: 2024-11-27 16:15:25
Copier: 1 Nombre de clics: 499
1
Suivre
1617
Abonnés

Stratégie de croisement de moyenne mobile exponentielle et système d’optimisation du stop loss et du take profit

Aperçu

La stratégie est un système de trading quantitatif basé sur le croisement des moyennes mobiles à 5 cycles et des moyennes mobiles à 15 cycles (EMA). La stratégie utilise le signal de croisement de la ligne de parité classique pour identifier les changements de tendance du marché et, combinée à un mécanisme de gestion des risques, pour contrôler le taux de profit et de perte de chaque transaction.

Principe de stratégie

Le cœur de la stratégie est de surveiller l’intersection entre les moyennes mobiles rapides (EMA de 5 cycles) et les moyennes mobiles lentes (EMA de 15 cycles). Lorsque l’EMA de 5 cycles monte et traverse l’EMA de 15 cycles, le système génère un signal de multiplication; lorsque l’EMA de 5 cycles descend et traverse l’EMA de 15 cycles, le système génère un signal de rupture. Pour chaque signal de transaction, le système définit automatiquement un point d’arrêt de 1,5% et un point d’arrêt de 3%, ce qui garantit un bon rapport de risque-rendement.

Avantages stratégiques

  1. Les mécanismes de génération de signaux sont objectifs et faciles à comprendre, indépendants des jugements subjectifs.
  2. L’utilisation d’une moyenne mobile indicielle réduit les effets des fausses percées
  3. Le système de stop loss et de stop loss à pourcentage fixe, pour faciliter la gestion des fonds
  4. Le rapport risque/rendement est de 1:2, conformément aux principes de la négociation professionnelle.
  5. La logique de la stratégie est simple, facile à mettre en œuvre et à maintenir.
  6. Peut s’appliquer à plusieurs marchés et périodes

Risque stratégique

  1. Les faux signaux peuvent être fréquents sur les marchés de gré à gré, augmentant les coûts de transaction.
  2. Les paramètres fixes de stop loss et de stop-loss peuvent ne pas être adaptés à tous les environnements de marché.
  3. Les EMA rapides sont plus sensibles aux variations de prix et peuvent conduire à une survente.
  4. Le contrôle des risques est insuffisamment souple sans tenir compte des fluctuations du marché
  5. Dans des cas extrêmes, le stop loss peut ne pas être exécuté à temps.

Orientation de l’optimisation de la stratégie

  1. Introduction d’un indicateur de volatilité dynamique pour ajuster le niveau de stop loss
  2. Augmentation des filtres de tendance et réduction des faux signaux de marché horizontal
  3. Adaptation des cycles EMA en fonction de la dynamique des différentes caractéristiques du marché
  4. Ajout d’un mécanisme de confirmation de transaction pour améliorer la fiabilité du signal
  5. Introduisez un filtre temporel pour éviter de négocier à des périodes défavorables
  6. L’augmentation du nombre de trailing stops et l’optimisation de la rentabilité du système de clôture

Résumer

Il s’agit d’une stratégie de trading quantifiée, structurée et logiquement claire. La stratégie est simple à utiliser, convient aux débutants et fournit une bonne base pour une optimisation ultérieure. Il est recommandé aux traders de faire un retour d’expérience adéquat avant de l’utiliser sur le terrain et d’optimiser les paramètres en fonction des caractéristiques spécifiques du marché.

Code source de la stratégie
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-26 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("5 EMA and 15 EMA Crossover with Stop Loss and Target", overlay=true)

// Define EMAs
ema5 = ta.ema(close, 5)
ema15 = ta.ema(close, 15)

// Plot EMAs on the chart
plot(ema5, title="5 EMA", color=color.blue)
plot(ema15, title="15 EMA", color=color.red)

// Crossover conditions
longCondition = ta.crossover(ema5, ema15)
shortCondition = ta.crossunder(ema5, ema15)

// Stop-loss and take-profit percentage
stopLossPercent = 1.5  // Stop-loss at 1.5%
takeProfitPercent = 3.0  // Take-profit at 3%

// Calculate stop-loss and take-profit levels for long and short positions
longStopLoss = strategy.position_avg_price * (1 - stopLossPercent / 100)
longTakeProfit = strategy.position_avg_price * (1 + takeProfitPercent / 100)

shortStopLoss = strategy.position_avg_price * (1 + stopLossPercent / 100)
shortTakeProfit = strategy.position_avg_price * (1 - takeProfitPercent / 100)

// Enter long position with stop-loss and take-profit
if (longCondition)
    strategy.entry("Long", strategy.long)
    strategy.exit("Take Profit/Stop Loss", "Long", stop=longStopLoss, limit=longTakeProfit)

// Enter short position with stop-loss and take-profit
if (shortCondition)
    strategy.entry("Short", strategy.short)
    strategy.exit("Take Profit/Stop Loss", "Short", stop=shortStopLoss, limit=shortTakeProfit)

// Plot stop-loss and take-profit levels
plot(longStopLoss, title="Long Stop Loss", color=color.red, linewidth=1, style=plot.style_linebr)
plot(longTakeProfit, title="Long Take Profit", color=color.green, linewidth=1, style=plot.style_linebr)
plot(shortStopLoss, title="Short Stop Loss", color=color.red, linewidth=1, style=plot.style_linebr)
plot(shortTakeProfit, title="Short Take Profit", color=color.green, linewidth=1, style=plot.style_linebr)