Stratégie de trading intelligente G Trend EMA ATR

EMA ATR
Date de création: 2024-06-14 15:35:15 Dernière modification: 2024-06-14 15:35:15
Copier: 8 Nombre de clics: 713
1
Suivre
1617
Abonnés

Stratégie de trading intelligente G Trend EMA ATR

Aperçu

Cette stratégie utilise l’indicateur de canal G pour identifier la direction de la tendance du marché, tout en combinant les indicateurs EMA et ATR pour optimiser les points d’entrée et de sortie. L’idée principale de la stratégie est que lorsque le prix franchit la trajectoire du canal G et fait plus en bas de l’EMA, il franchit la trajectoire du canal G et est vide en haut de l’EMA.

Principe de stratégie

  1. Calculer la trajectoire ascendante et descendante du canal G: calculer la trajectoire ascendante et descendante du canal G en utilisant le prix de clôture actuel et le prix de clôture précédent.
  2. Déterminer l’orientation de la tendance: déterminer la tendance à la pluralité en observant la relation entre le prix et la montée et la descente du canal G.
  3. Calculer l’EMA: calculer la valeur de l’EMA pour une période donnée.
  4. Calculer l’ATR: calculer la valeur de l’ATR pour une période donnée.
  5. Déterminer les conditions d’achat et de vente: déclencher une survente lorsque le prix franchit le canal G et est inférieur à l’EMA, déclencher une rupture lorsque le prix franchit le canal G et est supérieur à l’EMA.
  6. Le stop-loss est réglé sur le prix d’ouverture de la position - 2 fois l’ATR, le stop-loss sur le prix d’ouverture de la position + 4 fois l’ATR (c’est-à-dire le plus grand nombre de têtes); le stop-loss est réglé sur le prix d’ouverture de la position + 2 fois l’ATR, le stop-loss sur le prix d’ouverture de la position - 4 fois l’ATR (c’est-à-dire le plus grand nombre de têtes vides).
  7. Déclenchement de la stratégie: exécutez l’opération d’ouverture correspondante lorsque les conditions d’achat et de vente sont remplies et définissez le stop loss correspondant.

Avantages stratégiques

  1. Le suivi des tendances: une stratégie utilisant le canal G pour capturer efficacement les tendances du marché, en fonction de la tendance.
  2. Stop loss dynamique: utilise ATR pour ajuster le stop loss dynamiquement afin de mieux s’adapter aux fluctuations du marché.
  3. Contrôle des risques: le Stop Loss est réglé sur 2 fois l’ATR, contrôlant strictement le risque de chaque transaction.
  4. Simple et facile à utiliser: la logique de la stratégie est claire et conviendra à la plupart des investisseurs.

Risque stratégique

  1. Les signaux de trading fréquents peuvent entraîner des pertes accrues dans les marchés en crise.
  2. Optimisation des paramètres: les variétés et les cycles peuvent nécessiter des paramètres différents, ce qui peut entraîner des risques.
  3. Le Black Swan: dans des cas extrêmes, les fluctuations de prix peuvent être extrêmes et le stop loss peut ne pas être appliqué efficacement.

Orientation de l’optimisation de la stratégie

  1. Filtrage des tendances: augmentation des conditions de filtrage des tendances, telles que les MA croisés, les DMI, etc., afin de réduire les transactions dans des conditions de choc.
  2. Optimisation des paramètres: Optimisation des paramètres pour différentes variétés et cycles afin de trouver la meilleure combinaison de paramètres.
  3. Gestion des positions: Adaptation des positions en fonction de la dynamique de la volatilité du marché pour améliorer l’utilisation des fonds.
  4. Stratégie combinée: combiner cette stratégie avec d’autres stratégies efficaces pour améliorer la stabilité.

Résumer

La stratégie utilise des indicateurs tels que le canal G, l’EMA et l’ATR pour construire un système de trading de suivi de tendance simple et efficace. Elle peut avoir de bons résultats dans les conditions de tendance, mais elle est généralement performante dans les conditions de choc.

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

//@version=4
// Full credit to AlexGrover: https://www.tradingview.com/script/fIvlS64B-G-Channels-Efficient-Calculation-Of-Upper-Lower-Extremities/
strategy ("G-Channel Trend Detection with EMA Strategy and ATR", shorttitle="G-Trend EMA ATR Strategy", overlay=true)

// Inputs for G-Channel
length = input(100, title="G-Channel Length")
src = input(close, title="Source")

// G-Channel Calculation
var float a = na
var float b = na
a := max(src, nz(a[1])) - (nz(a[1] - b[1]) / length)
b := min(src, nz(b[1])) + (nz(a[1] - b[1]) / length)
avg = (a + b) / 2

// G-Channel Signals
crossup = b[1] < close[1] and b > close
crossdn = a[1] < close[1] and a > close
bullish = barssince(crossdn) <= barssince(crossup)
c = bullish ? color.lime : color.red

// Plot G-Channel Average
p1 = plot(avg, "Average", color=c, linewidth=1, transp=90)
p2 = plot(close, "Close price", color=c, linewidth=1, transp=100)
fill(p1, p2, color=c, transp=90)

// Show Buy/Sell Labels
showcross = input(true, title="Show Buy/Sell Labels")
plotshape(showcross and not bullish and bullish[1] ? avg : na, location=location.absolute, style=shape.labeldown, color=color.red, size=size.tiny, text="Sell", textcolor=color.white, transp=0, offset=-1)
plotshape(showcross and bullish and not bullish[1] ? avg : na, location=location.absolute, style=shape.labelup, color=color.lime, size=size.tiny, text="Buy", textcolor=color.white, transp=0, offset=-1)

// Inputs for EMA
emaLength = input(50, title="EMA Length")
emaValue = ema(close, emaLength)

// Plot EMA
plot(emaValue, title="EMA", color=color.blue, linewidth=1)

// ATR Calculation
atrLength = input(14, title="ATR Length")
atrValue = atr(atrLength)

// Strategy Conditions
buyCondition = bullish and close < emaValue
sellCondition = not bullish and close > emaValue

// Stop Loss and Take Profit Levels
longStopLoss = close - 2 * atrValue
longTakeProfit = close + 4 * atrValue
shortStopLoss = close + 2 * atrValue
shortTakeProfit = close - 4 * atrValue

// Execute Strategy with ATR-based stop loss and take profit
if (buyCondition)
    strategy.entry("Buy", strategy.long)
    strategy.exit("Sell", "Buy", stop=longStopLoss, limit=longTakeProfit)

if (sellCondition)
    strategy.entry("Sell", strategy.short)
    strategy.exit("Cover", "Sell", stop=shortStopLoss, limit=shortTakeProfit)

// Plot Buy/Sell Signals on the chart
plotshape(series=buyCondition, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY", offset=-1)
plotshape(series=sellCondition, location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL", offset=-1)