La comparaison des prix de clôture de la stratégie de croisement de la moyenne mobile double est une stratégie de trading quantitative relativement simple. Elle calcule le prix de clôture moyen des 7 bougies récentes et le prix de clôture moyen des 20 bougies. Lorsque la moyenne mobile à court terme traverse la moyenne mobile à long terme en bas, elle indique une position longue. Lorsque la moyenne mobile à court terme traverse en dessous de la moyenne mobile à long terme, elle indique une position courte. Cela permet à la stratégie de capturer les points d'inflexion des tendances à moyen terme du marché.
La logique de base de cette stratégie est de calculer le prix de clôture moyen des 7 bougies récentes (à l'exclusion de la bougie actuelle) comme moyenne mobile à court terme, et le prix de clôture moyen de 20 bougies (à l'exclusion des 7 bougies récentes) comme moyenne mobile à long terme. Lorsque la moyenne mobile à court terme traverse la moyenne mobile à long terme depuis le bas, cela indique que le marché passe de la baisse à la hausse, ce qui indique une position longue. Lorsque la moyenne mobile à court terme traverse en dessous de la moyenne mobile à long terme depuis le haut, cela indique que le marché passe de la hausse à la baisse, ce qui indique une position courte.
Lorsqu'il y a un signal long, la position longue sera ouverte en utilisant l'ensemble du capital du compte. Lorsqu'il y a un signal court, la position longue existante sera fermée en premier avant d'ouvrir la position courte en utilisant le même montant. Chaque position ouverte sera maintenue pendant 20 à 25 bougies. Pendant cette période, si une perte se produit, 50% de la position sera arrêtée. Si un profit suffisant se produit, 50% de la position sera prise en profit.
Les avantages de cette stratégie simple de croisement de deux moyennes mobiles sont les suivants:
En tant que simple stratégie de suivi de tendance, elle comporte également des risques potentiels:
Les optimisations pour faire face à ces risques sont les suivantes:
En tant que stratégie simple de croisement de la moyenne mobile double, les principales optimisations sont:
Optimiser les paramètres d'AM, tester différentes combinaisons d'AM à court et à long terme pour obtenir les meilleurs paramètres;
Ajouter d'autres indicateurs filtrants tels que le volume, l'indice de volatilité, etc. pour éviter de faux signaux dans les marchés agités;
Optimiser les stratégies de stop loss et de profit, tester différents ratios pour trouver l'optimum;
Tester l'efficacité à travers différents cycles de marché et optimiser la période de conservation;
Ajoutez des algorithmes d'apprentissage automatique, continuez à optimiser les paramètres grâce à des tests antérieurs pour plus de robustesse.
En résumé, il s'agit d'une stratégie simple de double moyenne mobile croisée, utilisant des croisements MA à travers différentes périodes pour déterminer les points d'inflexion de la tendance à moyen terme. Il a une grande praticité et est facile à utiliser. Mais il a également des limites pour déterminer efficacement les vrais points d'inversion du marché.
/*backtest start: 2024-01-05 00:00:00 end: 2024-02-04 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © nrathi2211 //@version=5 strategy("Closing Prices", overlay=true) //variables closingB7 = ta.highest(close, 7)[7] closingB14 = ta.highest(close, 7)[20] highB14 = ta.highest(low, 50)[7] capital = 50000 //functions qty_find(float price) => capital / int(price) profit_take() => profit = strategy.opentrades.profit(strategy.opentrades - 1) profit*.95 if(closingB7 < closingB14) if(ta.crossover(close, closingB7)) strategy.entry("long_buy", strategy.long, qty_find(close)) current_profit = strategy.opentrades.profit(strategy.opentrades - 1) if(current_profit < 0) strategy.close("Exit long_buy SL", "long_buy", qty_percent = 50) else if(current_profit < profit_take()) strategy.close("Exit long_buy TP", "long_buy", qty_percent = 50) if(ta.crossunder(close, closingB7)) strategy.exit("long_sell", from_entry = "long_buy", stop = closingB7) plot(closingB7, "cl", color.green, 2) //plot(closingB14, "cl", color.red, 2) plot(highB14, "cl", color.purple, 2)