Rejoignez notre page de fans
- Vues:
- 14
- Note:
- Publié:
-
Besoin d'un robot ou d'un indicateur basé sur ce code ? Commandez-le sur Freelance Aller sur Freelance
Un compte de société de trading fonctionne selon un deuxième ensemble de règles dont MetaTrader 5 n'a pas connaissance : une perte maximale calculée à partir d'un solde initial fixe, une limite quotidienne qui se réinitialise à une heure que l'horloge du courtier ne reconnaît pas, un plafond de régularité des gains, un nombre minimum de jours de trading, une période d'interdiction d'accès aux actualités, une date butoir le vendredi. Enfreignez le premier ensemble de règles et vous perdez une transaction. Enfreignez le second et vous perdez le compte.
Cette bibliothèque est la forme source du mécanisme de protection qui se cache derrière. Elle se compile dans n’importe quel EA, vérifie huit règles sur un instantané figé du compte à chaque passage, et ne génère au maximum qu’une seule directive — jamais huit réactions distinctes à un seul incident. Elle ne prend aucune position en soi.

Contenu de l’archive
24 fichiers d’en-tête (.mqh), une classe de façade (CPropRulebook) et un Expert Advisor de démonstration (PropFirmDefense.mq5) qui relie la façade à un panneau sur le graphique. La démo est également publiée, compilée, en tant que produit gratuit sur le Market : PropFirm Defense. Cette entrée CodeBase correspond au même garde sous forme de code source, pour les lecteurs qui préfèrent les classes plutôt que le binaire.
Ce qu’il vérifie
- Huit règles à chaque passage: drawdown statique, drawdown glissant, perte journalière, objectif de profit, régularité des gains, nombre minimum de jours de trading, période d’interdiction d’information, position neutre le week-end.
- Un seuil de drawdown glissant qui se comporte comme dans la réalité — il augmente progressivement avec le pic, puis se fige définitivement une fois que le solde atteint la valeur de départ plus le trailing, à l’instar du fonctionnement réel des comptes à drawdown glissant.
- La réinitialisation quotidienne s’effectue dans le fuseau horaire de la société, et non à minuit chez le courtier, de sorte qu’une perte enregistrée de part et d’autre de la limite soit comptabilisée le jour correct.
- Les règles de versement ne clôturent jamais une position. Un problème de régularité ou de nombre minimum de jours bloque un retrait, mais ne met pas le compte en danger ; le système de surveillance le signale donc au lieu d’intervenir.

Fonctionnement
- Une observation par passage, partagée par toutes les règles, et au maximum une directive qui en découle. Huit règles enfreintes simultanément entraînent une seule action, et non huit.
- Fonctionne avec n’importe quoi: n’importe quel EA, trading manuel ou signal copié sur le compte. Il ne prend aucune position de son propre chef.
- L'état est conservé après un redémarrage. L'ancrage, le budget consommé et les verrous sont conservés ; ainsi, un redémarrage du VPS ne réinitialise pas la marge de drawdown.
- Vous pouvez définir vous-même chaque seuil, depuis la boîte de dialogue « Inputs », en vous appuyant sur des préréglages correspondant aux styles courants des sociétés de trading.

Architecture, pour les lecteurs souhaitant réutiliser les composants
CPropRulebook est la seule classe dont un appelant a besoin. Elle se compose de :
- CPropSnapshotBuilder — fige un instantané du compte par passage (capital, solde, positions, P/L flottant) afin que chaque règle évalue les mêmes chiffres.
- CRuleRegistry + CRuleCoordinator — contiennent les huit implémentations de IPropRule et synthétisent plusieurs verdicts en une seule directive au maximum.
- CProtectiveActionExecutor — la seule classe autorisée à modifier une position, et uniquement pour la liquider en cas de dépassement.
- CGuardStateStore — conserve le seuil minimal, les budgets consommés et les verrouillages après un redémarrage du terminal.
- CTerminalAlgoSwitch — un actionneur optionnel pour le bouton global « Algo Trading » du terminal. Il fonctionne en mode dégradé plutôt que de refuser de démarrer lorsque l’appel WinAPI dont il a besoin n’est pas disponible (version Market, Linux/Wine ou AllowDllImport=0).
Ce n’est pas une stratégie
Ce programme ne décide pas du moment d’entrée sur le marché et ne fait aucune promesse de rentabilité. Il répond à deux questions pour toute opération effectuée : puis-je ouvrir cette position maintenant, et ce compte présente-t-il actuellement un dépassement de limite?
Limitations, indiquées d’emblée
- Les valeurs prédéfinies constituent un point de départ, et non un engagement contractuel. Les règlements des sociétés de trading pour compte propre évoluent et varient selon les programmes et les niveaux hiérarchiques. Vérifiez chaque seuil par rapport à votre propre contrat.
- La règle « news » nécessite le calendrier économique du terminal. Elle ne s’applique pas lorsque ce calendrier n’est pas disponible, ce qui est le cas dans le Strategy Tester.
- CTerminalAlgoSwitch importe user32.dll lorsqu’il est compilé sans l’option « market-build » (PROP_MARKET_BUILD, activée par défaut dans la démo ci-jointe). Si vous compilez votre propre point d’entrée et avez besoin d’un chemin d’accès sans DLL (règles de marché, AllowDllImport=0, ou une plateforme sans WinAPI), définissez cette macro avant l’inclusion.
Contenu éducatif, et non conseil financier. Le trading comporte un risque de perte.
Traduit de l’anglais par MetaQuotes Ltd.
Code original : https://www.mql5.com/en/code/77156
Range compression percentile
Il classe la fourchette enregistrée jusqu'à présent pour la période en cours par rapport à l'ensemble de la distribution historique des fourchettes passées — il s'agit d'un véritable centile, et non d'une simple comparaison à la moyenne comme dans le cas de l'ADR% — et signale toute compression ou expansion statistique sur un panneau compact en temps réel à l'aide d'un indicateur de centile.
MT5 Symbol Changer Profit Display
EMTOrdersUtility est un utilitaire de suivi des transactions en temps réel et de changement de symbole, conçu pour les traders actifs qui ont besoin d'une visibilité en temps réel sur leurs positions ouvertes sur plusieurs instruments financiers.
GDS Renko Replay Trainer
GDS Renko Replay Trainer est un outil pédagogique gratuit permettant de s'entraîner à prendre des décisions manuelles sur des graphiques Renko historiques dans MetaTrader 5. Chargez un intervalle historique, relancez-le dans le temps et passez des ordres virtuels d'ACHAT ou de VENTE. Vous pouvez mettre en pause, avancer d’un tick ou passer à la brique Renko suivante terminée. Chaque position virtuelle dispose d’un stop loss et d’un take profit, et le simulateur enregistre les résultats de votre session. L’outil construit des briques Renko de taille fixe à partir des ticks historiques Bid/Ask, avec un renversement classique à deux briques. Les ticks futurs ne sont pas utilisés pour tracer le graphique visible ni pour exécuter des transactions virtuelles. Les transactions d’achat utilisent le cours « Ask » pour l’entrée et le cours « Bid » pour la sortie ; les transactions de vente utilisent les côtés opposés. Les ordres saisis sur le panneau attendent le prochain tick valide reproduit. Les stops et les cibles sont vérifiés à chaque tick, y compris en cas d’écarts de cours.
Smart Money Concept Expert Advisor - Market Strucutre, FVG, Pullback
This Expert Advisor trades fair value gaps in the direction of market structure, the way Smart Money Concepts describes it. It is the third step of a series that has been built one piece at a time: In previous shared codes, the SMC Pullback Indicator decided which highs and lows matter, the SMC Market Structure indicator turned those swings into a trend with BoS, CHoCH, IDM and liquidity sweeps, and this EA trades the result.