Les ressources ont été chargées... Je charge...

Stratégie SAR parabolique et CCI avec sortie de l'EMA pour le commerce de l'or

Auteur:ChaoZhang est là., Date: 12-07-2023 à 17 h 04 min 54 s
Les étiquettes:

img

Résumé

Il s'agit d'une stratégie de négociation d'or sur le calendrier M5 basée sur la combinaison des indicateurs techniques SAR parabolique, CCI et EMA. Elle utilise trois indicateurs différents pour identifier la direction de la tendance et les situations de surachat/survente de l'or afin de saisir les opportunités de négociation lors des retombées du marché.

La logique de la stratégie

  1. Le SAR parabolique est utilisé pour déterminer la direction de la tendance et les points d'inversion potentiels de l'or. Lorsque les points SAR commencent à diminuer en dessous du prix, cela indique une tendance à la hausse; lorsque les points SAR commencent à augmenter au-dessus du prix, cela indique une tendance à la baisse.

  2. L'indice CCI indique les conditions de surachat/survente du marché: un indice CCI supérieur à 100 indique une tendance à la hausse, tandis qu'un indice CCI inférieur à -100 indique une tendance à la baisse.

  3. Les croisements EMA signalent des points tournants à court terme du prix.

  4. Règles d'entrée: long lorsque le SAR dépasse l'EMA de 5 minutes en direction de la hausse et que le CCI est supérieur à 100; short lorsque le SAR dépasse l'EMA de 5 minutes en direction de la baisse et que le CCI est inférieur à -100.

  5. Règles de sortie: Profitez au prix d'entrée + 7 ticks, Stop loss défini à la ligne EMA de 1 minute.

Les avantages

  1. Utilise 3 indicateurs pour identifier les tendances et les principaux niveaux de soutien/résistance, améliorant ainsi la rentabilité.

  2. L'indice CCI filtre efficacement les fausses ruptures. Les inversions de SAR combinées à la direction de la tendance évitent les entrées inutiles lors des consolidations.

  3. Les croisements EMA avec SAR offrent des entrées à faible risque lors de retraits temporaires.

  4. Paramètres optimisés adaptés aux matières premières volatiles comme l'or et les petits comptes.

Les risques

  1. Il s'appuie principalement sur des indicateurs techniques qui peuvent échouer lors d'événements de cygne noir.

  2. Produit volatil, EMA stop loss susceptible d'être touché par des pics entraînant de grosses pertes.

  3. Les signaux potentiellement erronés émis par l'ICC et le SAR entraînant des pertes inutiles.

  4. Les défaillances du système lors de mouvements volatiles peuvent empêcher une exécution efficace du stop loss.

Des possibilités d'amélioration

  1. Tester différentes combinaisons de paramètres pour optimiser l'ICC pour les caractéristiques de l'or.

  2. Incorporer plus d'indicateurs comme les modèles de bougies, les bandes de Bollinger pour améliorer la robustesse.

  3. Utiliser l'apprentissage automatique pour l'optimisation dynamique des paramètres SAR en s'adaptant aux marchés en évolution.

  4. Testez différents mécanismes de stop loss, par exemple les stop trailing, afin de réduire la probabilité d'être touché.

  5. Optimiser les modèles de dimensionnement des positions, par exemple la dimensionnement des positions dynamique et fractionnée fixe pour contrôler le montant des pertes d'une seule transaction.

Conclusion

Dans l'ensemble, une stratégie de négociation d'or stable combinant plusieurs indicateurs pour identifier les tendances, les niveaux de support / résistance clés et les zones de surachat / survente pour les entrées à faible risque pendant les retracements. Les paramètres optimisés permettent au trading de petits comptes de capitaliser sur la forte volatilité de l'or. A des risques qui peuvent être abordés par une bonne gestion des risques. Un potentiel significatif pour améliorer davantage la stabilité et la rentabilité grâce à l'amélioration.


/*backtest
start: 2022-11-30 00:00:00
end: 2023-12-06 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Parabolic SAR and CCI Strategy with EMA Exit", overlay=true)

// Parameters
length = input(50, title="EMA Length")
length_21 = input(21, title="EMA Length 21")
acc = input(0.02, title="Acceleration Factor")
max_acc = input(0.2, title="Max Acceleration Factor")
takeProfitPoints = input(7, title="Take Profit Points")

// Variables
var float ep = 0.0
var float sar = 0.0
var float af = acc

// Calculating 5-minute EMA based on 1-minute data
var float sum_close = na
var float ema_5min = na
if (bar_index % 5 == 0)
    sum_close := 0.0
    for i = 0 to 4
        sum_close := sum_close + close[i]
    ema_5min := ema(sum_close / 5, length_21)

// Calculating 1-minute EMA
ema1 = ema(close, length)
cci = cci(close, 45)

// Custom Parabolic SAR Calculation
trendUp = close > ema1
trendDown = close < ema1

var float prev_sar = na
prev_sar := na(sar[1]) ? low[1] : sar[1]

if trendUp
    ep := high > ep ? high : ep
    af := min(af + acc, max_acc)
    sar := min(prev_sar, prev_sar + af * (ep - prev_sar))

if trendDown
    ep := low < ep ? low : ep
    af := min(af + acc, max_acc)
    sar := max(prev_sar, prev_sar + af * (ep - prev_sar))

// Entry Conditions
longCondition = sar > ema1 and ema1 > ema_5min and cci > 100
shortCondition = sar < ema1 and ema1 < ema_5min and cci < -100

// Exit Conditions
longTakeProfit = strategy.position_avg_price + takeProfitPoints * syminfo.mintick
longStopLoss = ema1
shortTakeProfit = strategy.position_avg_price - takeProfitPoints * syminfo.mintick
shortStopLoss = ema1

// Plotting Entry Points
plotshape(longCondition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(shortCondition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)

// Strategy Execution
if longCondition
    strategy.entry("Long", strategy.long)

if shortCondition
    strategy.entry("Short", strategy.short)

if strategy.position_size > 0
    strategy.exit("Take Profit/Stop Loss", "Long", limit=longTakeProfit, stop=longStopLoss)

if strategy.position_size < 0
    strategy.exit("Take Profit/Stop Loss", "Short", limit=shortTakeProfit, stop=shortStopLoss)


Plus de