Stratégie de trading d'inversion de la moyenne mobile assistée par un indicateur de momentum


Date de création: 2024-01-22 17:34:05 Dernière modification: 2024-01-22 17:34:05
Copier: 0 Nombre de clics: 689
1
Suivre
1617
Abonnés

Stratégie de trading d’inversion de la moyenne mobile assistée par un indicateur de momentum

Aperçu

Cette stratégie utilise une combinaison d’indicateurs de dynamique et de lignes de moyenne pour identifier les tendances du marché et les points de retournement, et pour effectuer des transactions lorsque la tendance se retourne. Elle appartient à la stratégie de suivi de la tendance et de négociation de contre-courant.

Principe de stratégie

1. Identifier les zones d’offre et de demande

Les zones rouges représentent les zones d’offre excédentaire et les zones vertes les zones de demande supérieure à l’offre.

2. Le jugement de tendance de l’EMA

La longueur moyenne de l’EMA est calculée à 200 et tracée. La tendance à la hausse est jugée par la relation entre le prix et la taille de l’EMA. Les prix supérieurs à l’EMA sont considérés comme une tendance à la hausse et les prix inférieurs à l’EMA sont considérés comme une tendance à la baisse.

3. Marquage des zones à plusieurs espaces

La zone de retournement est déterminée en fonction des deux plus récents hauts et des plus bas de la ligne K:

  • Zone HH ((Higher High) 2 lignes K consécutives
  • Zone LL ((Lower Low) 2 points bas de ligne K consécutifs
  • Zone LH ((régions des Hautes inférieures) Hauts de la ligne K les plus récents sont les hauts de l’innovation, les hauts de la ligne K inférieures sont inversés et appartiennent aux hauts de la baisse
  • Zone HL ((Higher Low zone) 1 bas de la ligne K récent bas bas de l’innovation, bas de la ligne K secondaire inverse, bas de la relance

4. Traçage de l’arrêt ATR

Calculer l’ATR de 14 cycles multiplié par le facteur 2 pour obtenir le Stop Loss de la stratégie.

5. Entrée et sortie à perte

Le prix est suivi par la relation entre le haut et le bas du Kline de la veille. Un signal de tête blanche est généré lorsque le prix est supérieur au sommet du jour précédent; un signal de tête blanche est généré lorsque le prix est inférieur au bas du jour précédent. Le signal d’entrée est retardé jusqu’à la 3e ligne K pour confirmer et éviter les signaux erronés causés par les fluctuations de choc.

Analyse des avantages

  1. L’utilisation de plusieurs indicateurs pour identifier les tendances et les zones de retournement clés, améliore la probabilité de rentabilité.
  2. La méthode de coupe ATR permet de maîtriser efficacement le risque de perte individuelle.
  3. L’entrée tardive permet de déterminer les signaux efficaces et de réduire la probabilité d’une transaction erronée.

Analyse des risques

  1. Si vous vous appuyez uniquement sur des indicateurs techniques et que vous n’ajoutez pas d’informations de base, vous risquez de manquer des informations importantes et de faire échouer la transaction.
  2. La méthode ATR Stop Loss peut être dépassée dans des conditions de forte activité et entraîner des pertes.
  3. Les signaux de retournement d’EMA sont fréquents dans les tendances de choc, ce qui peut entraîner une survente des transactions.

Comment gérer les risques:

  1. Les données économiques majeures sont combinées à des jugements politiques pour décider de l’action à entreprendre.
  2. Le coefficient d’arrêt de l’ATR peut être augmenté de manière appropriée pour assurer un espace suffisant.
  3. Ajustez les paramètres de périodicité de l’arrêt ATR pour éviter d’être trop sensible aux vibrations.

Direction d’optimisation

  1. Le moment de l’entrée est déterminé en combinaison avec d’autres indicateurs techniques tels que le MACD, le RSI, etc.
  2. Testez les combinaisons de paramètres de différentes périodes et de paramètres de facteurs pour trouver le paramètre optimal.
  3. Il est possible d’inclure un filtre de retrait pour éviter que le signal ne soit bloqué.
  4. Paramètres d’optimisation dynamique utilisant des méthodes telles que l’apprentissage automatique.

Résumer

Cette stratégie utilise l’analyse de l’offre et de la demande, l’analyse des tendances, l’identification des retours et la gestion des pertes pour identifier efficacement les opportunités de revirement du marché dans les zones clés. Elle constitue un ensemble efficace de stratégies de suivi des tendances et de négociation des contre-courants.

Code source de la stratégie
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-20 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Supply and Demand Zones with EMA and Trailing Stop", shorttitle="SD Zones", overlay=true)

showBuySignals = input(true, title="Show Buy Signals", group="Signals")
showSellSignals = input(true, title="Show Sell Signals", group="Signals")
showHLZone = input(true, title="Show HL Zone", group="Zones")
showLHZone = input(true, title="Show LH Zone", group="Zones")
showHHZone = input(true, title="Show HH Zone", group="Zones")
showLLZone = input(true, title="Show LL Zone", group="Zones")

emaLength = input(200, title="EMA Length", group="EMA Settings")
atrLength = input(14, title="ATR Length", group="Trailing Stop")
atrMultiplier = input(2, title="ATR Multiplier", group="Trailing Stop")

// Function to identify supply and demand zones
getZones(src, len, mult) =>
    base = request.security(syminfo.tickerid, "D", close)
    upper = request.security(syminfo.tickerid, "D", high)
    lower = request.security(syminfo.tickerid, "D", low)
    multiplier = request.security(syminfo.tickerid, "D", mult)
    zonetype = base + multiplier * len
    zone = src >= zonetype
    [zone, upper, lower]

// Identify supply and demand zones
[supplyZone, _, _] = getZones(close, high[1] - low[1], 1)
[demandZone, _, _] = getZones(close, high[1] - low[1], -1)

// Plot supply and demand zones
bgcolor(supplyZone ? color.new(color.red, 80) : na)
bgcolor(demandZone ? color.new(color.green, 80) : na)

// EMA with Linear Weighted method
ema = ta.ema(close, emaLength)

// Color code EMA based on its relation to candles
emaColor = close > ema ? color.new(color.green, 0) : close < ema ? color.new(color.red, 0) : color.new(color.yellow, 0)

// Plot EMA
plot(ema, color=emaColor, title="EMA")

// Entry Signal Conditions after the third candle
longCondition = ta.crossover(close, high[1]) and (bar_index >= 2)
shortCondition = ta.crossunder(close, low[1]) and (bar_index >= 2)

// Trailing Stop using ATR
atrValue = ta.atr(atrLength)
trailStop = close - atrMultiplier * atrValue

// Strategy Entry and Exit
if (longCondition)
    strategy.entry("Buy", strategy.long)
    strategy.exit("TrailStop", from_entry="Buy", loss=trailStop)

if (shortCondition)
    strategy.entry("Sell", strategy.short)
    strategy.exit("TrailStop", from_entry="Sell", loss=trailStop)

// Plot Entry Signals
plotshape(series=showBuySignals ? longCondition : na, title="Buy Signal", color=color.new(color.green, 0), style=shape.triangleup, location=location.belowbar)
plotshape(series=showSellSignals ? shortCondition : na, title="Sell Signal", color=color.new(color.red, 0), style=shape.triangledown, location=location.abovebar)

// Plot Trailing Stop
plot(trailStop, color=color.new(color.red, 0), title="Trailing Stop")

// Plot HH, LL, LH, and HL zones
plotshape(series=showHHZone and ta.highest(high, 2)[1] and ta.highest(high, 2)[2] ? 1 : na, title="HH Zone", color=color.new(color.blue, 80), style=shape.triangleup, location=location.abovebar)
plotshape(series=showLLZone and ta.lowest(low, 2)[1] and ta.lowest(low, 2)[2] ? 1 : na, title="LL Zone", color=color.new(color.blue, 80), style=shape.triangledown, location=location.belowbar)
plotshape(series=showLHZone and ta.highest(high, 2)[1] and ta.lowest(low, 2)[2] ? 1 : na, title="LH Zone", color=color.new(color.orange, 80), style=shape.triangleup, location=location.abovebar)
plotshape(series=showHLZone and ta.lowest(low, 2)[1] and ta.highest(high, 2)[2] ? 1 : na, title="HL Zone", color=color.new(color.orange, 80), style=shape.triangledown, location=location.belowbar)