Balayage de paramètres : axes lus dans le script, plafond de combinaisons
Le balayage de paramètres est le bloc « Paramètres à balayer » du backtest automatique dans le Replay. Chaque axe est une clé de paramètre avec une liste de valeurs séparées par des virgules ; le moteur les développe en produit cartésien, plafonné à 400 combinaisons, et le walk-forward retient la meilleure configuration par tranche.
Senzoukria · Documentation · Mis à jour en septembre 2026
Où le trouver
- Où
- Replay → Backtest automatique → « Walk-forward — trouver la meilleure configuration » → Paramètres à balayer
- Axes par défaut
- lookback 10, 20, 40 · stopTicks 20, 40, 80 · targetTicks 40, 80, 160 (27 combinaisons) tant que le script n'est pas lu
- Plafond strict
- 400 combinaisons (MAX_COMBOS) ; au-delà l'exécution est refusée, pas tronquée
- Critère de sélection
- SQN par défaut ; Profit factor, Espérance par trade ou Sharpe par trade
Ce que ça fait
Un balayage transforme une stratégie en grille de configurations. Chaque axe est une clé de paramètre et une liste de valeurs saisie sous la forme « 10, 20, 40 ». Le moteur construit le produit cartésien de tous les axes par-dessus les paramètres de base de la stratégie (expandSweep), puis exécute un backtest par combinaison sur les mêmes barres, séquentiellement, pour que l'interface reste utilisable pendant l'exécution.
À l'intérieur du walk-forward, la grille est réévaluée sur la partie d'entraînement de chaque tranche ; la configuration avec la meilleure note est ensuite testée sur la partie de la tranche qui n'a pris aucune part au choix. Le compteur sous les axes indique « {n} combinaisons × {folds} tranches — environ {duration} » pour que vous connaissiez le coût avant de presser Lancer.
Les axes sont proposés depuis le script lui-même. Un lecteur statique (parametresLus) parcourt la source à la recherche de params.get("key", default), params["key"], params.key ?? default et des alias lambda ou flèche d'une ligne qui enveloppent params. Les scripts C++ n'exposent aucun params dans l'ABI v1 : rien ne leur est donc proposé. Une clé que le script ne lit jamais affiche l'avertissement « Ce script ne lit jamais “{key}” : la balayer renverrait des résultats identiques. »
Réglages
| Réglage | Par défaut | Ce qu'il change |
|---|---|---|
| Tranches | 4 (saisie 2–12) | Nombre de plis consécutifs et disjoints ; chaque pli s'entraîne sur son début et teste sur sa fin |
| Part d'entraînement | 0,7 (0,5–0,9, pas de 0,05) | Fraction de chaque tranche utilisée pour choisir la configuration ; le reste constitue le test hors échantillon |
| Critère de sélection | SQN | Note utilisée pour classer les combinaisons : SQN, Profit factor, Espérance par trade ou Sharpe par trade. Le P&L brut est délibérément absent |
| Clé / valeurs d'un axe | lookback, stopTicks, targetTicks avec trois valeurs chacun | Une ligne par paramètre ; les entrées vides ou non numériques sont abandonnées silencieusement |
| Ajouter un paramètre | — | Ajoute le paramètre suivant lu par le script qu'aucun axe n'utilise encore, avec des valeurs proposées ; sinon une ligne vide |
| Explorer tous les paramètres lisibles (n) | — | Remplace les axes par jusqu'à cinq paramètres lus dans le script, avec des valeurs autour de leurs défauts |
| Retirer ce paramètre | — | Supprime la ligne de l'axe |
| Trades minimum | 10 (constante du moteur) | Une configuration avec moins de transactions reçoit −∞ et ne peut jamais être sélectionnée |
Comment les valeurs proposées sont construites
- Un entier par défaut ≥ 2 est traité comme une fenêtre ou un compte : la proposition est la moitié, la valeur par défaut et le double (20 → 10, 20, 40).
- Une valeur par défaut dans ]0, 1] est traitée comme une proportion : ±0,1, maintenue strictement entre 0 et 1.
- Tout autre nombre est traité comme un facteur : ±25 %, arrondi à deux décimales.
- qty, color et colour ne sont jamais proposés : la quantité multiplie le résultat sans changer une décision. Vous pouvez toujours les saisir à la main.
- Trois axes sont proposés par défaut, dans l'ordre où le script les lit ; le bouton éclair élargit à cinq.
Limites et pièges
Le plafond de 400 combinaisons n'est pas un réglage de performance. Le panneau le dit franchement : chaque combinaison supplémentaire est un tirage de plus dans les mêmes données, et passé ce point vous mesurez la chance d'un sur-ajustement plutôt qu'une stratégie. Resserrez une plage ou balayez moins de paramètres à la fois.
Le lecteur est statique. Il ne peut pas voir une clé construite à l'exécution (params.get("hmm" + suffixe)) ni une boucle sur un dictionnaire ; ces paramètres doivent être saisis à la main. Inversement, les axes cessent de suivre le script dès que vous les modifiez ; une action « relire le script » rend la main.
Le nombre d'essais transmis au Sharpe dégonflé est le nombre de combinaisons, pas combinaisons × tranches ; valider proprement ne vous est pas compté à charge. Voir la page des tests de sur-ajustement pour savoir comment ce compte alimente le PSR, le DSR et le PBO.
Pages liées
- Le trading quantitatif pour débuter
- Tests de sur-ajustement
- Verdict Gauntlet
- Guide du backtest futures
- Comment tester une stratégie de trading
Cette page dans d’autres langues
Questions fréquentes
- Pourquoi mon balayage renvoie-t-il des résultats identiques pour chaque combinaison ?
- La clé balayée n'est pas lue par le script. Le panneau le signale désormais (« Ce script ne lit jamais… ») ; remplacez-la par l'un des paramètres proposés depuis la source, ou ajoutez l'appel params.get à votre script.
- Puis-je balayer plus de 400 combinaisons en lançant deux fois ?
- Vous le pouvez, mais chaque exécution est une nouvelle série de tirages sur les mêmes barres, et le Sharpe dégonflé ne connaît que les essais de l'exécution en cours. Le plafond existe pour que la correction reste honnête ; préférez moins d'axes avec des pas plus larges.
- Le balayage tourne-t-il en parallèle ?
- Non. Le moteur exécute les combinaisons les unes après les autres et rapporte la progression au fil de l'eau, pour que le panneau reste lisible pendant que la grille est traitée. L'estimation affichée à côté du compte de combinaisons sert à planifier l'exécution avant de la lancer.