Le guide de synchronisation EMA–RSI devient une spécification complète et figée. Un repli valide autorise une seule décision d’entrée, sans attendre indéfiniment une confirmation, un spread réduit ou une nouvelle tentative.
1. Figer un modèle de recherche complet
Utilisez EURUSD · M5 · Bid OHLC · Close, un compte USD et des bougies clôturées. Les EMA orientent le sens; le RSI fournit un nouveau repli puis une reprise. Ce candidat reproductible ne revendique ni taux de réussite, ni rendement attendu, ni paramètres optimaux. Un signal graphique ne prouve pas qu’un ordre était exécutable.
Une seule position propre ou demande d’entrée non résolue par symbole. Aucun renforcement, moyennage, hedge, sortie partielle, stop suiveur ou passage au seuil de rentabilité. Ignorez les replis pendant une position ou une demande; après sortie confirmée, attendez un nouveau repli indépendant. Une donnée requise manquante annule l’observation : reconstruisez un historique continu avant un nouvel épisode.
2. Fixer les entrées, initialisations et comparaisons
Initialisez E_n(n−1)=mean(C[0...n−1]) puis appliquez E_n(k)=E_n(k−1)+2/(n+1)*(C(k)−E_n(k−1)). Pour RSI14, U et D commencent par la moyenne des hausses et baisses des variations 1...14, puis U=(13U_prev+up)/14; D=(13D_prev+down)/14. Définissez RSI=100U/(U+D) : D seul nul donne 100, U seul nul 0, les deux nuls 50 selon notre convention.
EMA20 commence à k19, EMA50 à k49 et RSI à k14; la pente est exploitable à k52. Lisez les buffers terminés avec shift=1 et leurs précédents avec shift=2; décalage graphique nul. Les fractions exactes précèdent l’export décimal. Un autre historique initial peut changer les valeurs, sans parité garantie avec un terminal. Contrat, tick et contraintes de lots du tableau sont des hypothèses fictives à vérifier.
| Élément | Référence déclarée | Rôle / hypothèse |
|---|---|---|
| Prix et entrées | EURUSD · Bid · M5 · Close | EMA20 / EMA50 · RSI14 |
| Contrat et grille | pip=0.0001 · tick=0.00001 | 100000 EUR · 10 USD/pip/lot |
| Limites du compte | 0.25% · 1% · 2 | Budget par entrée · seuil quotidien · demandes/jour |
3. BUY : nouveau repli et reprise limitée
Exigez T+=[E20>E50 AND E50(k)>E50(k−3)]. Une origine P fraîche demande RSI_prev>45 AND 35≤RSI(P)≤45, T+ valide et aucune origine active. Rester dans la bande ne crée pas un nouveau repli. À chaque bougie suivante, annulez d’abord si le contexte échoue, puis si RSI<35; expirez si k>P+3, puis seulement qualifiez le nouveau croisement RSI_prev≤50 AND RSI>50.
Seules P+1, P+2 et P+3 sont admissibles. Un autre repli pendant P ne prolonge pas l’échéance. Qualification, annulation ou expiration consomme P; la même bougie traitée ne réarme rien. Un repli indépendant ultérieur peut recommencer si toutes les conditions repassent. Comparez les valeurs avant arrondi.
4. SELL : symétrie du signal, précision des côtés
Exigez T−=[E20<E50 AND E50(k)<E50(k−3)] et le nouveau repli RSI_prev<55 AND 55≤RSI(P)≤65. Annulez d’abord sur perte du contexte, puis RSI>65; expirez après P+3. Seul le croisement frais RSI_prev≥50 AND RSI<50 dans les trois bougies qualifie. Consommation et réarmement suivent les mêmes règles.
SELL entre à Bid et sort à Ask; BUY fait l’inverse. Le stop SELL est un seuil numérique Ask calculé à partir des plus hauts des bougies Bid clôturées, pas un sommet Ask historique observé. Les OHLC Bid ne reconstruisent ni le trajet Ask, ni les variations de spread, ni l’ordre intrabougie.
5. Limiter horaires, compte et exposition quotidienne
Qualifications seulement à 07:00≤q UTC<09:30; clôture imposée à 10:00 UTC. Ce sont des heures UTC fixes, sans assimilation à Londres corrigée de l’heure d’été. Documentez la conversion du serveur. Détection sous 1s; cotation horodatée au plus tôt à q et âgée de 250ms au maximum lors de l’envoi. La précision milliseconde exige des enregistrements adaptés et une horloge monotone, pas des secondes serveur artificiellement détaillées.
Maximum 2 transmitted entry requests/day, refus et timeouts compris. Un refus préalable consomme q sans tentative transmise. Vérifiez les fonds propres initiaux Eday : à 0.99*Eday, bloquez les entrées et fermez l’exposition propre à la première cotation valide. Base inconnue, flux de trésorerie ou compte non rapproché suspendent le modèle. Réinitialisez le jour uniquement sans position et après rapprochement. Aucun filtre automatique d’actualités n’est inclus.
| Étape | Délai / fenêtre | Action |
|---|---|---|
| q | 07:00 ≤ UTC < 09:30 | Heures de qualification |
| q+1s | ≤1000 ms | Détection au plus tard |
| q+2s | ≤2000 ms · age≤250 ms | Une demande maximum |
| q+6×M5 / 10:00 | min(q+30min, 10:00 UTC) | Sortir à la première cotation |
6. Figer stop et objectif dès la première cotation
Soit d=abs(E0−S)/pip, avec 3≤d≤12. Prenez les extrêmes Bid terminés de P à q, ajoutez un pip et arrondissez vers l’extérieur au tick. Les côtés sont définis au tableau. Ne recentrez pas les niveaux après exécution. L’objectif vaut deux fois la distance brute de référence, sans garantir 2R nets.
Tolérance d’entrée défavorable 0.2pip=2points : BUY Fmax=Ask_ref+0.2pip, SELL Fmin=Bid_ref−0.2pip. Ajoutez une fois commission aller-retour 0.6 pip et réserve d’exécution de sortie 0.4 pip à la perte prévue; soustrayez-les du gain cible et exigez net reward/planned loss≥1.30. F inclut déjà la tolérance d’entrée. La réserve porte seulement sur la sortie. Un niveau interdit par le courtier entraîne l’abandon, jamais l’élargissement du stop.
| Entrée de référence | Stop fixe | Objectif fixe | |
|---|---|---|---|
| BUY | E0=Ask_ref | S_bid=floor_tick(min BidLow[P..q]−1pip) | T_bid=E0+2(E0−S_bid) |
| SELL | E0=Bid_ref | S_ask=ceil_tick(max BidHigh[P..q]+1pip) | T_ask=E0−2(S_ask−E0) |
7. Consommer la première cotation et transmettre une fois
À la détection de q, capturez le premier Bid/Ask. Exigez spread ≤1.0pip et écart absolu du Bid au cours Bid clôturé de q ≤1.0pip. Contrôlez et transmettez au plus tard à q+2s, borne incluse. Revérifiez cotation courante, ancienneté, coûts, risque, autorisations, marge et protection. Tout échec consomme q. Une cotation modifiée doit rester dans la tolérance initiale et satisfaire les contrôles; référence et niveaux restent fixes.
Une demande avec stop et objectif joints; abandon si l’environnement ne permet pas cette protection à l’entrée. Aucun nouvel envoi après refus, donnée périmée, spread excessif, délai ou timeout. bad_quote commence à 1.5 pip et passe ensuite à 0.8 : aucun ordre. late_request termine ses contrôles à q+2.5s, trop tard pour envoyer. Une amélioration ne réactive pas q.
8. Suivre le BUY accepté
Dans buy_target, P=k73 / 08:00 UTC présente RSI44.5994 environ. Le contexte persiste; le croisement au-dessus de 50 survient à q=k76 / 08:15 UTC, dernière bougie admissible, RSI53.1680. Premier Bid/Ask à q+250 ms : 1.10293 / 1.10301; demande à +400 ms. Niveaux S_bid=1.10241; T_bid=1.10421, distance brute 6 pips.
Entrée défavorable 1.10303 : perte prévue 7.2 pips, objectif net 10.8, ratio 1.50. Fonds propres indépendants 10000 USD, budget 25 USD, volume arrondi vers le bas 0.34 lots, risque prévu 24.48 USD. Exécution fictive confirmée 1.10302 à +550 ms. Bid atteint l’objectif à 08:20:20 :11.9 pips bruts moins commission réelle 0.6 donnent 11.3 pips / 38.42 USD. La réserve n’est pas facturée.
| Sens | Bid / Ask | S / T | Perte (pip) | Objectif net (pip) | Ratio | Lots | Risque USD |
|---|---|---|---|---|---|---|---|
| BUY | 1.10293 / 1.10301 | 1.10241 / 1.10421 | 7.2 | 10.8 | 1.50 | 0.34 | 24.48 |
| SELL | 1.09699 / 1.09707 | 1.09759 / 1.09579 | 7.2 | 10.8 | 1.50 | 0.34 | 24.48 |
9. Suivre le SELL accepté
L’historique indépendant sell_target reflète les clôtures Bid BUY autour de 2.20000. RSI passe du repli 55.4006 à 46.8320 à q. Premier Bid/Ask 1.09699 / 1.09707; niveaux S_ask=1.09759; T_ask=1.09579. Le stop Ask vient des plus hauts Bid plus un pip, sans prétendre connaître un extrême Ask historique absent.
Pire entrée Bid 1.09697 : mêmes 7.2 pips de perte prévue,10.8d’objectif net et 0.34 lot. Exécution confirmée 1.09698. À 08:20:20, Ask atteint 1.09579 : net 11.3 pips,38.42 USD. Les bougies d’exécution sont Ask, mais RSI utilise Bid. La symétrie est construite pour vérification, pas pour démontrer une efficacité identique dans les deux sens.
10. Refuser les reprises tardives ou annulées
Dans late_signal, P=k73 mais le franchissement de 50 attend k77 / 08:20 UTC=P+4. L’expiration précède le croisement brut : Q=0. Dans cancelled_signal, RSI tombe à 33.1588 at k75, annulant P avant la reprise. Le croisement ultérieur n’a aucune origine active. Aucune des deux branches n’envoie d’ordre.
Distinguez absence de qualification et signal valide refusé à l’exécution. Le CSV conserve contexte, événements bruts, origine, qualification et action. Sans ordre, aucun rendement de transaction : un PnL vide n’est pas une exécution imaginaire à résultat nul. Le cas constant donne RSI50 et EMA égales, donc aucun contexte strict ni épisode qualifié.
11. Appliquer sorties fixes, délai et gaps
Après exécution confirmée, les retournements d’indicateurs ne ferment ni ne modifient la position. Protection BUY à Bid≤S_bid OR Bid≥T_bid, SELL à Ask≥S_ask OR Ask≤T_ask. Utilisez les cotations chronologiques et exécutions du courtier. Si les deux niveaux figurent dans une même bougie sans ordre des ticks, n’inventez pas la sortie favorable.
Sortie temporelle à la première cotation valide après min(q+6 completed M5 bars, 10:00 UTC), si encore ouvert. time_exit : 08:45:00.200, Bid 1.10295, net −1.3 pips / −4.42 USD. buy_gap franchit le stop et sort à 1.10226,1.5 pip plus bas : net −8.2 pips / −27.88 USD, perte supérieure au budget 25 USD. Stops et réserves ne plafonnent pas les pertes; les interruptions peuvent retarder la clôture.
12. Rapprocher résultats inconnus et protection défaillante
La confirmation doit correspondre au symbole, sens, volume, stop et objectif propres. Journalisez un identifiant unique et rapprochez ordres et exécutions. Un timeout signifie unresolved≠rejected≠flat : suspendez les entrées, ne renvoyez rien et ne déduisez ni exécution ni PnL. unknown_request laisse ces champs vides faute de résultat de compte.
Si un fill hors tolérance défavorable ou une protection absente/incorrecte est confirmé, tentez la fermeture d’urgence du ticket propre vérifié puis bloquez les entrées. Vérifiez la fermeture et poursuivez le rapprochement si incertain. Ne réparez jamais en élargissant le stop. Les actions d’urgence ne sont pas des tentatives d’entrée; elles ne concernent pas les positions étrangères au modèle.
13. Dimensionner le risque et séparer réserve et frais
Appliquez B=min(0.0025*equity, equity−0.99*Eday) avec marge quotidienne positive. Avec 10 USD/pip/lot standard et pas 0.01 supposés, lots=floor_step(B/(planned loss pips*10)). Abandonnez sous le lot minimal ou si volume maximal, marge ou contrat échouent. Actualisez les conversions nécessaires; EURUSD et compte USD rendent ici le pip directement exprimé en USD.
Perte BUY (Fmax−S_bid)/pip+1.0, gain cible net (T_bid−Fmax)/pip−1.0; SELL reflète les distances depuis Fmin. Le spread est déjà inclus par les côtés exécutables : ne l’ajoutez pas. PnL réel utilise fills et frais réels; réserve 0.4 pip n’est pas une commission. Les 38.42 USD fictifs et le gain prévu répondent à des mesures différentes.
14. Reconstruire les trois fichiers publics
Fichier bougies : 10 independent cases ×83 bars=830 rows, clôtures UTC programmées dès 2026-01-06 01:55 UTC. Tous les indicateurs utilisent les clôtures Bid. Avant q, Ask est construit à Bid+0.8 pip; après q, OHLC Bid/Ask agrège les cotations listées. Ce sont des trajectoires artificielles, pas un historique de terminal ou un flux Ask réel reconstitué.
Le fichier d’événements contient cotations chronologiques, demande, confirmations connues, sorties et timeout non résolu. Le registre sépare références, pire entrée prévue, fills réels, coûts et résultats inconnus. La dernière cotation q+30min+200 ms appartient à la nouvelle bougie ouverte et permet la sortie temporelle, sans modifier la bougie précédente. Recalculez tout indépendamment.
Télécharger bougies M5 et indicateurs fictifs (CSV)
15. Vérifier la mécanique avant les performances
Le jeu contient 7 qualifications; 5 transmitted requests; 4 known closed fills; 1 unresolved request. Ces nombres vérifient les branches; les autres cas couvrent première cotation refusée, retard, reprise tardive, annulation et égalité stricte. Départs indépendants : ni portefeuille de dix trades, ni échantillon de réussite, ni courbe de backtest.
Figez règles et variantes essayées, puis testez des ticks Bid/Ask ultérieurs intacts, coûts variables, gaps, refus, résultats inconnus, interruptions et conversion horaire. Comparez espérance nette, drawdown, rotation et incertitude. Testez aussi seuil de fonds propres et protection défaillante en environnement contrôlé. Les exemples pédagogiques n’établissent ni aptitude réelle ni avantage économique.
| Cas indépendant | Demandes | Résultat |
|---|---|---|
| buy_target | 1 | Objectif; fill connu |
| sell_target | 1 | Objectif Ask; fill connu |
| buy_gap | 1 | Gap; −27.88 USD |
| time_exit | 1 | Temps; −4.42 USD |
| bad_quote | 0 | Premier spread refusé |
| late_request | 0 | Délai d’envoi dépassé |
| late_signal | 0 | Reprise après expiration |
| cancelled_signal | 0 | Repli annulé |
| unknown_request | 1 | Inconnu; rapprochement requis |
| flat | 0 | Aucun contexte ou signal strict |
16. Implémenter la même logique sans discrétion
Conservez l’ordre : données terminées, nouveau repli admissible, reprise bornée, première cotation consommée, une demande, protection vérifiée, sortie fixe et état sans position rapproché. Tracez chaque refus et sa priorité. Les contraintes de stop ou gel du courtier peuvent bloquer une opération même si le minimum annoncé est nul. Vérifiez la plateforme plutôt que supposer une garantie d’API.
Première stratégie complète du groupe de combinaisons de scalping. Le guide EMA–RSI explique les signaux; les guides de test et taille traitent données et monnaie du compte. Toute autre combinaison demande ses règles et preuves propres. Publiez et auditez avant d’étendre le groupe; les cas fictifs ne justifient aucune promesse de gain.
Questions fréquentes
Une reprise tardive réactive-t-elle P ?
Non. Seules trois bougies terminées après P sont admises, avec annulation avant expiration puis reprise. Un nouveau repli indépendant devient nécessaire.
Un spread réduit sauve-t-il la cotation refusée ?
Non. La première cotation consomme q. Un échec de spread ou de délai interdit l’envoi pour cette qualification.
Deux fois la distance brute garantit-il 2R nets ?
Non. Entrée défavorable, commission et sortie dégradent le ratio. Le seuil net 1.30 est une règle prévue, pas une garantie d’exécution.
Pourquoi des bougies Ask pour SELL ?
SELL sort à Ask, côté déclenchant stop et objectif. RSI reste calculé sur Bid. Le stop Ask est dérivé des plus hauts Bid, pas d’un sommet Ask observé.
Peut-on renvoyer après timeout ?
Non. Suspendez puis rapprochez ordres et fills propres. Inconnu ne signifie ni refus ni absence de position; PnL reste inconnu.
Les exemples prouvent-ils la rentabilité ?
Non. Cas synthétiques indépendants : des ticks inédits adaptés, une exécution réaliste et une validation contrôlée restent nécessaires.
Sources et notes de recherche
MetaQuotes documente les buffers, les côtés de cotation et les fonctions de trading. Initialisations finies, seuils, horaires et risque sont nos choix de recherche, sans garantie du courtier ni optimisation revendiquée.
Spécification pédagogique. Prix, cotations et résultats fictifs. Le Forex comporte des risques. Stops, paramètres de glissement et réserves ne garantissent ni prix, ni gains, ni perte maximale réelle.