Experts: Session Range Desk MT5

Session Range Desk MT5:

EA de breakout sur une plage de séance avec filtrage ATR, calcul de la distance du stop, option de clôture à seuil de rentabilité ou clôture partielle, et un tableau de bord partagé. Comptes de couverture ; ressource pédagogique avec documentation sur les limites d'exécution et de coordination.

Session Range Desk MT5

Author: Erdem Mumin Kaynak

Dans l'ensemble, l'approche d'évaluation des risques est judicieuse, en particulier l'utilisation de la fonction « OrderCalcProfit() » et les vérifications des paliers de volume et des lots minimums imposés par le courtier. Je recommande de régler les points suivants avant de considérer que l’EA est apte à fonctionner en mode automatique. Priorité élevée 1. Corriger le calcul du lot directionnel : la fonction « CalcLot() » doit utiliser le type d’ordre réel, le cours d’entrée et le cours stop. Actuellement, le calcul repose sur une relation de prix dérivée des niveaux « ACHAT » et « COURS VENDEUR », même lorsque la transaction finale est une « VENTE ». Interface suggérée : CalcLot(typeD’ordre, prixD’entrée, prixStop, risqueCible). Appeler ensuite « OrderCalcProfit() » en utilisant les paramètres réels d’« ACHAT » ou de « VENTE ». Ceci est particulièrement important pour les CFD, les métaux, les indices et les instruments présentant des caractéristiques de tarification/conversion non triviales. 2. Rendre atomique la réservation de risque au poste de travail : « MaxDailyRiskPct » effectue actuellement une séquence lecture/vérification/mise à jour qui n’est pas atomique. Deux postes de travail peuvent simultanément voir le risque disponible et passer tous deux un ordre, ce qui entraîne un dépassement de la limite du poste de travail pour l’exposition planifiée combinée. Envisager la mise en œuvre de la séquence suivante : verrouillage → lecture → validation → réservation → déverrouillage → exécution → rapprochement avec délai d’expiration/récupération pour les ordres ayant échoué. D’ici là, « MaxDailyRiskPct » doit clairement rester décrit comme un seuil de risque prévu partagé, et non comme une limite d’exposition stricte. 3. Corriger la gestion de l’état de clôture en fin de journée (EOD) Ne pas marquer la clôture en fin de journée comme ayant été effectuée avec succès lorsque le courtier rejette la clôture. Distinction d’état recommandée : Clôture en fin de journée demandée Clôture en fin de journée réussie Clôture de fin de journée (EOD) échouée → réessayer Ne marquer l’action comme terminée qu’après avoir confirmé que la position correspondante est effectivement clôturée. Priorité moyenne 4. Distinguer le risque prévu de la perte quotidienne réelle Le panneau/la documentation gagnerait à distinguer : - Risque lié au SL initial ouvert - P/L quotidien réalisé - Limite de perte quotidienne. Ces éléments représentent des concepts de risque différents. 5. Ajouter une protection optionnelle contre les pertes quotidiennes et la valeur du capital. Si une protection du compte est souhaitée, ajouter un mécanisme distinct « MaxDailyLossPct » plutôt que d’utiliser « MaxDailyRiskPct » à cette fin. Il devrait persister après les redémarrages et empêcher de nouvelles entrées une fois la limite atteinte. 6. Améliorer l’état des clôtures partielles. Distinguer entre : - clôture réussie - rejetée par le courtier - volume ne pouvant pas être fractionné - déjà exécutée. Cela rendrait la récupération et les diagnostics plus fiables. 7. Améliorer la persistance après redémarrage et le verrouillage journalier. Conserver et rapprocher l’état des entrées quotidiennes par rapport aux positions réelles du courtier après le redémarrage afin d’éviter les scénarios de doublons. Documentation : je suggère d’indiquer explicitement : « "RiskPercent" représente l’exposition initiale prévue au stop-loss dans des conditions d’exécution normales. Il ne garantit pas une perte maximale sur le compte. "MaxDailyRiskPct" est un seuil d’exposition planifiée partagé, et non un stop sur le capital total du compte ou sur les pertes quotidiennes. Le spread, les commissions, le slippage, les écarts de cours, l’arrondi des volumes, les signaux simultanés et les échecs d’exécution peuvent entraîner des écarts par rapport à l’exposition ou à la perte réelle. » Ordre de priorité Si seules quelques modifications peuvent être apportées pour la prochaine version : 1. Correction du calcul des lots ACHAT/VENTE 2. Réservation atomique du risque de bureau 3. Clôture en fin de journée (EOD) confirmée et réessayable 4. État persistant de redémarrage/d’entrée de la journée 5. Protection optionnelle stricte contre les pertes quotidiennes et de capital La conception sous-jacente est adaptée à un EA éducatif et open source ; ces modifications rendraient les contrôles de risque considérablement plus robustes et plus faciles à comprendre.