Rejoignez notre page de fans
- Vues:
- 70
- Note:
- Publié:
-
Besoin d'un robot ou d'un indicateur basé sur ce code ? Commandez-le sur Freelance Aller sur Freelance
1. Présentation générale
Le filtre de tendance Alpha-Beta est un indicateur de lissage prédictif issu de la théorie du contrôle et du traitement numérique du signal. D’un point de vue conceptuel, il fonctionne comme un filtre de Kalman simplifié en régime permanent. Alors que les moyennes mobiles standard (SMA, EMA, LWMA) se basent strictement sur la moyenne des données passées — et accusent donc intrinsèquement un décalage par rapport à l'évolution en temps réel des cours —, le filtre Alpha-Beta estime activement le « vrai » cours actuel et la vitesse de la tendance tout en éliminant le bruit du marché.
Cette implémentation MQL5 spécifique améliore l’indicateur classique à ligne unique en intégrant un tableau de bord matriciel multi-symboles et multi-périodes. Elle permet aux traders de surveiller la tendance Alpha-Beta sur l’ensemble d’un portefeuille directement à partir d’un seul graphique, avec une mise à jour dynamique à chaque tick.
2. Le moteur mathématique
Le filtre fonctionne de manière itérative sur chaque nouvelle barre de cours. Il s'appuie sur deux coefficients de réglage principaux :
-
$\alpha$ (alpha) : le coefficient de sensibilité au cours. Il contrôle le poids attribué à la nouvelle observation brute du cours par rapport à la prévision interne du filtre.
-
$\beta$ (bêta) : le coefficient de sensibilité à la vitesse. Il contrôle la réactivité aux variations de l'élan de la tendance.
L'algorithme s'exécute en deux phases distinctes par barre :
Phase 1 : l'étape de prédiction
Avant la clôture de la barre actuelle, le filtre prévoit le cours actuel ($\hat{P}_{t}$) et la vélocité ($\hat{V}_{t}$) en fonction de l'état calculé de la barre précédente :
Phase 2 : l'étape de mise à jour
Une fois que le cours de clôture réel ($Z_{t}$) est connu, le filtre calcule l'erreur/le résidu ($E_{t}$) entre sa prévision et la réalité, puis met à jour son état interne :
Où :
-
$Z_{t}$: cours de clôture réel de la barre actuelle.
-
$P_{t}$: estimation de cours actualisée et lissée (représentée sur le graphique).
-
$V_{t}$: vitesse actualisée (utilisée pour déterminer la tendance haussière ou baissière).
3. Principales caractéristiques de cette implémentation
-
Lissage prédictif sans décalage : la ligne principale de l’indicateur suit l’évolution des cours de bien plus près que les moyennes mobiles exponentielles (EMA) traditionnelles, ce qui en fait une excellente base pour les stratégies de croisement rapide.
-
Tracé dynamique avec code couleur : la ligne principale du graphique utilise la fonction DRAW_COLOR_LINE pour basculer automatiquement entre le bleu (vitesse haussière) et le rouge (vitesse baissière) en fonction de l'état interne de $V_{t}$.
-
Tableau de bord matriciel non intrusif : une interface graphique intégrée au graphique suit l’état de la tendance (haussière, baissière, en attente) sur un maximum de 5 périodes de temps, pour une liste de symboles externes définie par l’utilisateur.
-
Gestion allégée des ressources : les symboles externes et les périodes de temps du tableau de bord ne chargent pas l’historique complet. Le script n’extrait que le nombre minimal de barres nécessaires via CopyClose() pour calculer l’état en temps réel, ce qui évite tout ralentissement du terminal.
4. Explication des paramètres d’entrée
Paramètres du moteur de filtrage
-
inpAlpha (par défaut : $0,2$) : la plage est généralement comprise entre $0,1$ et $0,9$. Une valeur $\alpha$ élevée suit de près le cours brut (idéal pour le scalping) ; une valeur $\alpha$ faible lisse fortement la courbe pour ignorer les fluctuations latérales (plus adapté au swing trading).
-
inpBeta (par défaut : $0,05$) : la plage est généralement comprise entre $0,01$ et $0,5$. Une valeur $\beta$ plus élevée réagit de manière agressive aux changements soudains de momentum. Une valeur $\beta$ très faible suppose une tendance stable et inébranlable.
Paramètres de la grille du tableau de bord
-
inpSymbols (par défaut : « EURUSD,GBPUSD,USDJPY,AUDUSD ») : chaîne de caractères séparée par des virgules contenant les symboles que vous souhaitez suivre. Le code analyse automatiquement cette chaîne à l’aide de la fonction StringSplit().
-
Commutateurs de période (de showM5 à showD1) : entrées booléennes qui vous permettent de personnaliser les colonnes affichées sur votre tableau de bord matriciel.
5. Architecture et points forts du code
À l’attention des développeurs MQL5 qui examinent le code source, veuillez noter les choix structurels suivants :
-
Indexation des séries chronologiques : MQL5 indexe nativement les tableaux du plus ancien au plus récent. Afin de s'aligner sur la logique de trading standard (où [0] correspond à la barre en temps réel actuelle), le code utilise de manière intensive la fonction ArraySetAsSeries(buffer, true) pour tous les tampons d'indicateurs et les tableaux récupérés.
-
Aide à l’extraction d’état : la fonction GetStateForTarget() est une boucle autonome utilisée par le tableau de bord. Elle récupère 50 barres de cours de clôture pour le symbole/la période cible, initialise le moteur de prédiction et renvoie un état sous forme d’entier (0 pour une tendance haussière, 1 pour une tendance baissière) sans nécessiter d’appels externes à iCustom.
-
Désinitialisation propre des objets : la fonction OnDeinit() parcourt le préfixe de l’interface utilisateur (AB_Matrix_) pour s’assurer que toutes les étiquettes graphiques sont effacées du graphique dès que l’indicateur est supprimé.
6. Applications de trading
-
Configuration pour le scalping : essayez un $\alpha$ de 0,45 et un $\beta$ de 0,12. La ligne à code couleur changera rapidement de sens, ce qui vous permettra de repérer les micro-tendances sur les graphiques M1 ou M5.
-
Configuration pour le swing macro : réduisez les valeurs à un $\alpha$ de 0,15 et un $\beta$ de 0,02. L’indicateur s’aplatira en période de bruit intrajournalier, vous permettant de rester en position jusqu’à ce qu’un véritable changement de vitesse macroscopique se produise.
-
Confluence matricielle : utilisez le tableau de bord pour n’effectuer des transactions sur votre graphique actuel que lorsque les cellules H1, H4 et D1 de ce symbole spécifique sont parfaitement alignées dans la même couleur.
Traduit de l’anglais par MetaQuotes Ltd.
Code original : https://www.mql5.com/en/code/74958
Multi-Timeframe FVG Depth Meter
Scans multiple timeframes for unfilled Fair Value Gaps, plots them as zones directly on your chart, and tracks local bull/bear imbalance depth with a histogram and live dashboard.
Session Sweep Reversal Detector
arks the prior session's high/low and flags liquidity sweeps that reverse back inside the range within a set number of bars." — category Other, or Trend if you'd rather group it that way.
Trend Flasher -AKM
Un tableau de bord « Super Trend » multidevises et multisymboles
Trade Transaction Trace Logger MT5
Read-only OnTradeTransaction logger that records MT5 order, deal and position lifecycle events to local CSV and the Experts Journal.
