
Cette stratégie est un système de négociation qui combine la croisée des moyennes mobiles pluriannuelles et l’indicateur de mouvement MACD, conçu pour une fenêtre de temps spécifique. La stratégie utilise la relation croisée entre la moyenne mobile simple à court terme (SMA3) et la moyenne mobile à moyen terme (EMA10) comme signal d’entrée principal, tout en effectuant la confirmation de la dynamique en combinaison avec l’indicateur MACD, et en ajoutant des conditions de filtrage de la forme et du temps de l’anneau pour améliorer la qualité du signal.
La logique de base de cette stratégie repose sur les éléments clés suivants:
Système de croisement des moyennes mobiles: utilise une moyenne mobile simple à 3 cycles ((SMA3)) croisée avec une moyenne mobile à 10 cycles ((EMA10) comme signal principal. Un signal de commutation est produit lorsque SMA3 traverse EMA10 vers le haut; un signal de commutation est produit lorsque SMA3 traverse EMA10 vers le bas.
La dynamique du MACD est confirméeLa stratégie consiste à utiliser l’indicateur MACD ((12,26,9) comme outil de confirmation de la dynamique. Le plus exige que la ligne MACD soit au-dessus de la ligne de signal, indiquant une dynamique ascendante. Le plus exige que la ligne MACD soit au-dessous de la ligne de signal, indiquant une dynamique descendante.
Filtre à forme de soucoupe: Conditions supplémentaires pour la forme de l’aiguille: le signal de multiplication doit apparaître sur l’aiguille verte où le prix de clôture est supérieur au prix d’ouverture; le signal de couverture doit apparaître sur l’aiguille rouge où le prix de clôture est inférieur au prix d’ouverture.
Filtreur de temps: la stratégie consiste à effectuer des transactions uniquement entre 21h00 et 22h00 (UTC-5), ce qui peut être basé sur les caractéristiques de volatilité du marché pendant cette période.
Gestion des risquesLa stratégie utilise des paramètres fixes de stop-loss et de stop-loss, avec 15 points de stop-loss et 30 points de stop-loss par défaut, mais les notes de code mentionnent que les transactions réelles peuvent être basées sur les plus récents bas ou hauts de l’indicateur ZigZag à 6 cycles.
Mécanisme de confirmation multiple: Combine le croisement des moyennes mobiles, l’indicateur MACD, la forme de la courbe et le filtrage du temps pour former un système de négociation qui nécessite de satisfaire simultanément plusieurs conditions, ce qui réduit efficacement les faux signaux.
Le filtrage du temps est flexibleEn limitant les périodes de négociation spécifiques, la stratégie permet de se concentrer sur les caractéristiques comportementales du marché à des périodes spécifiques et d’éviter les périodes de négociation inefficaces.
Une gestion des risques claire: les paramètres de stop-loss et de stop-loss prédéfinis fournissent un cadre clair de contrôle des risques, le rapport de risque/rendement par transaction est de 1:2, ce qui favorise une performance stable à long terme.
Indicateurs techniques complémentairesLa courte courbe SMA capte les variations de prix en temps réel, la courbe intermédiaire EMA fournit une référence de tendance et la courbe MACD vérifie la dynamique. Les trois entrent en relation et améliorent la qualité du signal.
Ajustabilité des paramètres: La stratégie permet d’ajuster plusieurs paramètres clés, y compris les paramètres MACD, le nombre de points stop-loss et la taille du pip, afin de pouvoir s’adapter à différents marchés et types de transactions.
Risques liés à la surventeMalgré les conditions de filtrage multiples, les SMA à 3 cycles sont très sensibles et peuvent générer des signaux de croisement fréquents dans les marchés à la croisée des chemins, entraînant des transactions excessives et des frais de commission inutiles.
Limite de la fenêtre de temps: le trading sur une période donnée peut laisser passer des opportunités avantageuses à d’autres périodes, et la performance de la stratégie peut être considérablement réduite si les caractéristiques du marché changent pendant la période choisie.
Limitations de l’arrêt de dommages fixe: les arrêts de perte utilisant un nombre de points fixe peuvent ne pas s’adapter aux changements de la volatilité du marché, les arrêts de perte peuvent être trop petits pendant les périodes de forte volatilité et les arrêts de perte trop importants pendant les périodes de faible volatilité.
Les défauts de la tendanceCette stratégie est essentiellement tendancielle et peut entraîner des pertes continues en cas de fortes fluctuations ou de retournements de marché.
La double face de la pluralitéBien que la multiplicité des conditions puisse réduire le nombre de faux signaux, elle peut également entraîner la perte de certains signaux valides, en particulier dans les marchés rapides, où les points d’entrée optimaux peuvent avoir été dépassés lorsque toutes les conditions sont remplies.
Système d’arrêt des dommages dynamiquesConsidérez d’ajuster les niveaux de stop loss et stop loss en fonction de l’indicateur ATR ou de la volatilité du marché au lieu d’utiliser un nombre de points fixe pour mieux s’adapter aux conditions changeantes du marché.
Optimiser le filtrage du tempsIl est recommandé d’analyser les données historiques pour déterminer les périodes de temps où la stratégie a été la plus performante et il peut être nécessaire d’ajuster la fenêtre de temps de négociation en fonction des différents marchés ou saisons.
Augmentation du filtrage de volatilitéIntroduction d’indicateurs de volatilité tels que l’ATR ou la bande passante de Bollinger, afin de réduire les transactions ou d’ajuster les paramètres dans des environnements à faible volatilité afin d’éviter les signaux erronés dans le marché de la liquidation.
Amélioration de la stratégie de placementConsidérez la mise en œuvre de mécanismes de blocage partiel des bénéfices, par exemple en déplaçant les pertes au prix de revient ou en nettoyant les lots lorsque les prix atteignent un certain niveau de profit pour protéger les bénéfices déjà réalisés.
Élargissement de la période d’observationTest des stratégies dans des conditions de marché différentes et sur des périodes plus longues, afin d’assurer leur stabilité dans divers environnements de marché et d’éviter une adaptation excessive à des conditions de marché particulières.
Optimisation des paramètres du MACDIl est possible d’envisager d’optimiser les paramètres du MACD pour mieux s’adapter aux caractéristiques cycliques du marché cible, éventuellement en raccourcissant les cycles de la ligne rapide pour améliorer la vitesse de réponse.
La stratégie de négociation de confirmation de la dynamique MACD est un système de négociation à court terme bien conçu qui forme un mécanisme de confirmation de signal à plusieurs niveaux en combinant la croisée des moyennes mobiles, la confirmation de la dynamique, le filtrage temporel et l’identification de la forme de la courbe. Les principaux avantages de la stratégie résident dans ses mécanismes de confirmation multiples et son cadre de gestion du risque bien défini, mais elle est également confrontée à des défis d’excès de négociation et d’adaptation au marché.
/*backtest
start: 2024-06-30 00:00:00
end: 2025-06-28 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT","balance":50000000}]
*/
//@version=5
strategy("SMA3 / EMA10 + MACD (9-10pm COL) | SL 10 pips, TP 10 pips", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// === INPUTS ===
pipSize = input.float(0.01, "Tamaño del pip (0.01 para USDJPY)")
slPips = input.int(15, "Stop Loss (pips)")
tpPips = input.int(30, "Take Profit (pips)")
macdFast = input.int(12, "MACD Fast")
macdSlow = input.int(26, "MACD Slow")
macdSignal = input.int(9, "MACD Signal")
// === INDICADORES ===
sma3 = ta.sma(close, 3)
ema10 = ta.ema(close, 10)
[macdLine, signalLine, _] = ta.macd(close, macdFast, macdSlow, macdSignal)
macdCond = macdLine > signalLine
macdCondShort = macdLine < signalLine
// === HORARIO (UTC-5 / Colombia) ===
horaCol = hour(time, "America/Bogota")
enHorarioPermitido = (horaCol >= 21 and horaCol < 23) // De 9:00 PM a 10:00 PM COL
// === CONDICIONES DE VELA ===
esVelaVerde = close > open
esVelaRoja = close < open
// === CONDICIONES DE ENTRADA ===
longCondition = ta.crossover(sma3, ema10) and macdCond and enHorarioPermitido and esVelaVerde
shortCondition = ta.crossunder(sma3, ema10) and macdCondShort and enHorarioPermitido and esVelaRoja
// === ENTRADAS ===
if longCondition
strategy.entry("Long", strategy.long)
if shortCondition
strategy.entry("Short", strategy.short)
// === SALIDAS con SL y TP de 10 pips ===
sl = slPips * pipSize
tp = tpPips * pipSize
if strategy.position_size > 0
strategy.exit("TP/SL Long", from_entry="Long", stop=strategy.position_avg_price - sl, limit=strategy.position_avg_price + tp)
if strategy.position_size < 0
strategy.exit("TP/SL Short", from_entry="Short", stop=strategy.position_avg_price + sl, limit=strategy.position_avg_price - tp)
// === VISUAL ===
plot(sma3, color=color.blue, title="SMA 3")
plot(ema10, color=color.orange, title="EMA 10")