Cette stratégie met en œuvre le trading de croix d'or et de croix de mort basé sur trois moyennes mobiles avec des périodes différentes.
La logique de la stratégie:
Définir trois MA - MA à court terme, MA à long terme et MA à tendance. Les périodes sont respectivement 20, 200 et 50.
Un signal d'achat est généré lorsque le MA de courte période dépasse le MA de longue période. Un signal de vente est généré lorsque le MA de courte période dépasse le MA de longue période.
Vérifiez si les MA courts et longs sont au-dessus du MA de tendance.
Réglez le stop loss et le profit en pourcentage du prix d'entrée. Optimisez les paramètres basés sur le backtesting.
Tracer les points de croisement MA pour visualiser les signaux d'entrée.
Les avantages:
Une logique de stratégie simple et intuitive, facile à comprendre et à mettre en œuvre.
Peut capturer efficacement les tendances à moyen terme et négocier avec l'élan.
Filtrer avec la tendance MA évite de négocier contre la tendance.
Les périodes d'autorisation de mise sur le marché peuvent être ajustées en fonction des différentes conditions du marché.
Stop-loss et take profit personnalisables pour contrôler les risques.
Les risques:
Les mouvements volatils peuvent déclencher un stop loss.
Des pertes plus importantes lorsque la tendance est inversée.
Un ajustement incorrect des paramètres peut entraîner une survente ou des opportunités manquées.
Les coûts de transaction doivent être pris en considération.
Améliorations:
Ajoutez un filtre de volatilité comme ATR pour éviter de faux signaux.
Utilisez l'apprentissage automatique pour optimiser dynamiquement les paramètres.
Ajoutez plus d'indicateurs comme le MACD pour déterminer la tendance.
Mettez en œuvre un stop-loss pour bloquer les profits.
Test de retour pour trouver les niveaux optimaux de stop loss et de profit.
Conclusion:
La stratégie capture les tendances efficacement avec une logique claire et une exécution facile. Contrôler les risques avec un filtre de tendance, un stop loss et un profit. Le réglage des paramètres nécessite une optimisation pour les conditions du marché. Plus d'indicateurs peuvent améliorer les performances. Convient pour le trading de tendance à moyen terme.
/*backtest start: 2022-10-23 00:00:00 end: 2023-10-29 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("XAU M15", overlay=true) // Define input parameters long_length = input.int(64, title="Long MA Length") short_length = input.int(1, title="Short MA Length") trend_length = input.int(200, title="Trend MA Length") // Calculate moving averages long_ma = ta.sma(close, long_length) short_ma = ta.sma(close, short_length) trend_ma = ta.sma(close, trend_length) // Plot moving averages on chart plot(long_ma, color=color.blue, title="Long MA") plot(short_ma, color=color.red, title="Short MA") plot(trend_ma, color=color.green, title="Trend MA") // Entry conditions enterLong = ta.crossover(long_ma, short_ma) and long_ma > trend_ma and short_ma > trend_ma enterShort = ta.crossunder(long_ma, short_ma) and long_ma < trend_ma and short_ma < trend_ma if (enterLong) strategy.entry("Long", strategy.long) if (enterShort) strategy.entry("Short", strategy.short) // Exit conditions exitLong = ta.crossunder(long_ma, short_ma) exitShort = ta.crossover(long_ma, short_ma) if (exitLong) strategy.close("Long") if (exitShort) strategy.close("Short") // Set stop loss and take profit levels long_stop_loss_percentage = input(1, title="Long Stop Loss (%)") / 100 long_take_profit_percentage = input(3, title="Long Take Profit (%)") / 100 short_stop_loss_percentage = input(1, title="Short Stop Loss (%)") / 100 short_take_profit_percentage = input(3, title="Short Take Profit (%)") / 100 strategy.exit("Take Profit/Stop Loss", "Long", stop=close * (1 - long_stop_loss_percentage), limit=close * (1 + long_take_profit_percentage)) strategy.exit("Take Profit/Stop Loss", "Short", stop=close * (1 + short_stop_loss_percentage), limit=close * (1 - short_take_profit_percentage)) plotshape(series=enterLong, title="Buy Entry", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.tiny) plotshape(series=enterShort, title="Sell Entry", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.tiny)