Un retournement SAR devient candidat après une nouvelle préparation dans l’état opposé. Le RSI doit déjà soutenir sa direction à cette clôture et seule la bougie M5 suivante peut confirmer. Le modèle pédagogique examine alors une cotation et autorise une demande d’entrée avec sorties fixes. Les cours inventés et les rapports d’exécution fournis expliquent la mécanique sans démontrer de rentabilité.
1. Définir une hypothèse de retournement M5 bornée
Le modèle étudie un nouveau changement d’état SAR avec impulsion RSI déjà présente, puis une confirmation de prix. Sa préparation M5, son entrée limitée et ses sorties structurelles fixes le distinguent du guide SAR/RSI et du cadre SAR/ADX. L’accord des indicateurs ne constitue pas une preuve probabiliste indépendante.
Ces règles forment une spécification pédagogique, pas un système validé en réel ni un EA installable. Les réglages sont des hypothèses, pas des optimums prouvés. Cours et rapports sont inventés, sans résultat historique Strategy Tester. Toute conclusion exige la spécification complète et des données fiables encore inutilisées.
2. Fixer contrat, fenêtre UTC et contrôle du compte
Utiliser les OHLC Bid EURUSD M5 clos et le contrat illustratif pip=0.0001; point=tick=0.00001; contract=EUR100,000/lot; pip_value=$10/lot sur compte USD. S, C et la demande doivent appartenir à 09:00<=UTC<12:00. Vérifier sur tout le compte l’absence de position, ordre en attente, autre exposition et demande d’entrée ou de clôture non résolue. Contrat et protection jointe initiale doivent être pris en charge.
Revérifier le contexte à S, C et à la première cotation. La liste UTC connue, déclarée avant le test, bloque les entrées pendant [event−15 min,event+15 min] ; c’est une hypothèse, pas un éloignement universellement sûr. Calendrier, contrat ou cours manquants bloquent. Après interruption de données, levée du blocage, sortie vérifiée ou rejet rapproché du compte, annuler l’entrée en attente et exiger des bougies de préparation ouvrant à partir de la borne de rétablissement. Consommer les retournements bruts même pendant les blocages. Les exemples supposent une liste de nouvelles connue et vide.
3. Déclarer le calcul SAR et RSI sur bougies closes
Employer SAR step=0.02; max=0.20; RSI14=Close. À k1, initialisation baissière S=max(H0,H1); EP=min(L0,L1); AF=0.02, avec extrêmes inversés pour la hausse. k0 n’a pas de SAR ; l’initialisation n’est pas un retournement. SELL démarre haussier, les autres baissiers. Projeter T=S_prev+AF_prev×(EP_prev−S_prev), borner par les deux creux précédents en hausse ou sommets en baisse. Le contact inclut l’égalité : en hausse Low<=T passe en baisse avec S=max(EP précédent,High actuel) ; en baisse High>=T passe en hausse avec S=min(EP précédent,Low actuel). EP devient l’extrême actuel du nouveau côté et AF revient au pas. Sinon, seul un extrême strictement nouveau augmente AF jusqu’au plafond. Une transition par bougie.
Pour RSI : G=max(ΔClose,0); D=max(−ΔClose,0), initialisation U14=mean(G1,…,G14); V14=mean(D1,…,D14), puis U(k)=[13U(k−1)+G(k)]/14; V(k)=[13V(k−1)+D(k)]/14; RSI=100U/(U+V). Convention V=0,U>0→100; U=0,V>0→0; U=V=0→50 ; valeurs indisponibles avant l’initialisation. Garder toute la précision. Lire les deux indicateurs sur le même intervalle réellement achevé après création de la bougie suivante par le terminal. À 09:02 UTC, 08:55–09:00 est clos et 09:00–09:05 en formation. Vérifier les exports avant substitution des buffers natifs ; noms et paramètres identiques ne prouvent pas le même calcul.
4. Préparer BUY avec trois nouvelles bougies baissières
Juste avant le retournement haussier S, exiger S−3,S−2,S−1: SAR_state=down AND RSI<=45. Toutes suivent le retournement brut précédent et toute borne ultérieure de compte vérifié sans exposition ou de rétablissement des données/levée de blocage. La préparation exige toujours les trois bougies immédiatement précédentes. Le premier retournement opposé la consomme avant filtrage ; aucun RSI ultérieur plus favorable n’est attendu.
BUY S exige un nouveau passage baissier vers haussier et RSI(S)>=52; Close(S)>Open(S); 3<=r/pip<=12, avec r issu du stop figé décrit ensuite. Exemple principal : S=k64 / 09:00 UTC; Close=1.30228; RSI=60.606061 ; clôtures de préparation 08:45 / 08:50 / 08:55. Toute condition manquée rejette définitivement ce S. L’égalité aux seuils est permise, sans transformer un état SAR continu en nouveau retournement.
| Heure UTC | Rôle | État | RSI14 | Clôture |
|---|---|---|---|---|
| 08:45 UTC | Trois nouvelles bougies | SAR ↓ | 0.000000 | 1.30156 |
| 08:50 UTC | Trois nouvelles bougies | SAR ↓ | 0.000000 | 1.30152 |
| 08:55 UTC | Trois nouvelles bougies | SAR ↓ | 0.000000 | 1.30148 |
| 09:00 UTC | S | SAR ↑ | 60.606061 | 1.30228 |
| 09:05 UTC | C | SAR ↑ | 63.577586 | 1.30238 |
5. Définir SELL intégralement
Pour SELL, les nouvelles bougies immédiatement précédentes satisfont S−3,S−2,S−1: SAR_state=up AND RSI>=55. Consommer le premier passage haussier vers baissier et exiger RSI(S)<=48; Close(S)<Open(S); 3<=r/pip<=12. Seule la C suivante compte : état et corps baissiers, clôture sous le creux Bid de S avec 0<Low(S)−Close(C)<=2 pip.
La première cotation conserve Ask sous ce creux. SELL entre au Bid et sort à l’Ask. Stop et objectif sont des déclencheurs Ask choisis depuis la géométrie Bid, pas des OHLC Ask reconstruits ni une preuve de stop au-dessus d’un sommet Ask historique. Le miroir donne S Close=1.29772; RSI=39.393939; C Close=1.29762. Ni inversion automatique, ni moyennage, ni position supplémentaire.
6. Utiliser uniquement la clôture M5 suivante
BUY est confirmé seulement par C=S+1 : SAR reste haussier, Close(C)>Open(C) et 0<Close(C)−High(S)<=2 pip. La C principale donne k65 / 09:05; Close=1.30238; High(S)=1.30233; break=0.5 pip. Il faut une clôture hors de toute la plage S, pas un simple contact de mèche. SELL suit les règles miroir explicites précédentes.
Intervalle prévu manquant, SAR inversé, mauvais corps, égalité à la limite ou extension excessive annulent le candidat. Ne pas remplacer C. L’horloge ne suffit pas : la première cotation de nouvelle bougie doit établir que C est réellement close et valide. Sinon, abandonner l’événement et reconstruire une préparation plutôt qu’attendre un autre couple de cours.
7. Figer protection et objectif dès S
Pour BUY, S_bid=Low(S)−0.5 pip; r=Close(S)−S_bid; T_raw=Close(S)+2.5r ; pour SELL, S_ask=High(S)+0.5 pip; r=S_ask−Close(S); T_raw=Close(S)−2.5r. Arrondir l’objectif vers la clôture S au tick valide : vers le bas en BUY, vers le haut en SELL. Figer ces prix absolus avant C et la cotation d’entrée. Le r structurel diffère du risque entre exécution effective et stop.
Le BUY principal a S_bid=1.30138; r=9 pip; T_bid=1.30453 ; SELL, S_ask=1.29862; r=9 pip; T_ask=1.29547. S73, indépendant et ultérieur, illustre l’arrondi : Close=1.30194; r=9.1 pip; T_raw=1.304215→T_bid=1.30421. Une entrée plus tardive ne déplace ni ancrage de l’objectif ni stop. Après exécution, les sorties restent fixes ; leur limite temporelle est définie séparément.
| Signal S | Clôture | Stop | Objectif | r structurel, pips |
|---|---|---|---|---|
| BUY / S64 | 1.30228 | 1.30138 | 1.30453 | 9.0 pip |
| SELL / S64 | 1.29772 | 1.29862 | 1.29547 | 9.0 pip |
| BUY / S73 | 1.30194 | 1.30103 | 1.30421 | 9.1 pip |
8. Séparer le retournement rejeté d’une nouvelle préparation
Dans le cas faible, S64 / 09:00; RSI=3.703704 échoue au filtre RSI BUY. À k66 / 09:10; RSI=59.341168, le même état haussier persiste. Cette lecture n’autorise ni C ni cotation d’entrée. Le retournement brut baissier k69 n’a pas de préparation SELL et consomme aussi son événement.
Les trois nouvelles bougies baissières k70–k72 / 09:30–09:40 précèdent ensuite le retournement distinct S73 / 09:45; RSI=53.369288. Sa propre C74 confirme à 09:50. Ce candidat produit une demande, définitivement rejetée dans le rapport fourni. C’est une nouvelle préparation, pas une relance de S64 ; un rejet d’ordre n’est pas une transaction exécutée.
9. Évaluer seulement la première cotation après C
Consommer le premier couple reçu après la clôture prévue de C avec arrival<=C_close+2.000 s; 0<=quote_age<=500 ms; 0<=spread<=0.8 pip. Maintenir Bid>High(S) pour BUY et Ask<Low(S) pour SELL. Vérifier tick, distances et volumes du courtier, contexte connu et support des deux protections initiales. Une règle inconnue empêche la demande. Un niveau minimal de stops annoncé nul ne garantit pas l’acceptation serveur.
Utiliser F_plan=Ask+0.2 pip for BUY; F_plan=Bid−0.2 pip for SELL. Coût restant c=0.3 exit reserve+0.6 linear round-trip commission=0.9 pip ; la réserve d’entrée est déjà dans F_plan. BUY utilise L=(F_plan−S_bid)/pip+c; W=(T_bid−F_plan)/pip−c ; SELL L=(S_ask−F_plan)/pip+c; W=(F_plan−T_ask)/pip−c. Exiger L>0; W>0; W/L>=1.50. Le spread est représenté par les côtés de cotation et ne s’ajoute pas une seconde fois. Aucun autre frais ni financement n’est supposé.
| Observation | Cotation | Perte, pips | Objectif net, pips | W/L net | Lots prévus |
|---|---|---|---|---|---|
| BUY | 1.30238 / 1.30244 | 11.7 | 19.8 | 1.6923077 | 0.21 |
| SELL | 1.29756 / 1.29762 | 11.7 | 19.8 | 1.6923077 | 0.21 |
| BUY | 1.30256 / 1.30262 | 13.5 | 18.0 | 1.3333333 | — |
| BUY / Diagnostic ultérieur | 1.30237 / 1.30243 | 11.6 | 19.9 | 1.7155172 | — |
| BUY | 1.30213 / 1.30219 | 12.7 | 19.1 | 1.5039370 | 0.19 |
10. Annuler une confirmation échouée sans la remplacer
Dans l’exemple C échouée, S est admissible mais la première confirmation donne C65 Close=1.30230<=S64 High=1.30233. Elle est rejetée à cette clôture. La bougie suivante atteint k66 Close=1.30240 hors de l’unique emplacement autorisé. Aucune demande ni C de remplacement.
Continuer à détecter les retournements SAR bruts. Un futur candidat exige toute la nouvelle préparation opposée et un autre premier retournement. Si C inversée crée elle-même un retournement, l’enregistrer séparément sous les mêmes règles. Un échec n’autorise pas l’inversion d’une position ; blocages d’entrée et contrôle du compte restent indépendants.
11. Ne pas réutiliser une première cotation mauvaise ou tardive
Le premier couple du BUY accepté est Bid/Ask=1.30238/1.30244; F_plan=1.30246, donnant L=11.7; W=19.8; W/L=1.6923077. Un cas distinct reçoit d’abord 1.30256/1.30262; F_plan=1.30264. Avec les mêmes sorties, il donne L=13.5; W=18.0; W/L=1.3333333 et échoue malgré un spread de 0.6 pip.
Le couple ultérieur 1.30237/1.30243 donnerait L=11.6; W=19.9; W/L=1.7155172, mais l’événement est consommé : aucun volume admissible ni demande. Dans le cas expiré, réception à 09:05:02.120 après la limite inclusive 09:05:02.000. Aucune demande non plus. Une amélioration ultérieure ne réactive aucun de ces événements.
12. Dimensionner et contrôler SELL sur Ask
Le compte illustratif utilise equity=$10,000; risk_fraction=0.25%; budget=$25; lot_min=lot_step=0.01; lot_max=1.00. Appliquer lots=floor_step(25/(L×10),0.01) et rejeter toute contrainte de volume incompatible. Les plans principaux acceptés donnent 0.21 lot; planned_loss=$24.57; planned_net_target=$41.58. Le volume diagnostique 0.18 lot du mauvais premier cours n’est pas autorisé ; le réduire ne répare pas le ratio net linéaire. La perte prévue n’est pas un plafond garanti.
Le premier couple SELL est Bid/Ask=1.29756/1.29762; F_plan=1.29754 avec les mêmes L et W. Exécution d’entrée fournie : 1.29755. Ensuite, le couple fictif Bid/Ask=1.29856/1.29862 atteint le stop Ask tandis que Bid reste inférieur. Rapport de sortie : Ask fill=1.29864. Ne pas déduire une exécution Ask d’une bougie Bid ni dessiner des bougies Ask non observées.
13. Conserver les sorties fixes et une échéance fixe
Ne modifier ni stop ni objectif acceptés. Aucun suivi SAR, passage au seuil de rentabilité, sortie partielle ou inversion automatique. Échéance fixe D=min(C_close+30 min,12:00 UTC). Si la protection n’a pas clos la position, demander une seule clôture sur la première cotation fiable disponible du bon côté à partir de D. La protection acceptée reste active en attendant la réponse.
Traiter les couples chronologiquement : stop/objectif BUY sur Bid, SELL sur Ask. Pour chaque cotation, examiner la protection avant la sortie temporelle. Un saut peut franchir le niveau et l’exécution rapportée différer du déclencheur. L’absence de cotation à l’échéance ne prouve pas la clôture. Si données ou réponse manquent, maintenir le blocage d’exposition et rapprocher le compte ; ne pas inventer une exécution à la borne ni un résultat nul.
14. Rapprocher rejet, entrée incertaine et protection
Une demande d’entrée par événement, avec réserve 0.2 pip=2 points dans ce contrat. Le paramètre de glissement du terminal ne garantit pas universellement le prix. Rejet certain et compte vérifié sans exposition consomment l’événement et imposent une nouvelle préparation. Pour S73, le serveur supposé rejette les stops malgré le minimum déclaré nul. Ni relance ni exécution.
Distinguer entry_deadline=C_close+2 s de ack_timeout=request_time+2 s. Un timeout n’annule pas une demande potentiellement acceptée. Le cas sans réponse reste non résolu après une demande ; exécution et P&L restent vides même si le cours atteint la cible de référence. Rapprocher positions et historique avant toute nouvelle demande. Protection initiale non prise en charge : entrée bloquée. Exécution inattendue sans protection : une clôture d’urgence sur cours fiable, puis rapprochement si sa réponse est incertaine. Ne pas élargir les sorties pour forcer l’acceptation.
15. Reproduire observations et rapports fournis
Les fichiers contiennent 768 closed Bid bars; 11 raw flips; 3,080 quote updates; 5 simulated entry requests; 3 supplied fills; 0 live orders. Chaque cas indépendant comporte 96 bars. La trajectoire explicitement supposée, constante par morceaux, visite Open, Low/High, High/Low puis Close aux décalages déclarés. Ask égale Bid plus le spread supposé. Cette construction ne récupère pas l’ordre intrabougie historique ni Ask depuis OHLC.
Recalculer indépendamment indicateurs, préparation, consommation, C, coûts, lots et côtés de sortie. Résultats nets fournis BUY target +$42.42; SELL stop −$24.15; time exit −$2.94 après commission et exécutions déclarées. Ce sont des calculs monétaires construits, sans performance mesurée, taux de réussite ni espérance inférés. Lignes rejetées et non résolues : aucun volume exécuté ni P&L. Une cotation de la prochaine bougie en formation confirme le dernier intervalle clos sans inventer une bougie supplémentaire.
Télécharger les données M5 fictives (CSV)
Télécharger retournements et candidats (CSV)
Télécharger cotations et rapports fictifs (CSV)
| Statut | Demandes d’entrée | Exécution rapportée | Sortie rapportée | P&L net fictif, USD |
|---|---|---|---|---|
| CLOSED_TARGET | 1 | 1.30245 | 1.30453 | +42.42 USD |
| CLOSED_STOP | 1 | 1.29755 | 1.29864 | -24.15 USD |
| CLOSED_TIME | 1 | 1.30245 | 1.30237 | -2.94 USD |
| SERVER_REJECTED | 1 | — | — | — |
| REQUEST_UNCERTAIN | 1 | — | — | — |
16. Étudier tous les retournements sur un calendrier commun
Figer référence, préparation, filtres, délais, sorties, coûts et événements avant les données inédites. Conserver tous les retournements : non préparés, faibles, bloqués, C échouées, mauvais cours, expirés et incertains. Comparer les variantes RSI sur le même calendrier brut SAR. Modifier SAR peut changer ce calendrier et doit être signalé séparément.
Utiliser des couples fiables et preuves d’exécution, en laissant les résultats inconnus inconnus. Comparer régimes, blocages de nouvelles, couverture, retards, rejets et résultats nets sous les mêmes contraintes. Tester sauts, frais, limites et données manquantes. Trois clôtures fournies ne prouvent aucun avantage. La spécification rend une hypothèse testable ; elle ne démontre pas son aptitude au réel.
Questions fréquentes
Un RSI ultérieur favorable réactive-t-il un premier retournement faible ?
Non. Le premier retournement consomme sa préparation avant le filtre RSI. Une lecture ultérieure dans le même état n’est pas un événement nouveau. Il faut trois bougies opposées nouvelles admissibles et un autre premier retournement.
Une bougie M5 ultérieure remplace-t-elle une confirmation échouée ?
Non. Seule la bougie close immédiatement suivante est C, même si une rupture ultérieure semble meilleure. Des données closes absentes ou invalides annulent l’événement et exigent une nouvelle préparation.
Peut-on attendre une meilleure cotation après le premier échec ?
Non. Le premier couple consomme l’autorisation, y compris en cas d’âge, spread, niveau, marge nette ou délai invalide. Un meilleur ratio ultérieur reste diagnostique, sans volume autorisé ni demande nouvelle.
Le point SAR constitue-t-il le stop de cette stratégie ?
Non. Les niveaux fixes viennent de la plage S et du tampon déclaré, avec objectif arrondi vers l’ancrage. Les points SAR ultérieurs ne les modifient pas. La sortie temporelle exige elle aussi un rapport de clôture effectif.
Un timeout d’entrée signifie-t-il que l’ordre a été rejeté ?
Non. Une demande envoyée peut rester incertaine après expiration du droit d’entrée. Bloquer les entrées et rapprocher positions et historique, sans supposer exécution, rejet ou P&L nul faute de réponse.
Les résultats illustrés prouvent-ils un scalping rentable ?
Non. Trajectoires et rapports sont inventés, sans ordre réel. Les montants vérifient seulement côtés de prix et frais. Ils ne sont ni backtests historiques, ni espérance mesurée, ni preuve de réglages optimaux.
Sources et notes de recherche
Les références officielles MQL4 décrivent paramètres, prix Bid/Ask et protection des ordres. Le calcul fini est une référence déclarée, cohérente avec le guide associé, sans équivalence native revendiquée. Seuils, délais, trajectoires, frais et rapports sont des hypothèses pédagogiques. Aucune API de trading n’est appelée.
- MQL4: iSAR parameters and buffer shift
- MQL4: iRSI period, price input and buffer shift
- MQL4: OrderSend prices, protection and server restrictions
- MQL4: OrderModify and accepted order changes
Spécification pédagogique, cotations et rapports inventés. Aucun ordre réel, backtest historique ou bénéfice mesuré.