C'est quoi ? Un robot qui surveille QQQ, NVDA, TSLA, AMZN et AAPL chaque jour de bourse entre 9 h 30 et 16 h 00 ET, soit dès l'ouverture (entrées de 9 h 30 à 14 h 00 — et seulement à partir de 11 h 00 sur QQQ), cherche le setup de repli décrit dans votre carnet de trade, et publie le signal complet — sens, contrat 0DTE, prime, stop, cibles — avec une notification sur le téléphone.
C'est du papier — avec une nuance depuis le 18 août. Le moteur, lui, ne transmet toujours rien : il affiche ce qu'il aurait fait. Mais à chaque entrée il dépose désormais un billet dans la chaîne d'exécution IBKR (ibkr-exec), qui tourne en mode paper : les ordres partent sur un compte papier IBKR, jamais sur un compte réel. Passer au réel est un geste manuel, dans un autre fichier. Détail plus bas.
Comment c'est fabriqué ? Un script PowerShell calcule tout de façon déterministe : indicateurs, structure, R:R, choix du contrat, sorties. Aucun modèle de langage n'intervient dans la décision — deux exécutions sur les mêmes bougies donnent exactement le même signal.
Ce guide explique chaque condition, chaque paramètre et chaque sortie, dans l'ordre où le moteur les évalue.
Chaque carte est un trade papier. Le gros pourcentage en haut est le rendement de la prime, pas du sous-jacent.
QQQ xxx,xx — le dernier cours connu du sous-jacent.
Statut — « en recherche de setup », « position ouverte », « suivi seul — entrées à partir de 11:00 » (QQQ le matin), « fenêtre terminée ». Le point vert clignote quand le moteur tourne encore.
Signaux n — combien de trades ont été pris depuis l'ouverture. Plus de quota depuis le 12 août : en observation, le moteur doit montrer tous les signaux du jour.
MAJ — l'heure du dernier tour de boucle (un tour toutes les 20 secondes).
Entrée / Prime / QQQ — l'heure du signal, la prime modélisée à cet instant, le cours du sous-jacent au même moment.
R:R — le rapport gain/risque mesuré sur le sous-jacent, jamais sur la courbe de l'option.
Stop / T1 / T2 — les trois niveaux, chacun donné en cours QQQ et en prime correspondante, pour savoir d'avance ce que vaudra le contrat une fois le niveau touché.
Pourquoi ce setup — les lignes « NOYAU » sont les conditions obligatoires — 4, plus une 5e depuis le 24 août qui rappelle où la cible a été posée, les lignes « Confluence » sont les bonus détectés en plus.
Le moteur traite chaque symbole indépendamment : sa propre recherche de setup, sa propre position, ses propres seuils. Le quota de 3 trades par jour est désactivé depuis le 12 août — mode observation.
| Symbole | Jours avec 0DTE | Prime retenue | Liquidité minimale |
|---|---|---|---|
| QQQ indice Nasdaq 100 entrées à partir de 11 h 00 | lundi → vendredi échéance tous les jours | 0,60 à 3,50 strike le plus proche | OI ≥ 500 · volume ≥ 250 |
| NVDA ajouté le 9 août 2026 | lundi → vendredi échéance le jour même lun/mer/ven, celle du lendemain mardi et jeudi | 0,30 à 3,00 strike le plus proche | OI ≥ 250 · volume ≥ 100 |
| TSLA ajouté le 10 août 2026 | lundi → vendredi échéance le jour même lun/mer/ven, celle du lendemain mardi et jeudi | 0,35 à 3,50 strike le plus proche | OI ≥ 250 · volume ≥ 100 |
| AMZN ajouté le 10 août 2026 | lundi → vendredi échéance le jour même lun/mer/ven, celle du lendemain mardi et jeudi | 0,30 à 3,00 strike le plus proche | OI ≥ 250 · volume ≥ 100 |
| AAPL ajouté le 1er octobre 2026 | lundi → vendredi échéance le jour même lun/mer/ven, celle du lendemain mardi et jeudi | 0,30 à 3,50 strike le plus proche | OI ≥ 250 · volume ≥ 100 |
strikeMode: nearest) parmi ceux qui passent la liquidité, la prime et le spread. QQQ les a rejointes le 25 août : les cinq titres sont désormais en nearest — voir « Le choix du strike ».| Rejeu | AAPL | NVDA | TSLA |
|---|---|---|---|
| 5 min · jours d'échéance (60 séances) | 48 trades · 27 % · moy. +18,5 · méd. −15,8 · sans top 3 −8,7 | 38 · 26 % · +26,5 · −22,1 · −12,1 | 45 · 20 % · +19,0 · −19,2 · −17,9 |
| 5 min · toutes séances (60) | 72 · 26 % · +12,1 · −15,8 · −5,9 | 54 · 35 % · +48,1 · −19,7 · +11,7 | 75 · 21 % · +13,9 · −23,0 · −9,6 |
| 1 min · toutes séances (7) | 21 · 24 % · −4,6 · −9,3 · −10,3 | 19 · 32 % · −0,6 · −7,7 · −10,1 | 18 · 11 % · −13,8 · −16,2 · −19,0 |
En % de prime par trade. Les trois titres dans un seul rejeu, puisqu'ils ont exactement les mêmes réglages : c'est la seule comparaison propre, le banc rechargeant Yahoo à chaque exécution. Cible = dernier plus haut, clôture 15 h 55. Le banc garde 3 trades/jour et 5 min de pause pour rester comparable aux mesures antérieures.
maxDte: 1, décidé le 10 août 2026). Mardi ils achètent l'échéance du mercredi, jeudi celle du vendredi. Ils sont donc négociables tous les jours de bourse, comme QQQ. Le calendrier n'est pas codé en dur : le moteur lit l'échéance réelle dans la chaîne CBOE et refuse tout ce qui dépasse un jour.Tout est piloté par la tâche planifiée Windows QQQ 0DTE Signaux, du lundi au vendredi. Aucune intervention manuelle.
| Heure ET | Ce qui se passe |
|---|---|
| 9:28 | La tâche démarre le script. Il attend en veille, par pas de 15 secondes. |
| 9:30 | Ouverture de la fenêtre, à la cloche. Depuis le 12 août, le suivi et les prises de position commencent à l'ouverture (c'était 9 h 50). Les indicateurs sont préchauffés sur les séances précédentes ; seule la structure du jour doit encore se former. |
| 9:30 → 14:00 | Boucle toutes les 20 secondes : mise à jour des cours, gestion des positions ouvertes, et — à chaque fois qu'une bougie de 5 min ou de 1 min vient de clôturer — recherche d'un nouveau setup, symbole par symbole. Le site est redéployé toutes les 3 minutes (immédiatement en cas d'entrée ou de sortie). |
| 11:00 | QQQ seulement : première entrée autorisée (entryStart, posé le 24 août). Avant 11 h, QQQ est suivi et compté dans l'entonnoir, mais aucun setup ne peut devenir un trade. Les trois actions, elles, entrent dès 9 h 30. |
| 14:00 | Dernière entrée. Plus aucun nouveau signal n'est cherché, sur aucun symbole. Une position déjà ouverte n'est pas touchée : elle continue d'être gérée normalement. |
| 14:00 → 15:55 | Gestion seule. La position restante vit sa vie : stop, cible, force /4, runner. Toujours une boucle de 20 secondes et un déploiement toutes les 3 minutes. |
| 15:55 | Clôture forcée. Ce qui est encore ouvert est soldé 5 minutes avant la cloche — un 0DTE ne se garde pas jusqu'à l'expiration. |
| 16:00 | Fin de la fenêtre : bilan de la séance par symbole envoyé sur le téléphone, dernier déploiement, arrêt du script. |
lastEntry (14 h 00) ferme la porte aux nouvelles entrées, et hardClose (15 h 55) solde ce qui reste. Attention : les mesures sur 60 séances du tableau plus bas ont toutes été faites avec une sortie forcée à 14 h 00 — elles ne décrivent plus exactement le comportement actuel, qui laisse davantage de place aux runners.
maxDte: 1). Flux gratuit, donc différé d'environ 15 minutes — d'où la modélisation qui suit. Rechargé au maximum toutes les 3 minutes.Le flux CBOE gratuit est différé d'environ 15 minutes. Recopier son bid/ask reviendrait à afficher le prix d'un contrat tel qu'il était il y a un quart d'heure — sur du 0DTE, c'est une éternité.
Le moteur fait donc l'inverse : il part du mid coté de la chaîne, en rétro-calcule la volatilité implicite par bissection à l'instant exact de l'instantané, puis réévalue la prime en Black-Scholes au cours QQQ live, avec le temps restant réel jusqu'à 16 h 00. Le champ « IV » brut de la chaîne n'est pas utilisé tel quel : il correspond lui aussi à l'instant de l'instantané.
Conséquence à garder en tête : c'est un prix théorique. Il ne tient pas compte du spread réel au moment d'entrer, ni d'un éventuel décalage d'IV. Les vrais bid/ask cotés sont conservés dans le journal du trade à titre de repère.
C'est la méthode du carnet, dans l'ordre exact où le moteur la vérifie. Si une seule condition manque, le côté testé (CALL puis PUT) est abandonné pour cette bougie.
| # | Condition | Règle exacte |
|---|---|---|
| 1 | Tendance séance en cours |
Le sens vient de la direction de la séance depuis son ouverture de 9 h 30 (trendMode: intraday). Au-dessus de l'ouverture haussier → CALL seulement ; en dessous baissier → PUT seulement ; à moins de 0,25 × ATR de l'ouverture, la séance est jugée sans direction et aucun sens n'est autorisé. Le biais peut donc basculer en cours de journée, et c'est voulu. Un repli vers un support dans une séance haussière n'est jamais une occasion de PUT : c'est le repli qui prépare le CALL. |
| 2 | Pullback MACD 8-13-9 |
Les lignes MACD et signal du MACD court doivent avoir croisé dans le sens de la tendance sur l'une des 3 dernières bougies (macdCrossLookback). C'est le point de reprise après le repli. |
| 3 | Excès RSI-5 |
Pendant le repli, le RSI-5 doit être descendu sous 40 (pour un CALL) ou monté au-dessus de 60 (pour un PUT) — rsiExtreme, passé de 30 à 40 le 12 août. Dans votre méthode, 30/70 est la zone de départ, pas un seuil à franchir : en repli sain le RSI-5 n'y descend quasiment jamais (médiane à 50), et un CALL QQQ a été refusé ce jour-là pour un RSI arrêté à 31. Le repli est délimité par le croisement inverse précédent du MACD court, dans la limite de 40 bougies et sans remonter à la veille. |
| 4 | Structure pivots + fibo |
Il faut une jambe d'impulsion exploitable (A→B sur pivots fractals 2-2), d'au moins 0,62 × ATR d'amplitude, et il doit rester au moins 0,8 × ATR de place jusqu'au dernier plus haut. Le R:R qui en découle doit atteindre 1,0 minimum. Du 24 au 27 août, la cible effective a été déplacée à 1,5 × le risque ; depuis le 28 août elle est revenue au dernier plus haut — voir l'encadré plus bas. |
| 5 | Zone ajouté le 9 août 2026 |
L'entrée doit être adossée à un niveau important — sinon le setup est refusé, même parfait par ailleurs. Détail ci-dessous. |
biasReversalMinutes ; désactivé sur NVDA et TSLA, où la mesure ne suit pas), et le cours en est revenu d'au moins 0,75 × ATR. Les quatre autres portes restent entières, zone clé comprise.
Le moteur reconstruit les niveaux que vous tracez à la main, et exige que le prix d'entrée soit à moins de 0,5 × ATR de l'un d'eux, du bon côté (un plancher sous un CALL, un plafond au-dessus d'un PUT — une résistance sous un CALL n'est pas un support) :
Le niveau retenu est affiché sur la carte du signal et dans la notification : vous savez quel niveau justifie l'entrée.
Elle vient de vos propres annotations. Le 29 juin : « je me suis appuyé sur une mauvaise zone de support… j'ai pris position uniquement sur un FOMO de vouloir acheter au plus bas ». Le 7 août sur NVDA : « la trade était bonne mais rentré trop tôt, le prix aura redescendu dans la zone d'intérêt + EMA 200 ».
Dans les deux cas le setup était bon et l'entrée était au-dessus de la zone, pas dedans. C'est exactement ce que ce filtre refuse.
Mesuré sur 60 séances : sur NVDA, la réussite passe de 35 à 43 %, la moyenne de +7,8 à +19,7 %, la médiane de −29,9 à −18,1 %, et la dépendance aux 3 meilleurs trades s'effondre (−10,8 % → −2,1 %). Sur QQQ, l'effet est neutre — un indice respecte moins les niveaux horizontaux qu'un titre isolé.
T1 = le dernier plus haut de la jambe d'impulsion (le point B) — votre règle de sortie n° 1, celle du carnet.
Parenthèse du 24 au 27 août : la cible a été posée à 1,5 × le risque (targetRMult), sur un rejeu 60 séances qui l'améliorait partout. Retirée le 28 août après trois séances vécues — voir l'encadré juste dessous.
T2 = l'extension fibo 127,2 % de la jambe A→B reportée depuis le creux C. C'est la cible du runner, uniquement quand la poussée est jugée intacte à T1 (voir plus bas), et seulement si elle est réellement au-delà de T1.
Les pivots ne sont considérés comme confirmés que 2 bougies plus tard — sans ce décalage, un rejeu ferait fuiter le futur et les résultats seraient faux.
Le stop est structurel, sur le sous-jacent — jamais un pourcentage de la prime.
Il est placé sous le plus-bas de la bougie de signal et de la précédente (au-dessus du plus-haut pour un PUT), moins un tampon de max(0,08 ; 0,15 × ATR).
Deux bornes l'encadrent : jamais plus loin que 1,2 × ATR, et — depuis le 13 août — jamais plus près qu'un plancher propre à chaque titre : QQQ 1,5 × ATR, AMZN 1,0, NVDA, TSLA et AAPL sans plancher (AAPL n'a encore aucune mesure qui en justifierait un).
La prime correspondante à ce niveau est calculée à l'avance : c'est le stop premium affiché sur la carte.
Rejeu de 60 séances au pas de 5 min, configuration gelée, clôture 15 h 55, le multiple balayé à l'intérieur d'un même rejeu. À 1,5 R, la moyenne hors les 3 meilleurs trades monte sur les sept échantillons sans une exception : QQQ +91,1 → +113,9 ; NVDA +5,7 négatif → +1,6 (jours d'échéance) et −3,1 → +2,1 (toutes séances) ; TSLA −5,3 → −2,2 et +6,1 → +7,5 ; AMZN −18,8 → −15,5 et −2,0 → +1,0.
Le mécanisme n'est pas « on coupe les gagnants plus tôt » : le taux d'atteinte de T1 monte (TSLA 31 → 50 %). Le runner ne s'arme qu'après T1, et 64 % des positions mouraient au stop sans jamais l'armer. Conséquence assumée : la médiane monte beaucoup, la moyenne baisse parfois — moins de coups de loterie, beaucoup moins de pertes sèches.
Pourquoi pas 2,0 R. QQQ fait mieux encore à 2,0 (hors top 3 +130,8) mais s'effondre à 2,5 (médiane −17, T1 43 → 18 %) : le sommet est à l'intérieur du balayage, donc c'est un vrai optimum — sur QQQ seul. On retient 1,5 partout : un réglage valide sur les quatre titres vaut mieux qu'un réglage par titre valide à un endroit.
Réserve dite le jour même. Banc 5 min uniquement, alors que 111 des 148 positions réellement vécues sont des signaux 1 min.
Ce que les trois séances vécues ont donné (25, 26, 27 août, 32 positions), et pourquoi c'est retiré. La moitié du mécanisme est arrivée, l'autre pas. Inchangés par rapport aux 6 séances précédentes : gagnantes 41 % contre 41 %, cible atteinte 38 % contre 40 %, perdante moyenne −192 $ contre −182 $. Ce qui a bougé : la gagnante moyenne, +400 $ → +256 $, et +482 $ → +256 $ sur les seules sorties à la cible — alors que le mouvement continuait autant qu'avant après la sortie (médiane 1,84 → 2,31 × ATR). Le coût mesuré au banc est donc arrivé, la contrepartie (plus de cibles atteintes, moins de stops secs) non — exactement là où la réserve ci-dessus le laissait craindre : 27 des 32 positions étaient des signaux 1 min. Le net des trois séances (−319 $ contre +5 732 $ sur les six précédentes) ne prouve rien à lui seul — 32 positions, écart-type 235 $ par position ; c'est la gagnante divisée par deux à taux d'atteinte inchangé qui tranche, parce qu'elle est mécanique et non statistique.
Sans plancher, le stop suit le bas d'une seule bougie. En 1 minute, ça descend au niveau du bruit. Deux exemples du 13 août :
Et le défaut ne s'arrête pas au stop touché. Il coûte trois fois :
Pourquoi seulement deux titres sur quatre. Le plancher a été balayé sur les deux échelles de signal — 5 min sur 60 séances, 1 min sur 7 jours (le maximum que Yahoo serve à cette échelle). C'est ce qui manquait à la mesure du 11 août, faite en 5 min seulement alors que tous les stops pathologiques étaient des signaux 1 min. Règle retenue : on ne pose un plancher que là où les deux échelles disent la même chose.
| Titre | 5 min / 60 séances | 1 min / 7 séances | Retenu |
|---|---|---|---|
| QQQ | 1,5 — tout s'améliore | 1,5 — tout s'améliore | 1,5 |
| AMZN | 1,0 (1,5 est le pire) | 1,0 (1,5 est le pire) | 1,0 |
| NVDA | 1,5 améliore la queue | 1,5 est le pire | 0 — contradictoires |
| TSLA | 1,5 est le meilleur | 0 est le meilleur | 0 — contradictoires |
Ce que ça ne fait pas. Le plancher retenu sur AMZN (1,0) n'aurait pas sauvé le trade du 13 août : il fallait 1,48 × ATR. Le réglage qui le sauvait (1,5) est le pire mesuré sur AMZN aux deux échelles. On ne règle pas le moteur sur un trade.
La contrepartie. Sur NVDA et AMZN, le plancher améliore la queue de la distribution et alourdit le trade typique — la médiane empire. Sur QQQ, non : là, toutes les colonnes montent ensemble.
Le « croisement RSI » du carnet est le croisement RSI-5 / RSI-based MA, pas le franchissement du 30 ou du 70 : en repli sain, le RSI-5 ne descend quasiment jamais à 30, sa médiane est à 50. Déclencher l'entrée sur ce croisement plutôt que sur le contact de zone donnait un R:R médian de 0,47 — inexploitable.
« MACD du bon côté de zéro » ne se produisait que 2 % du temps et vidait complètement l'entonnoir.
Le filtre VWAP a été retiré à votre demande : seules les EMA 9 / 21 restent calculées, en observation.
Ces trois points ne sont pas des approximations : ils viennent d'un balayage sur 60 séances (Test-Calibrate.ps1, Test-Funnel.ps1). Les remettre « au feeling » referait tomber le nombre de signaux à zéro.
Une fois les 4 conditions du noyau réunies, le moteur compte les éléments d'appui. Il en faut au moins 1 (minConfluences). Elles ne créent jamais un signal à elles seules — elles le qualifient.
| Confluence | Quand elle est comptée |
|---|---|
| Divergence RSI-5 | Les 4 types comptent : régulière (retournement, fin du repli) et cachée (continuation — le cœur du setup de pullback). Détectée par deux méthodes (pivot à pivot et pente de régression) sur deux échelles (5 min et 1 min). Une divergence de continuation ajoute une ligne supplémentaire au compte : elle pèse double. |
| Profil de volume | Un niveau du profil (POC, VAH, VAL ou nœud de volume élevé) se trouve du bon côté du prix et à moins de 0,6 × ATR — donc un vrai support sous un CALL, une vraie résistance au-dessus d'un PUT. |
| RSI qui se retourne | Le RSI-5 remonte (CALL) ou redescend (PUT) par rapport à la bougie précédente : le retournement est effectif, pas seulement attendu. |
| Chandelle de rejet | Marteau (longue mèche du bon côté, petit corps) ou chandelle englobante sur le niveau. |
| Volume | Le volume de la bougie de signal est au moins égal à la moyenne des 20 dernières. |
| Élan de fond | L'histogramme du MACD long se renforce par rapport à la bougie précédente : la tendance de fond accélère au moment de l'entrée. |
| Croisement frais | Le croisement du MACD court a eu lieu sur la bougie courante ou la précédente — on entre tôt dans la reprise. |
Un couple de pivots ne compte comme divergence que si au moins un des deux pivots RSI est hors de la zone 70/30, et si le RSI est repassé par le 50 entre les deux. Sans ces deux filtres, n'importe quelle oscillation de RSI-5 produit une « divergence » toutes les trois bougies.
La méthode par pentes ajuste une droite des moindres carrés sur le prix et une sur le RSI, sur la même fenêtre, et compare les signes — c'est la transposition littérale du trait tracé à la main. Elle exige un déplacement minimum de 0,3 point de prix et 6 points de RSI pour éviter le bruit.
Le signal donne le sens et les niveaux ; il reste à choisir quel contrat 0DTE acheter. La règle vient de vos propres trades.
Les cinq titres prennent le strike le plus proche du cours (strikeMode: nearest) parmi ceux qui passent la liquidité, la prime et le spread. QQQ a rejoint les trois actions le 25 août : il était le dernier en mode « bande de delta ».
Ce que ça change. Le contrat est au plus près de la monnaie : la transposition « le sous-jacent va à X, la prime vaut Y » reste fiable, le levier en pourcentage est plus faible qu'un OTM, et le moteur dispose de plusieurs candidats au lieu d'un seul.
Le mode « bande de delta » (0,45-0,55 ATM, 0,33-0,42 quand la cible dépasse 1,2 × ATR) existe toujours dans le code, mais plus aucun symbole ne l'utilise. La carte affiche « strike le plus proche du cours ».
Un contrat n'est retenu que s'il passe tous ces filtres — sinon le spread mange le rendement avant même que le trade commence :
Parmi les survivants, le moteur prend le plus proche du cours, avec un léger bonus pour l'intérêt ouvert et le volume. Si aucun contrat ne passe, le signal est annulé et consigné comme rejet — un bon setup sur un contrat illiquide n'est pas un bon trade.
1. Le banc mesurait un contrat que le moteur n'achetait pas. Test-Symbols.ps1, qui a fixé le plancher de stop à 1,5 et la cible à 1,5 R sur 60 séances, price au strike égal au cours d'entrée — une ATM parfaite de delta 0,50, soit le comportement de nearest, pas celui de la bande OTM. Toute la calibration de QQQ portait donc sur un autre contrat que celui retenu en direct.
2. Un seul candidat au lieu de quatre. Rejeu de la chaîne du 25 août à 12 h 50, cours 710,41 : en mode « delta », un seul strike passe les filtres ; en nearest, il y en a quatre. Avec un seul candidat, n'importe quel accroc sur ce strike — OI, volume, spread — tue l'entrée entière : c'est le profil des quatre refus PUT de 12 h 49 à 13 h 00 ce jour-là, le meilleur mouvement de la journée.
Ce que ça coûte. Moins de levier : ce 25 août, le PUT 710 (choix « delta ») faisait +143 % au plus bas contre +118 % pour le PUT 711 (choix nearest). Ce que ça rapporte : un contrat qui garde sa valeur — à la clôture, −99 % pour le 710 contre −62 % pour le 711 — et plusieurs candidats au lieu d'un.
Depuis le 25 août, chaque refus de contrat est journalisé strike par strike, avec le verdict de chacun (delta, prime, OI, volume, spread). Aucun comportement de sélection n'a changé : on écrit ce que la fonction décidait déjà en silence.
Deux plafonds, à ne pas confondre : 200 $ de risque par trade, et 5 000 $ de capital immobilisé en même temps.
Le risque est ce qu'on accepte de perdre si le stop est touché : plafonné à 200 $ par trade.
Le capital est ce qu'il faut sortir du compte pour ouvrir la position : une option longue se paie d'avance, prime × 100 × contrats. Plafonné à 5 000 $ en même temps, tous titres confondus.
Le second est toujours le plus gros — et il ne découle pas du premier. La page du jour affiche les deux : Risque sur chaque carte, Capital engagé à côté, et Capital nécessaire pour la journée entière.
Risque par contrat = prime d'entrée − prime au stop (les deux calculées en Black-Scholes, donc le vrai risque du trade, pas une estimation).
Nombre de contrats = 200 $ ÷ (risque par contrat × 100), arrondi à l'entier inférieur, avec un minimum de 1.
C'est un plafond dur. Si un seul contrat risque déjà plus de 200 $ — une prime d'entrée à 3,00 avec un stop à 0,50, par exemple — le trade est refusé, pas arrondi à un contrat. Le motif apparaît dans les rejets.
Le champ Risque de la carte affiche le montant réellement engagé, qui peut donc être un peu inférieur à 200 $ — ou supérieur si un seul contrat coûte déjà plus cher que le budget.
Puis la taille est rabotée pour que le capital reste sous 5 000 $, en comptant ce qui est déjà immobilisé sur les autres titres. Si un seul contrat ne rentre plus, le setup est refusé — et le rejet dit lequel des deux plafonds a bloqué.
maxLosingTradesPerDay à 0). Le moteur est en simulation : il doit montrer tous les signaux de la journée, pas seulement ceux d'avant la 2ᵉ perte. Le 11 août, l'arrêt était tombé à 10 h 56 — une minute avant le meilleur setup de la séance. La règle des 2 pertes reste en vigueur dans la stratégie de trading réelle : c'est le banc d'observation qui est ouvert, pas la discipline qui est abandonnée. Remettre la valeur à 2 la réactive.maxTradesPerDay à 0), même motif : en simulation, on veut voir tous les signaux. Il reste dans la stratégie de trading réelle.cooldownMinutes à 0). Les 5 minutes d'attente venaient du moteur, pas de la méthode : elles ont été retirées le 12 août. Une bougie donnée n'est de toute façon évaluée qu'une seule fois, donc le moteur ne peut pas réentrer sur celle qui vient de le sortir.Le nombre de contrats vaut risque ÷ risque-par-contrat. Donc plus le stop est serré, plus la position est grosse — le risque reste à 200 $, mais la mise, elle, enfle.
Le 13 août, un TSLA avec un stop de 0,13 pt a demandé 39 contrats à 3,39, soit 13 221 $ immobilisés pour 200 $ de risque affiché. Sur la journée entière : pic à 13 221 $, et 50 371 $ « déployés » au total.
Deux chiffres différents, à ne pas confondre. Le pic simultané est le maximum de ce qui est immobilisé en même temps : c'est le solde minimum réellement nécessaire. Le total déployé additionne toutes les entrées de la journée ; il est plus gros et ne veut rien dire comme besoin de compte, puisque deux trades qui se suivent réutilisent le même argent.
Ce que coûte le plafond. La même journée du 13 août, rejouée avec la limite à 5 000 $ : le pic tombe à 4 984 $, mais le net passe d'environ 3 300 $ à 1 550 $. Les gros gagnants du jour étaient précisément les positions surdimensionnées. Le plafond n'est pas gratuit — c'est un arbitrage assumé entre le résultat et le capital qu'il faut avoir sur le compte.
Le plancher de stop pousse dans le même sens : un stop plus large donne une position plus petite, donc moins de capital immobilisé. Avec les planchers posés sur QQQ et AMZN, la limite de 5 000 $ mord beaucoup moins souvent.
Vérifiées à chaque tour de boucle (20 s), pas seulement à la clôture d'une bougie : un stop ne peut pas attendre 5 minutes. Elles sont testées dans cet ordre.
| Déclencheur | Ce que fait le moteur |
|---|---|
| Stop | QQQ touche le niveau structurel → sortie totale, immédiate, notification prioritaire. |
| T1 · dernier plus haut | Le moteur ne sort pas en aveugle : il mesure d'abord la force /4 (voir ci-dessous). Force ≥ 3 → il ne solde qu'un tiers, remonte le stop au seuil d'entrée et vise T2. Force < 3 → il solde tout à la cible. |
| T2 · extension 127,2 | Le runner est soldé à l'extension fibo de la jambe. Uniquement après T1, et uniquement si l'extension est réellement au-delà de T1 — sinon la carte affiche « sans objet ici » et le runner sort sur les déclencheurs ci-dessous. |
| Point contraire MACD | Après T1 : croisement du MACD court dans le sens inverse → le runner est soldé. C'était le vrai signal de sortie manqué sur TSLA le 7 août à 11 h 32. |
| Divergence RSI | Après T1 : le prix fait un plus haut mais le RSI-5 un plus bas, avec un pivot hors 70/30 → runner soldé. |
| 3 chandelles contraires | Après T1 : trois bougies de 5 min consécutives contre le trade → runner soldé. |
| 15 h 55 | Clôture forcée de fin de séance, quel que soit l'état de la position. Aucun 0DTE n'est gardé jusqu'à l'expiration. |
C'est la décision que vous prenez à la main — monter ou abaisser le TP — transformée en checklist. 4 critères, 1 point chacun :
Le seuil est 3/4 (minForceToRun). La notification liste les critères réunis quand la cible est relevée, et les critères manquants quand le moteur solde.
Cas TSLA du 7 août : sortie à la première cible, 330,00, alors que le volume vert croissait, que le RSI montait et que les deux MACD étaient positifs. Le prix a continué jusqu'à 333,50.
Sortir systématiquement à la première cible tue les runners — or c'est là que vit une bonne part de l'espérance. Rejeu du 25 août : sur QQQ, les 14 stops perdent en moyenne 91 % de la prime, tandis que les 9 sorties « force faible » rendent +403 % et les 7 runners sortis sur divergence +249 %. Retirer les 3 plus gros gagnants fait tomber la moyenne de +169,1 % à +112,9 % — une forte dépendance, mais qui ne fait plus basculer le signe comme en août.
D'où le compromis : on sécurise un tiers, on remonte le stop au seuil d'entrée (le trade ne peut plus perdre), et on laisse le reste courir jusqu'à ce qu'un vrai signal de retournement apparaisse.
Le moteur n'a pas changé d'un iota : même journal, même page, mêmes notifications. Ce qui est nouveau, c'est ce qui se passe après le signal.
À chaque entrée, le moteur dépose un billet d'intention — qui périme en 90 secondes — dans ibkr-exec. Le billet passe 13 portes : journée arrêtée, pont vivant, titre autorisé, fenêtre horaire, billet frais, positions simultanées, trades du jour, pertes du jour, perte cumulée, ratio R:R, stop crédible, capital déployé, dimensionnement. Une seule suffit à l'arrêter. Ce qui survit part chez IBKR : ordre limite parent, stop conditionné au sous-jacent, T1 et liquidation horodatée à 15 h 55, le tout en OCA côté serveur.
Depuis le 25 août, la chaîne tourne au niveau du moteur. Elle avait jusque-là ses propres garde-fous, plus serrés : 125 $ de risque au lieu de 200, 2 positions au lieu de 4, 3 trades par jour, arrêt à 2 pertes, arrêt à −300 $, R:R minimum 1,5 au lieu de 1,0, et vente de la moitié à T1 au lieu d'un tiers. Résultat mesuré : les 24 et 25 août, le moteur a pris 29 positions, la chaîne en a exécuté 3. Ces plafonds sont désormais ceux du moteur. Restent propres à la chaîne les quatre portes qui ne parlent pas de stratégie mais d'intégrité : pont vivant, billet frais (90 s), titre autorisé, capital déployé (5 000 $) — et journée-arrêtée, qui ne se déclenche jamais sur une perte, seulement sur une exposition inconnue.
C'est le mode qui fait foi, et il vit dans ibkr-exec/config.json : dryrun (aucune connexion, remplissages simulés), paper (compte papier IBKR — le mode en service), live (compte réel, avec approbation manuelle billet par billet). On monte d'un cran à la main, jamais automatiquement.
En bas de la page, il indique où le moteur s'est arrêté à chaque bougie analysée, et combien de fois. C'est le diagnostic d'une journée sans signal : il dit si le marché n'offrait rien, ou si un réglage est trop serré.
| Libellé | Traduction |
|---|---|
| sens interdit par la tendance | Le setup allait contre la direction de la séance. C'est normalement le plus gros compteur, et c'est mécanique : à chaque bougie, un des deux sens est forcément écarté — si la séance monte depuis son ouverture, le PUT est refusé d'office. Les compteurs sont séparés par échelle (« 5 min — … » et « 1 min — … »). |
| pas de croisement MACD court | La tendance était bonne, mais aucune reprise après repli sur les 3 dernières bougies. On est au milieu d'une jambe, pas à un point d'entrée. |
| RSI-5 pas en zone extrême | Il y a bien eu un repli et un croisement, mais le repli était trop mou : le RSI-5 n'est jamais descendu sous 40 (ou monté au-dessus de 60). |
| pas de jambe exploitable / jambe trop courte | Pas assez de pivots confirmés pour construire une jambe A→B, ou amplitude sous 0,62 × ATR : rien à transposer en cible. |
| plus assez de place jusqu'au dernier plus haut | Le setup est arrivé trop tard : le prix est déjà collé à sa cible. C'est le compteur à surveiller — s'il domine, c'est que les entrées sont détectées avec du retard. |
| R:R sous 1 / risque dégénéré | Tout était réuni mais le stop était trop loin de l'entrée par rapport à la distance restante. Le trade aurait risqué plus qu'il ne pouvait rapporter. |
| pas assez de confluences | Le noyau était complet, aucun élément d'appui détecté. Rare, puisqu'une seule confluence suffit. |
| avant l'heure d'entrée du titre | Le setup était complet, mais l'heure de première entrée du symbole n'était pas atteinte — QQQ avant 11 h 00. Le moteur continue de scanner et de compter : c'est ce compteur qui dira ce que la borne coûte ou sauve. |
Les valeurs modifiables vivent dans config.json. Elles ne sont pas devinées : elles viennent d'un balayage sur 60 séances. Les autres sont fixées dans le code, parce que les changer change la nature de la méthode.
| Réglage | Valeur | Ce qu'il change si on le touche |
|---|---|---|
signalTfMinutesunité de temps du signal | 5 | Plus court (1-2 min) = beaucoup plus de signaux, mais du bruit et des stops très serrés. Plus long (15 min) = presque aucun signal dans une fenêtre de 2 h. |
minRRR:R minimum | 1,0 | Le filtre le plus sensible. À 2,0 (valeur d'origine), l'entonnoir se vidait presque entièrement. Le monter réduit le nombre de trades bien plus vite qu'il n'améliore leur qualité. |
minConfluencesappuis minimum | 1 | À 2 ou 3, on ne garde que les setups parfaits — et il en passe quelques-uns par mois. |
rsiExtremeseuil de survente | 40 | Le seuil miroir (60) en découle automatiquement. Passé de 30 à 40 le 12 août : dans votre méthode, 30/70 est la zone de départ et non un seuil à franchir, et le RSI-5 n'atteint quasiment jamais 30 en repli sain (médiane à 50). Le redescendre à 30 refermerait la porte sur la majorité des replis. |
macdCrossLookbackfraîcheur du croisement | 3 | Combien de bougies après le croisement du MACD court l'entrée reste valable. Au-delà de 3, on entre trop tard dans la reprise. |
trendModedéfinition de la tendance | intraday | intraday = direction de la séance en cours, mesurée depuis son ouverture de 9 h 30 — le seul mode qui bascule pendant la journée, et c'est voulu · sess24 / sess48 = biais figé avant l'ouverture sur 1 ou 2 séances · macdhist = histogramme du MACD long · ema200slope = cours du bon côté de l'EMA 200 avec pente concordante. Aucune ne domine en mesure — voir l'encadré en bas de page sur le choix de intraday. |
biasDeadZoneAtrzone morte du biais | 0,25 × ATR | Tant que le prix reste à moins d'un quart d'ATR de son ouverture, la séance est jugée sans direction et aucun sens n'est autorisé. Évite de basculer à chaque oscillation dans les premières minutes. |
maxDteéchéance la plus lointaine | 1 jour | 0 = 0DTE strict, le comportement d'origine. 1 autorise l'échéance du lendemain, ce qui rend NVDA, TSLA, AMZN et AAPL négociables les mardis et jeudis. Les bornes de prime et le seuil d'intérêt ouvert s'adaptent alors tout seuls — voir la section sur les symboles. Non mesuré : le rejeu 60 séances ne couvre que les échéances du jour. |
signalTimeframeséchelles balayées | 5 et 1 min | Chaque titre est cherché sur les deux échelles à chaque tour, la première qui produit un setup prend le trade, et l'échelle est enregistrée sur celui-ci pour que ses sorties soient jugées dessus. Ce n'est volontairement pas un réglage par titre : le 10 août, QQQ ne montrait rien en 1 min et deux setups en 5 min, tandis qu'AMZN était lisible en 1 min. Réserve : Yahoo ne sert que 7 jours d'historique en 1 minute — contrairement au reste du moteur, le balayage 1 min n'a pas de mesure sur 60 séances derrière lui. |
sidesAllowed | both | call désactive tous les PUT. Attention : dans le rejeu, ce sont les PUT qui portent le résultat sur QQQ (+16 % contre 0 % pour les CALL) — les couper ramène le symbole à l'équilibre. |
zoneMode · zoneTolAtrcondition d'entrée | entry · 0,5 | off = pas de filtre de zone (l'ancien comportement) · entry = le prix d'entrée doit être sur un niveau · tested = c'est le creux du repli qui doit avoir touché le niveau, la bougie clôturant du bon côté — on achète le rejet du support, pas sa proximité. zoneTolAtr est la tolérance en multiples d'ATR. |
minLegAtramplitude de jambe | 0,62 × ATR | Écarte les micro-structures dont la cible serait à quelques cents. Exprimé en multiples d'ATR depuis l'ajout de NVDA : les 0,9 point d'origine valaient 0,12 % du prix sur QQQ mais 0,40 % sur NVDA — trois fois plus sévère. Concrètement : ≈ 1,00 pt sur QQQ, ≈ 0,55 pt sur NVDA. |
windowStart · lastEntryhardClose · windowEnd | 9:30 · 14:00 15:55 · 16:00 | Les bornes de la journée. windowStart est passé à 9 h 30 le 12 août (la tâche démarre à 9 h 28 pour être en place à la cloche). lastEntry arrête les entrées, hardClose solde ce qui reste ouvert : deux choses différentes depuis le 10 août. Allonger la fenêtre a été le changement le plus déterminant mesuré à ce jour (voir « Une journée type »). |
entryStartheure de 1re entrée | QQQ 11:00 les autres : 9:30 | Posé le 24 août sur QQQ seul. Le suivi commence toujours à 9 h 30 — il faut la matinée pour construire le biais, le profil de volume et le range des 30 premières minutes ; seule la porte d'entrée est fermée. Rejeu 60 séances balayant 9:30 / 9:50 / 10:30 / 11:00 / 11:30 : QQQ améliore toutes ses colonnes et de façon monotone (gagnants 51 → 56 %, médiane +23,6 → +119,0, hors top 3 +91,1 → +115,7, N 49 → 39) — une pente, pas un pic. NVDA se dégrade, TSLA et AMZN se contredisent : d'où l'absence du champ chez eux. Bémol : sur les 12 séances vécues, la borne n'aurait retiré que 9 trades QQQ pour 271 $ de pertes évitées sur 2 882 $ de dégâts du matin, et 8 de ces 9 étaient des signaux 1 min, échelle qu'aucun rejeu 60 séances ne peut mesurer. |
symbols[]bloc par symbole | QQQ, NVDA, TSLA, AMZN, AAPL | Chaque entrée porte ses bornes de prime, ses seuils de liquidité et ses jours d'échéance. Ajouter un symbole = ajouter un bloc. À vérifier avant tout ajout : l'écartement des strikes — au-delà de ~0,5 % du cours, il faut strikeMode: nearest, sinon la bande de delta est vide et aucun contrat n'est retenu. |
targetRMultcible en multiple du risque | 0 désactivé | Posé à 1,5 le 24 août, remis à 0 le 28. À 0, T1 est le dernier plus haut — la règle du carnet. Trois séances à 1,5 R ont divisé la gagnante moyenne par deux sans améliorer le taux d'atteinte de la cible, contrairement à ce que le banc 5 min annonçait — voir l'encadré « La cible à 1,5 × le risque ». |
minRoomAtrplace restante | 0,8 × ATR | Distance minimale jusqu'au dernier plus haut. C'est ce qui empêche d'entrer quand le mouvement est déjà fait. |
maxRoomAtrplafond de distance | 0 désactivé | Le pendant de minRoomAtr : au-delà de ce plafond, on viserait le plafond plutôt que le dernier plus haut. Laissé à 0 tant que le balayage 2 / 2,5 / 3 n'est pas dépouillé (cas d'école : AMZN du 13 août, T1 à 7,31 × ATR alors que le prix n'a jamais dépassé 2,54). |
biasReversalMinutes · biasReversalAtrcontre-attaque | QQQ 30 · AMZN 20 NVDA · TSLA : 0 0,75 × ATR | Ajouté le 12 août. Rouvre le sens interdit par le biais quand la jambe est finie (extrême de séance vieux d'au moins N minutes) et payée (le cours en est revenu de 0,75 × ATR). Le rejeu 60 séances ne va pas dans le même sens partout : QQQ 30 min (hors top 3 −0,7 → +42,7), AMZN 20 min, NVDA et TSLA 0 — la contre-attaque les dégrade. |
strikeModechoix du strike | nearest sur les 5 titres | nearest = strike le plus proche du cours parmi ceux qui passent les filtres · delta = l'ancienne bande 0,45-0,55 / 0,33-0,42. NVDA, TSLA et AMZN sont en nearest depuis le 10 août (strikes espacés de 2,50 $), QQQ depuis le 25 août, AAPL dès son ajout le 1er octobre. |
minForceToRunseuil du runner | 3 / 4 | Sous ce score à T1, tout est soldé. Le baisser à 2 laisse courir plus souvent — et rend les mauvais jours plus mauvais. |
maxTradesPerDay | 0 désactivé | Plafond de séance par symbole, toutes issues confondues. Mis à 0 le 12 août : mode observation. Était 3. |
maxLosingTradesPerDay | 0 désactivé | Règle d'arrêt de la journée, comptée sur les quatre titres ensemble. Mise à 0 le 12 août, donc sans effet : en simulation, on veut voir tous les signaux. À 2, la journée s'arrêtait au 2ᵉ trade perdant — le 11 août, à 10 h 56, une minute avant le meilleur setup du jour. Toute valeur supérieure à 0 la réactive. |
riskPerTradeUsd | 200 $ | Risque par trade — plafond dur : détermine le nombre de contrats, et refuse le trade si un seul contrat dépasse déjà l'enveloppe. |
maxCapitalUsd | 5 000 $ | Capital immobilisé en même temps, tous titres confondus. Ajouté le 13 août. Ce n'est pas le risque : une option longue se paie d'avance, et un stop serré gonfle la position. La taille est rabotée pour tenir sous ce plafond ; si un seul contrat ne rentre pas, le setup est refusé. |
minStopAtr | QQQ 1,5 AMZN 1,0 NVDA · TSLA · AAPL : 0 | Plancher de largeur du stop, en multiples de l'ATR. Posé le 13 août après balayage des deux échelles de signal, et seulement là où 5 min et 1 min sont d'accord. |
cooldownMinutes | 0 aucune pause | Pause après une sortie. Mise à 0 le 12 août — cette règle ne venait pas de la méthode. Était 5 min. |
vpLookbackBarsprofil de volume | 160 | Combien de bougies de 5 min avant l'ouverture du jour entrent dans le profil de volume (≈ 2 séances de contexte). |
divLookback · divSlopeWindowdivergences 5 min | 40 · 12 | Fenêtre de recherche des pivots, et fenêtre de la régression de pente. |
divLookbackFine · divSlopeWindowFinedivergences 1 min | 60 · 60 | Mêmes réglages sur la série fine — 60 bougies de 1 min = une heure. |
pollSeconds | 20 | Rythme de la boucle : gestion des sorties et rafraîchissement du cours. |
deployEveryMinutes | 3 | Fréquence de publication du site (forcée immédiatement à chaque entrée ou sortie). |
ntfyTopic | — | Le canal des notifications mobiles. Le changer coupe les alertes tant que le téléphone n'est pas réabonné. |
execBridgepont d'exécution | activé | Ajouté le 18 août. Dépose un billet dans ibkr-exec/tickets à chaque entrée, avec une limite placée à 60 % du spread. enabled: false coupe tout net. Ne pilote aucun ordre réel : c'est le champ mode de ibkr-exec/config.json qui décide (dryrun / paper / live). |
config.json)Indicateurs : RSI 5 (lissage de Wilder), ATR 14, MACD court 8-13-9, MACD long 100-200-50, Stochastique 14-3-3, EMA 9 / 21, pivots fractals 2-2.
Stop : tampon max(0,08 ; 0,15 × ATR), plafonné à 1,2 × ATR d'écart. Contrat : spread ≤ 12 %, IV entre 1 et 300 % ; les bornes de prime, de liquidité et le mode de strike sont par symbole. Les bandes de delta 0,45-0,55 / 0,33-0,42 sont toujours dans le code mais plus aucun symbole ne les utilise depuis le 25 août.
Profil de volume : pas de 0,10 $, zone de valeur à 70 % du volume, nœuds retenus à partir de 1,3 × la charge moyenne. Black-Scholes : taux sans risque 4,3 %, expiration calée sur 16 h 00 le jour même.
Rejeu du 25 août 2026 sur la configuration réellement en service, un passage par titre avec ses réglages. Voici ce qu'il a donné, sans arrondi favorable.
Test-Calibrate.ps1, qui contenait une collision de variables : le nom d'une variable servant d'index de bougie était réutilisé pour le strike (PowerShell ne distingue pas la casse). L'horodatage d'entrée était donc pris sur une bougie arbitraire, et le temps restant jusqu'à l'expiration avec — ce qui gonflait les rendements. Le même bug, reproduit puis corrigé sur les mêmes données, transformait −16,2 % en +20,9 %. Tout ce qui suit vient d'un banc réécrit, Test-Symbols.ps1.
| 5 min · 60 séances · configuration en service | Trades | / séance | Gagnants | Moyenne | Médiane | Sans le top 3 | T1 atteint |
|---|---|---|---|---|---|---|---|
| QQQ entrées à partir de 11 h | 39 | 0,65 | 56 % | +169,1 % | +135,0 % | +112,9 % | 54 % |
| NVDA jours d'échéance | 35 | 1,00 | 37 % | +48,0 % | −19,7 % | +2,4 % | 34 % |
| NVDA toutes séances | 59 | 0,98 | 39 % | +32,1 % | −19,7 % | +3,1 % | 36 % |
| TSLA jours d'échéance | 40 | 1,14 | 52 % | +39,6 % | +13,9 % | +5,6 % | 52 % |
| TSLA toutes séances | 72 | 1,20 | 49 % | +33,9 % | −7,9 % | +12,5 % | 49 % |
| AMZN jours d'échéance | 50 | 1,43 | 28 % | +18,5 % | −52,4 % | −17,1 % | 28 % |
| AMZN toutes séances | 92 | 1,53 | 33 % | +19,1 % | −51,4 % | −0,4 % | 33 % |
Deux lignes pour les trois actions : jours d'échéance seulement (lun/mer/ven) et toutes séances, puisque maxDte: 1 les rend négociables les mardis et jeudis sur l'échéance du lendemain. QQQ a une échéance tous les jours.
| 1 min · 7 séances · même configuration | Trades | Gagnants | Moyenne | Médiane | Sans le top 3 |
|---|---|---|---|---|---|
| QQQ entrées à partir de 11 h | 21 | 29 % | −8,0 % | −23,6 % | −17,6 % |
| NVDA échéance / toutes | 12 / 20 | 50 / 45 % | +11,0 / +5,9 % | +22,0 / −7,8 % | −1,7 / −1,7 % |
| TSLA échéance / toutes | 7 / 16 | 14 / 19 % | −19,1 / −11,2 % | −18,3 / −12,4 % | −29,3 / −18,7 % |
| AMZN échéance / toutes | 10 / 19 | 40 / 42 % | −1,2 / +0,2 % | −23,3 / −17,3 % | −20,9 / −8,7 % |
| 60 séances · configuration du 10 août | Trades | Gagnants | Moyenne | Médiane | Sans le top 3 |
|---|---|---|---|---|---|
| QQQ | 47 | 23 % | +38,4 % | −32,7 % | −16,8 % |
| NVDA | 31 | 35 % | +64,7 % | −27,9 % | +1,8 % |
| TSLA | 29 | 38 % | +51,9 % | −23,7 % | −3,6 % |
| AMZN | 23 | 22 % | +4,4 % | −30,4 % | −32,3 % |
Entrées 9:50-14:00 pour la recherche mais clôture 15:55, RSI-5 à 30, aucun plancher de stop, cible au dernier plus haut, pas de contre-attaque. C'est cette mesure qui a servi à poser trendMode: intraday et zoneMode: entry.
intraday n'est pas justifié par ces chiffres. Face à l'ancien sess24, sur les mêmes 60 séances, il fait mieux sur TSLA (38 % de gagnants contre 26 %, dernière colonne −3,6 contre −21,1) et sur NVDA, mais moins bien sur QQQ (−16,8 contre +23,9 sans le top 3) et sur AMZN. Deux victoires, deux défaites, et 35 % de trades en moins.sess24 jugeait les quatre titres haussiers et interdisait 7 de ces 9 entrées dès la première étape de l'entonnoir, sans jamais regarder le RSI ni le MACD. intraday retrouve sa lecture sur QQQ, NVDA et AMZN. Le but du moteur est de jouer sa méthode, pas de gagner une rétro-mesure.
Ce tableau a été mesuré avec la cible à 1,5 R, retirée le 28 août. Les colonnes ci-dessous décrivent donc une configuration qui n'est plus tout à fait celle en service : à relire comme la mesure d'un état daté, pas comme la promesse d'aujourd'hui. À remesurer.
La lecture avait changé de signe le 25 août. Avec la cible à 1,5 R, le plancher de stop et la borne de 11 h, le trade typique de QQQ gagne (médiane +135 %) au lieu de perdre, et il en reste +112,9 % une fois les trois meilleurs retirés. TSLA repasse au-dessus de zéro sur les deux colonnes de queue. Ce n'est plus la même distribution : moins de coups de loterie, beaucoup moins de pertes sèches.
Le prix payé : moins de trades. QQQ tombe à 0,65 trade par séance — deux tiers de la matinée sont fermés. Une partie du gain vient donc de setups refusés, pas de setups mieux gérés.
AMZN reste le point noir, et ce n'est plus le portrait d'avant : médiane à −52 %, 28 % de gagnants les jours d'échéance, et un recul avant T1 de 1,5 ATR — le plus large des quatre, donc le stop le plus souvent pris à tort. Sa seule ligne présentable (−0,4 % hors top 3, toutes séances) tient à un unique trade sorti à +1 007 %.
Ce que coûte le stop. En ignorant tout stop, T1 serait atteint dans 51 % des cas sur QQQ, 63 % sur NVDA, 70 % sur TSLA et 48 % sur AMZN. L'écart avec la colonne « T1 atteint », c'est exactement ce que le stop retire : énorme sur NVDA (63 → 34 %), presque nul sur QQQ (51 → 54 %, où le plancher à 1,5 ATR fait son travail).
Échantillons minuscules. 35 à 92 trades par ligne en 5 min, et 7 à 21 seulement en 1 min. Une série de 5 pertes d'affilée est parfaitement compatible avec ces chiffres, et 3 trades en moins suffisent parfois à inverser le signe — c'est ce que montre la dernière colonne.
Les deux échelles ne racontent pas la même histoire. En 5 min sur 60 séances, la configuration actuelle est nettement positive sur QQQ et TSLA ; en 1 min sur 7 séances, elle est négative presque partout. Or 111 des 148 positions réellement prises sont des signaux 1 min. Tant que Yahoo ne sert que 7 jours à cette maille, l'échelle qui produit le plus de trades réels restera la moins bien mesurée — c'est la réserve la plus importante de cette page.
Papier. Aucun ordre n'est passé, aucun slippage n'est simulé, le remplissage est supposé parfait au prix modélisé. La réalité sera moins favorable, pas plus.
Prime théorique. Black-Scholes sur un flux d'options différé de ~15 min.
Gestion à la maille du signal. Le banc gère les sorties sur les bougies de l'échelle rejouée ; les mèches intra-bougie sont donc approchées, et le rejeu 5 min n'a pas les divergences 1 min dont dispose le moteur en direct.
Un rejeu par titre. Chaque ligne vient d'une exécution séparée, qui recharge Yahoo : deux lignes se lisent chacune pour elle-même, pas l'une contre l'autre.