Stratégie de trading Momentum basée sur la rupture de la fourchette de prix intraday combinée à l'optimisation de l'indicateur EMA

EMA SL RR SAST EMAs
Date de création: 2025-02-21 13:20:45 Dernière modification: 2025-02-21 13:20:45
Copier: 1 Nombre de clics: 351
2
Suivre
319
Abonnés

Stratégie de trading Momentum basée sur la rupture de la fourchette de prix intraday combinée à l’optimisation de l’indicateur EMA Stratégie de trading Momentum basée sur la rupture de la fourchette de prix intraday combinée à l’optimisation de l’indicateur EMA

Aperçu

Cette stratégie est une stratégie de négociation intraday combinant une rupture de la fourchette de prix de la veille et les moyennes mobiles de l’indice (EMAs). La stratégie est utilisée pour négocier en identifiant le moment où les prix ont atteint leur sommet ou leur bas du jour précédant la rupture de la fourchette de prix.

Principe de stratégie

La logique fondamentale de la stratégie repose sur les éléments clés suivants :

  1. Utilisez la fonction request.security pour obtenir les hauts et les bas de la journée de négociation précédente en tant que fourchette de prix clé.
  2. Les moyennes mobiles indexées de 9 cycles et de 21 cycles (EMAs) sont calculées comme indicateurs de confirmation de tendance.
  3. Un signal de multiplication est déclenché lorsque le cours atteint un sommet la veille de la rupture et que l’EMA rapide est au-dessus de l’EMA lente.
  4. Un signal de coupe est déclenché lorsque le cours atteint un bas le jour précédant la rupture et que l’EMA rapide est en dessous de l’EMA lente.
  5. Gérer le risque de chaque transaction en définissant un nombre fixe de points de stop-loss (30 points) et un ratio de risque/revenu (2.0)
  6. Une fonction de filtrage des heures de transaction en option, permettant de négocier à des heures spécifiques (zones horaires SAST).

Avantages stratégiques

  1. La structure est claire, la logique simple: la stratégie utilise une logique de rupture de prix facile à comprendre et à exécuter.
  2. La gestion des risques est améliorée: un contrôle rigoureux des risques est mis en place en fixant le nombre de points d’arrêt et le rapport entre le risque et le bénéfice.
  3. Gestion flexible du temps: la fonction de filtrage des heures de négociation en option permet de négocier aux heures de marché les plus actives.
  4. Mécanisme de confirmation multiple: en combinant la confirmation de la tendance de la rupture de prix et des EMA, réduire le risque de faux signaux.
  5. Autonomie élevée: l’exécution des stratégies peut être entièrement automatisée, avec une intervention humaine réduite.

Risque stratégique

  1. Risque de fausse rupture: le prix peut se retirer rapidement après la rupture, ce qui entraîne un arrêt des pertes.
  2. Risque de glissement: pendant une période de forte volatilité, le prix de transaction réel peut être très éloigné du prix du signal.
  3. Risque de stop-loss fixe: le stop-loss à un nombre de points fixe peut ne pas être adapté à toutes les conditions du marché.
  4. Risque de fluctuation du marché: trop de signaux de négociation peuvent être générés pendant une période de faible volatilité.

Orientation de l’optimisation de la stratégie

  1. Optimisation dynamique des stop-loss: il est possible d’envisager d’ajuster le nombre de points de stop-loss en fonction des fluctuations dynamiques du marché.
  2. Optimisation des heures de transaction: optimiser les paramètres de la fenêtre des heures de transaction à l’aide de l’analyse des données historiques
  3. Amélioration du filtrage des signaux: ajout d’indicateurs de trafic ou de taux de fluctuation comme condition de filtrage supplémentaire.
  4. Optimisation des paramètres des EMAs: déterminer les paramètres optimaux pour les EMAs en utilisant le test de retour.
  5. Optimisation de la gestion des positions: mise en place d’un mécanisme de gestion dynamique des positions basé sur la volatilité.

Résumer

La stratégie réalise un système de négociation intraday fiable en combinant les ruptures de prix et la confirmation de tendance des EMA. Les principaux avantages de la stratégie résident dans sa structure logique claire et son mécanisme de gestion des risques bien développé. La stratégie peut améliorer encore sa stabilité et sa rentabilité grâce à la direction d’optimisation proposée.

Code source de la stratégie
/*backtest
start: 2025-02-16 17:00:00
end: 2025-02-18 14:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"SOL_USDT"}]
*/

//@version=5
strategy("GER40 Momentum Breakout Scalping", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=1)

//———— Input Parameters —————
stopLossPoints = input.int(30, title="Stop Loss (Pips)", minval=1)  // Updated to 30 pips
riskReward    = input.float(2.0, title="Risk Reward Ratio", step=0.1)
useTimeFilter = input.bool(false, title="Use Time Filter? (Sessions in SAST)")
// Define sessions (SAST) if needed
session1 = "0900-1030"
session2 = "1030-1200"
session3 = "1530-1730"

//———— Time Filter Function —————
inSession = true
if useTimeFilter
    // TradingView's session function uses the chart's timezone.
    // Adjust the session times if your chart timezone is not SAST.
    inSession = time(timeframe.period, session1) or time(timeframe.period, session2) or time(timeframe.period, session3)

//———— Get Previous Day's High/Low —————
// Fetch the previous day's high/low using the daily timeframe. [1] refers to the previous completed day.
prevHigh = request.security(syminfo.tickerid, "D", high[1])
prevLow  = request.security(syminfo.tickerid, "D", low[1])

//———— Calculate EMAs on the 1-minute chart —————
emaFast = ta.ema(close, 9)
emaSlow = ta.ema(close, 21)

//———— Define Breakout Conditions —————
longCondition  = close > prevHigh and emaFast > emaSlow
shortCondition = close < prevLow  and emaFast < emaSlow

//———— Entry & Exit Rules —————
if inSession
    // Long breakout: Price breaks above previous day's high
    if (longCondition)
        strategy.entry("Long", strategy.long)
        strategy.exit("Exit Long", "Long", 
          stop = strategy.position_avg_price - stopLossPoints * syminfo.mintick, 
          limit = strategy.position_avg_price + stopLossPoints * riskReward * syminfo.mintick)
    
    // Short breakout: Price breaks below previous day's low
    if (shortCondition)
        strategy.entry("Short", strategy.short)
        strategy.exit("Exit Short", "Short", 
          stop = strategy.position_avg_price + stopLossPoints * syminfo.mintick, 
          limit = strategy.position_avg_price - stopLossPoints * riskReward * syminfo.mintick)

//———— Plot Indicators & Levels —————
plot(emaFast, color=color.blue, title="EMA 9")
plot(emaSlow, color=color.red, title="EMA 21")
plot(prevHigh, color=color.green, style=plot.style_linebr, title="Prev Day High")
plot(prevLow, color=color.maroon, style=plot.style_linebr, title="Prev Day Low")