Rejoignez notre page de fans
- Vues:
- 127
- Note:
- Publié:
-
Besoin d'un robot ou d'un indicateur basé sur ce code ? Commandez-le sur Freelance Aller sur Freelance
Indicateur SuperTrend — Description détaillée
Une implémentation complète de l’indicateur SuperTrend pour MetaTrader 5, conçue à partir des principes fondamentaux plutôt qu’adaptée à partir d’un modèle existant. L’indicateur combine trois concepts fondamentaux : une enveloppe pondérée par la volatilité dérivée de l’ATR (Average True Range), un mécanisme à cliquet qui ne fait que resserrer la bande en faveur de la tendance plutôt que de fluctuer à chaque nouvelle barre, et un indicateur de tendance binaire qui ne bascule que lorsque le cours clôture réellement au-delà de la bande du côté opposé.
Ce qui distingue cette implémentation, c’est la manière dont son état récursif interne est géré. Plutôt que de stocker la mémoire de la bande dans des tableaux simples gérés manuellement — une source courante de bugs subtils où l’état peut se réinitialiser silencieusement ou perdre sa continuité d’une barre à l’autre —, les valeurs internes de la bande supérieure, de la bande inférieure et du drapeau de tendance sont enregistrées en tant que véritables tampons de calcul de l’indicateur (INDICATOR_CALCULATIONS). Cela confie la gestion de leur taille et de leur persistance d’une barre à l’autre au terminal lui-même, éliminant ainsi toute une catégorie de bogues qui pourraient autrement entraîner un comportement erratique de la ligne SuperTrend, en particulier lors des backtests.
L’indicateur utilise un indexage cohérent des séries tout au long de son fonctionnement, avec un processus d’initialisation délibéré lors du premier chargement qui établit l’état récursif à partir de la barre utilisable la plus ancienne de l’historique disponible, plutôt que de supposer des valeurs nulles ou par défaut. Les flèches d’achat et de vente ne sont tracées qu’après confirmation d’un renversement de tendance sur une barre qui ne risque plus d’être retraité — un détail mineur mais important qui empêche une flèche d’apparaître puis de disparaître au tick suivant, ce qui est un bug visuel courant dans les implémentations moins soignées.
Cet indicateur a été développé, revu et perfectionné au cours de plusieurs cycles de révision technique dans le cadre de la série d’articles « Créer des indicateurs personnalisés pour les débutants », où chaque choix de conception — y compris un bug réel et documenté dans une version antérieure ainsi que sa correction — est expliqué en détail. Il est proposé ici sous la forme d’une implémentation SuperTrend épurée, autonome et sans rafraîchissement, adaptée à une utilisation directe ou comme référence pour toute personne souhaitant créer ses propres indicateurs de tendance personnalisés en MQL5.
Traduit de l’anglais par MetaQuotes Ltd.
Code original : https://www.mql5.com/en/code/76408
Fisher Transform Indicator
Un oscillateur à transformée de Fisher élaboré à partir des principes statistiques fondamentaux : il normalise le cours dans une fourchette délimitée, puis applique une transformée logarithmique afin de générer des signaux de retournement nets et bien définis, contrairement aux inversions progressives caractéristiques des oscillateurs classiques. L'état récursif interne est géré à l'aide de tampons de calcul adaptés, garantissant un comportement fiable et correct lors des backtests. Extrait de la série d'articles « Créer des indicateurs personnalisés pour les débutants ».
Position sizing from risk, using the broker's own tick value and volume step
Position size from a risk amount, computed from the symbol's real tick value, tick size and volume step rather than an assumed pip value. It always rounds volume down, and when your risk is smaller than the minimum lot it says so and reports what that lot actually costs. No terminal state, so the sizing logic is testable offline - a 41-assertion test script is included.
CSetupLedger: a per-setup win rate ledger for Expert Advisors
Scores every setup type in your EA on its own record instead of lumping them into one equity curve. Rebuilds itself from the account's deal history on init so a restart cannot wipe the record. Prints a Wilson score lower bound next to the raw win rate so a three trade hot streak stops looking like an edge.
RegimeRouter — trend/range classifier with a per-regime win rate ledger
Classifies the market with ADX, the Hurst exponent and lag-1 autocorrelation, routes each bar to a breakout module or a mean-reversion module, and keeps a separate win rate ledger for each regime with a Wilson 95% lower bound, so you can see which half of it is actually working.
