Stratégie de suivi de tendance croisée de moyenne mobile


Date de création: 2024-02-05 14:12:27 Dernière modification: 2024-02-05 14:12:27
Copier: 1 Nombre de clics: 543
1
Suivre
1617
Abonnés

Stratégie de suivi de tendance croisée de moyenne mobile

Aperçu

La stratégie de suivi de tendance croisée des moyennes mobiles est une stratégie de négociation quantitative qui suit les tendances du marché. La stratégie consiste à calculer des moyennes mobiles rapides et des moyennes mobiles lentes et à générer des signaux de négociation lorsqu’elles se croisent afin de capturer les points de basculement des tendances du marché.

Principe de stratégie

Le principe central de cette stratégie est d’utiliser différents paramètres de l’EMA pour déterminer la tendance du marché. La stratégie définit une EMA rapide et une EMA lente.

Lorsqu’elle est en hausse, la stratégie ouvre une position plus élevée et lorsqu’elle est en baisse, elle ouvre une position vide. La stratégie maintient la position jusqu’à ce que le stop loss soit déclenché ou qu’un autre signal de revers croisé se produise.

Analyse des avantages

Cette stratégie présente les avantages suivants:

  1. La logique de la stratégie est simple, claire, facile à comprendre et adaptée aux débutants.
  2. L’utilisation d’EMA pour lisser les prix permet de filtrer efficacement le bruit du marché et d’identifier les tendances;
  3. La flexibilité des paramètres pour s’adapter à des marchés à différentes périodes;
  4. Les stratégies peuvent être étendues à des versions multi-périodes pour une plus grande stabilité.

Analyse des risques

Cette stratégie comporte aussi des risques:

  1. Dans une situation de choc, il peut y avoir plusieurs arrêts de perte, ce qui affecte les bénéfices.
  2. L’incapacité d’identifier efficacement les types de tendances (bulls et bears) qui peuvent entraîner de lourdes pertes;
  3. Les paramètres EMA mal configurés peuvent entraîner une fréquence de négociation excessive ou un retard dans la reconnaissance.

Pour réduire le risque, vous pouvez envisager de déterminer le type de tendance en le combinant avec d’autres indicateurs, ou de définir un stop-loss plus souple.

Direction d’optimisation

La stratégie peut également être optimisée dans les domaines suivants:

  1. L’augmentation du jugement sur le type de tendance et l’évitement des positions inversées;
  2. L’augmentation de la qualité du signal grâce à une meilleure compréhension des cycles de temps;
  3. Modifier dynamiquement le ratio de stop loss et d’arrêt pour optimiser le point de sortie;
  4. Il permet de filtrer les signaux en combinaison avec d’autres indicateurs et de réduire les erreurs de trading.

Résumer

La stratégie de suivi de tendance croisée mobile est une stratégie de trading de tendance simple et pratique. L’idée centrale de la stratégie est claire et facile à mettre en pratique, mais il existe également une certaine marge d’optimisation. La stabilité et la rentabilité de la stratégie peuvent être continuellement améliorées par l’ajustement des paramètres, le jugement à plusieurs cycles et le stop loss dynamique.

Code source de la stratégie
/*backtest
start: 2024-01-28 00:00:00
end: 2024-02-04 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy('Zhukov trade', overlay=true, calc_on_every_tick=true, currency=currency.USD)

// INPUT:

// Options to enter fast and slow Exponential Moving Average (EMA) values
emaFast = input.int(title='Fast EMA', defval=10, minval=1, maxval=9999)
emaSlow = input.int(title='Slow EMA', defval=20, minval=1, maxval=9999)

// Option to select trade directions
tradeDirection = input.string(title='Trade Direction', options=['Long', 'Short', 'Both'], defval='Both')

// Options that configure the backtest date range
startDate = input(title='Start Date', defval=timestamp('01 Jan 2023 00:00'))
endDate = input(title='End Date', defval=timestamp('31 Dec 2030 23:59'))

// Set take profit and stop loss percentages
take_profit_percent = input(1.0, title ="Take Profit Percent") / 100.0
stop_loss_percent = input(1.0, title ="Stop Loss Percent") / 100.0

// CALCULATIONS:

// Use the built-in function to calculate two EMA lines
fastEMA = ta.ema(close, emaFast)
slowEMA = ta.ema(close, emaSlow)
emapos = ta.ema(close, 200)

// PLOT:

// Draw the EMA lines on the chart
plot(series=fastEMA, color=color.new(color.orange, 0), linewidth=2)
plot(series=slowEMA, color=color.new(color.blue, 0), linewidth=2)
plot(series=emapos, color=color.new(color.red, 0), linewidth=2)

// CONDITIONS:

// Check if the close time of the current bar falls inside the date range
inDateRange = true

// Translate input into trading conditions
longOK = tradeDirection == 'Long' or tradeDirection == 'Both'
shortOK = tradeDirection == 'Short' or tradeDirection == 'Both'

// Decide if we should go long or short using the built-in functions
longCondition = ta.crossover(fastEMA, slowEMA) and inDateRange
shortCondition = ta.crossunder(fastEMA, slowEMA) and inDateRange

// ORDERS:

// Submit entry (or reverse) orders
if longCondition and longOK
    strategy.entry(id='long', direction=strategy.long)

if shortCondition and shortOK
    strategy.entry(id='short', direction=strategy.short)

// Exit orders
if strategy.position_size > 0 and longOK
    strategy.exit(id='exit long', from_entry='long', limit=strategy.position_avg_price * (1 + take_profit_percent), stop=strategy.position_avg_price * (1 - stop_loss_percent))

if strategy.position_size < 0 and shortOK
    strategy.exit(id='exit short', from_entry='short', limit=strategy.position_avg_price * (1 - take_profit_percent), stop=strategy.position_avg_price * (1 + stop_loss_percent))