Rejoignez notre page de fans
Contract Sizer: ladder, floor and a breaker that survives a deposit - bibliothèque pour MetaTrader 5
- Vues:
- 6
- Note:
- Publié:
-
Besoin d'un robot ou d'un indicateur basé sur ce code ? Commandez-le sur Freelance Aller sur Freelance
ContractSizer.mqh détermine la taille des contrats en fonction du solde du compte, en intégrant trois mécanismes de protection distincts : un « ladder » (un contrat par facteur du solde, toujours plafonné), un « floor » (aucune transaction en dessous du capital minimum) et un « breaker » (qui s'arrête à une fraction du pic du solde et ne se réactive pas automatiquement).
Les dépôts et les retraits sont lus à partir de l'historique des transactions (DEAL_TYPE_BALANCE) et décalent le pic du même montant ; ainsi, un dépôt effectué pendant une baisse ne masque pas cette dernière. Le pic est enregistré dans le dossier MQL5\Files et est conservé même après un redémarrage du terminal.
Constructeur : CContractSizer(factor = 3000.0, maxContracts = 500, minContracts = 1, minCapital = 1500.0, maxDD = 0.0, peakFile = "contract_sizer_peak.txt") . Utilisation : appelez ContractsToday(TimeLocal()) à chaque tick ; le recalcul n’a lieu qu’au changement de jour. La fonction CapByBalance() s’applique même avec des lots manuels. La fonction Rearm() correspond à une décision manuelle.
Paramètres de la démo : InpBalancePerContract = 3 000, InpMinCapital = 1 500, InpMaxDrawdown = 0,20, InpDemoDeposit = true.
La démo affiche une courbe simulée sur 12 jours (solde / pic / baisse / contrats / événement) avec un dépôt effectué au plus bas de la baisse, puis exécute la classe réelle sur le compte ouvert. Exécutez-la avec InpDemoDeposit activé puis désactivé et comparez la colonne « baisse ».
Limite : le dimensionnement des positions ne crée pas d’avantage ; il ne fait que multiplier l’avantage existant. Aucune transaction n’est effectuée.
Traduit de l’anglais par MetaQuotes Ltd.
Code original : https://www.mql5.com/en/code/77079
Position sizing from risk, using the broker's own tick value and volume step
La taille de la position est calculée à partir d'un montant de risque, lui-même déterminé en fonction de la valeur réelle du tick du symbole, de la taille du tick et du pas de volume, plutôt qu'à partir d'une valeur de pip supposée. Le volume est toujours arrondi à l'unité inférieure, et lorsque votre risque est inférieur au lot minimum, le programme vous le signale et indique le coût réel de ce lot. Aucun état du terminal n'est requis, ce qui permet de tester la logique de calcul de la taille de la position hors ligne — un script de test comportant 41 assertions est fourni.
Session Range Breakout: Asia, London and New York high/low levels
Session Range Breakout draws the high and low of up to three intraday sessions (Asia, London and New York by default) and extends each level to the right with optional H/L labels and a range rectangle. Session hours, names and colours are configurable in server time. Optional popup, sound and push alerts fire when a bar closes outside a session range. The levels are fixed once the session closes, so the drawing does not repaint. The indicator draws chart objects only and never opens trades.
Non-Repainting Fair Value Gap Detector
Non-repainting three-bar Fair Value Gap detector for MetaTrader 5. Closed-bar detection, the 50% Consequent Encroachment level, mitigation as an explicit state machine, incremental scanning, and a built-in self-audit that re-checks the stored gap levels against the closed-bar series on attach. Pure native MQL5, no DLLs, no external dependencies.
GM Matrix Monitor — read-only risk dashboard for your EA matrix
Read-only panel showing per-magic net P/L, account drawdown, daily-loss breaker progress and freeze/liquidate thresholds. Does NOT trade.