Rejoignez notre page de fans
- Vues:
- 63
- Note:
- Publié:
-
Besoin d'un robot ou d'un indicateur basé sur ce code ? Commandez-le sur Freelance Aller sur Freelance
Expert Advisor « Nikkei 225 Gap Continuation »
L'Expert Advisor « Nikkei 225 Gap Continuation » est un outil pédagogique pour MetaTrader 5. Il analyse l'écart d'ouverture de la séance au comptant du Nikkei 225 et recherche des opportunités de trading de continuation après la formation d'une première fourchette de prix. La stratégie peut traiter aussi bien les écarts haussiers que baissiers et utilise le VWAP de la séance comme filtre de confirmation supplémentaire.
Le programme inclut le dimensionnement automatique des positions, la protection contre le spread, la prise de bénéfices partielle, la gestion du seuil de rentabilité et une sortie de sécurité basée sur le temps. Il prend en charge à la fois les comptes de compensation et les comptes de couverture. Toutes les décisions importantes peuvent être affichées sur le graphique et consignées dans le journal des experts pour analyse.
Présentation de la stratégie
Au début de chaque journée de trading, l’EA calcule l’horaire effectif de la séance au comptant. En mode automatique, l’heure standard du Japon est convertie en heure du serveur Darwinex, en tenant compte de l’ajustement de l’heure d’été du serveur. Un mode manuel d’heure du serveur est également disponible pour d’autres courtiers.
L’EA récupère le cours de clôture de la session au comptant précédente et le compare au cours d’ouverture de la session en cours. Si l’écart d’ouverture absolu est inférieur au seuil configuré, aucune configuration n’est créée. Un écart haussier peut déclencher une configuration d’ACHAT, tandis qu’un écart baissier peut déclencher une configuration de VENTE.
Après l’ouverture de la séance, l’EA établit une fourchette d’ouverture à partir de barres d’une minute. Il calcule également le VWAP de la séance en utilisant le volume réel lorsqu’il est disponible et le volume par tick à défaut. Une configuration est annulée si plus de la moitié de l’écart d’ouverture initial est comblé avant l’entrée.

Figure 1. Processus de décision utilisé par le conseiller expert.
Conditions d’entrée
Pour une transaction d’ACHAT, la séance doit s’ouvrir sur un écart haussier éligible. Le cours doit ensuite franchir à la hausse le plus haut de la fourchette d’ouverture et rester au-dessus du VWAP de la séance en cours. Le stop-loss est placé sous le plus bas de la fourchette d’ouverture, en incluant la marge de sécurité optionnelle et la distance minimale de stop imposée par le courtier.
Pour une opération de VENTE, la séance doit s’ouvrir sur un écart baissier éligible. Le cours doit passer sous le plus bas de la fourchette d’ouverture et rester en dessous du VWAP. Le stop-loss est placé au-dessus du plus haut de la fourchette d’ouverture. Une seule entrée de stratégie est autorisée par jour de négociation.
- Écart haussier : opération d’ACHAT en cas de cassure au-dessus de la fourchette d’ouverture et du VWAP.
- Écart baissier : VENTE en cas de cassure en dessous de la fourchette d’ouverture et du VWAP.
- Le gap doit rester comblé à moins de 50 % avant l’entrée.
- Le spread doit satisfaire aux deux filtres de spread configurés.
- La cassure doit se produire avant l’heure limite d’entrée.

Figure 2. Exemple de configuration de poursuite de gap baissier avec entrée et sortie VENTE.
Gestion des risques et des positions
Par défaut, la taille de la position est calculée à partir des fonds propres du compte, du pourcentage de risque sélectionné et de l’écart de prix entre l’entrée et le stop-loss. L’EA appelle la fonction OrderCalcProfit afin que la perte estimée par lot soit exprimée dans la devise du compte. Cela s’avère utile pour les CFD sur indices dont la valeur du tick et la devise de cotation peuvent varier d’un courtier à l’autre.
Une taille de lot fixe peut être sélectionnée à la place d’un dimensionnement basé sur le risque. Le volume calculé est toujours arrondi à l’unité inférieure correspondant au pas de volume du courtier et vérifié par rapport aux volumes minimum et maximum. Si le lot minimum du courtier venait à dépasser le risque autorisé, la configuration quotidienne est annulée.
Lorsque le cours atteint l’objectif partiel, l’EA clôture le pourcentage configuré de la position. Il peut ensuite déplacer le stop-loss au prix d’entrée. La position restante est gérée en vue de l’objectif final R-multiple ou clôturée avant la fin de la séance de négociation.
Principaux groupes de paramètres
| Groupe de paramètres | Objectif |
|---|---|
| Session au comptant | Mode de durée de la séance, horaires de la séance au comptant, durée de la fourchette d’ouverture, heure limite d’entrée et sortie forcée. |
| ACHAT - écarts haussiers | Active les configurations d’ACHAT et définit l’écart haussier minimum à l’ouverture. |
| VENTE - écarts baissiers | Active les configurations de VENTE et définit l'écart d'ouverture baissier minimal. |
| Filtres de signaux courants | Source de volume, spread maximal, filtre dynamique « spread-to-stop » et marge de sécurité pour le stop. |
| Risque d'ACHAT / Risque de VENTE | Paramètres distincts de risque sur le capital et option de réduction du risque pour les écarts baissiers plus faibles. |
| Volume et sorties | Lots fixes, lots maximaux, clôture partielle, cibles R-multiples et gestion du seuil de rentabilité. |
| Exécution | Numéro magique, glissement, état du graphique et options du journal de diagnostic. |
Exemple de code : calcul de l’écart d’ouverture
L'écart d'ouverture est mesuré en pourcentage de la clôture de la séance au comptant précédente. Le signe du résultat détermine si l'EA évalue la branche ACHAT ou VENTE.
g_gap_percent=(g_session_open_px/g_previous_close-1.0)*100.0; double minimum_gap=(g_gap_percent>0.0 ? InpMinimumBuyGapPercent : InpMinimumSellGapPercent); if(MathAbs(g_gap_percent)<minimum_gap) { g_cancelled=true; return(false); }
Exemple de code : confirmation de cassure et VWAP
Le filtre d’entrée spécifique à la direction exige que le cours franchisse le côté approprié de la fourchette d’ouverture tout en restant du bon côté du VWAP.
// BUY confirmation if(!(tick.bid>g_range_high && tick.bid>g_vwap)) return; // SELL confirmation if(!(tick.ask<g_range_low && tick.ask<g_vwap)) return;
Exemple de code : volume basé sur le risque
Le risque monétaire demandé est divisé par la perte estimée par lot. Le résultat est ensuite normalisé par rapport à l’incrément de volume du symbole et limité par le paramètre optionnel de lot maximum.
double risk_money=AccountInfoDouble(ACCOUNT_EQUITY)*risk_percent/100.0; if(OrderCalcProfit(order_type,_Symbol,1.0,entry,stop,calculated_profit)) loss_per_lot=MathAbs(calculated_profit); g_last_raw_volume=risk_money/loss_per_lot; if(InpMaxLots>0.0) g_last_raw_volume=MathMin(g_last_raw_volume,InpMaxLots); return(NormalizeVolumeDown(g_last_raw_volume));
Installation et utilisation
- Copiez le fichier MQ5 dans le répertoire MQL5\Experts.
- Ouvrez le fichier dans MetaEditor, lancez Styler et compilez-le.
- Associez l'EA au symbole du courtier correspondant à l'indice Nikkei 225.
- Utilisez la période M5 pour la configuration par défaut fournie.
- Vérifiez les spécifications du contrat du symbole et les horaires de la session de négociation.
- Sélectionnez la conversion automatique en JST ou configurez manuellement l'heure du serveur.
- Vérifiez les paramètres de risque, de volume, de spread et de sortie.
- Activez le trading algorithmique et testez les paramètres dans le Strategy Tester.
Considérations relatives au courtier et aux tests
Les noms des symboles du Nikkei 225, la précision des cotations, les valeurs de tick, le volume minimum et les sessions de trading varient d’un courtier à l’autre. La conversion automatique par défaut des sessions a été conçue pour le calendrier du serveur Darwinex. Les utilisateurs d’autres courtiers doivent vérifier les paramètres manuels des sessions avant de lancer un test.
L’EA empêche toute nouvelle entrée lorsqu’une autre position existe déjà sur le même symbole. Il stocke les données essentielles de gestion des positions dans les variables globales du terminal afin que la gestion des clôtures partielles et du seuil de rentabilité puisse être restaurée après une reconnexion ou un redémarrage du terminal.
Les tests historiques sont sensibles à la qualité des données, aux hypothèses de spread, aux spécifications des contrats et aux définitions de session. Les résultats des backtests ne garantissent pas les performances futures. Ce code source est fourni à des fins pédagogiques et de recherche, et il incombe à chaque utilisateur de le valider dans ses propres conditions de trading.
Auteur
Développé par Francesc Jordi Mallol Nolden. Le code source est publié à titre d’exemple pédagogique complet d’une stratégie d’ouverture de gap basée sur les sessions pour MetaTrader 5.
Traduit de l’anglais par MetaQuotes Ltd.
Code original : https://www.mql5.com/en/code/75301
Draw On Liquidity + Kill Zone
L'indicateur « Draw On Liquidity » (DOL) trace automatiquement ces niveaux essentiels sur votre graphique et met en évidence les opportunités de trading à forte probabilité de succès au sein des « kill zones » de la séance. Grâce à ses options de personnalisation complètes, il offre un affichage épuré, professionnel et très instructif pour vous aider à prendre de meilleures décisions de trading.
BlueMoon
BlueMoon EA est un Expert Advisor MT5 qui associe des points d'entrée basés sur l'enveloppe EMA à une gestion adaptative du panier, un dimensionnement progressif des positions, un filtrage des spreads, une protection contre les baisses et une récupération automatique des transactions pour les comptes de couverture.
Asian Session Breakout / BhanuCodeLab
L'indicateur « Asian Session Breakout » identifie la fourchette de prix formée pendant la séance asiatique et suit l'évolution des cours après la fin de cette séance. Les plus hauts et les plus bas asiatiques restent valables jusqu'à la fin de la journée de trading du courtier. Cette fourchette s'avère donc utile comme zone de support et de résistance intrajournalière pendant les séances européennes et américaines. Un tableau de bord compact affiche les valeurs actuelles de la fourchette, la durée de la séance configurée, l'état de la cassure, la méthode de confirmation de la cassure et la période de confirmation. L'indicateur n'ouvre ni ne gère de positions. Il fournit des informations sur la structure du marché et les cassures pour le trading discrétionnaire ou le développement d'EA.
Basket Protective Close
Closes a basket of positions when its floating loss reaches a limit set as fixed money, a percent of balance, or a percent of equity. Scope filters by symbol or magic numbers, optional profit target, safe non blocking retries.
