Statut

Chargement...

Actions rapides

Nouvelle stratégie

Chargement...

Éditer la stratégie

Enregistrer cree une nouvelle version (les anciennes restent conservees).

Chargement...

Bibliothèque

Chargement...

Nouveau backtest

Si coché, le backtest tourne hors process API. Avec CLOUD_OPTIMIZATION_BACKEND=gcp il part sur Cloud Run Jobs (même infra que les optis). Sinon worker local isolé.
1er run pour mesurer T (percentile de durée en barres), puis 2e run : sortie forcée avant chaque trou > 2h, pas d'entrée sur les T barres précédentes.
Uniquement les bar sizes déjà téléchargés.
Dans la plage téléchargée du bar size.
% interpolé selon equity − risque ouvert (avant l'entrée).
Fixe = toujours le capital initial. Suivi = equity courante.
Pas de nouvelle entrée tant que le plafond est atteint.
Fenêtres glissantes avec capital remis à zéro.
Doit être ≤ période.
0 = désactivé. Sinon métriques hors top n% winners.
% max
Si le max DD dépasse la cible, relance 1× avec tailles ÷ (DD / cible).
0 = désactivé. Sinon refuse l'entrée si comm. / (stop+comm.) dépasse ce %.
Aucune = ignore le modele broker (test theorique).
Applique aux fills. Slippage = 25% du spread médian.
Cochez les filtres à combiner (ET). Les entrées ne passent que si tous les filtres actifs (tendance + temporels) sont vrais. Aucune case = pas de filtre.
Sessions et jours en heure Europe/Paris. Même logique ET que ci-dessus ; bloquent uniquement les nouvelles entrées (pas de fermeture forcée des positions).

Éditer backtest

Même backend que les optimisations (CLOUD_OPTIMIZATION_BACKEND).
Uniquement les bar sizes déjà téléchargés.
Dans la plage téléchargée du bar size.
% interpolé selon equity − risque ouvert (avant l'entrée).
0 = désactivé. Sinon métriques hors top n% winners.
% max
Cochez les filtres à combiner (ET). Les entrées ne passent que si tous les filtres actifs (tendance + temporels) sont vrais.
Sessions et jours en heure Europe/Paris. Bloquent uniquement les nouvelles entrées.
Chargement...
Chargement...

Ajouter une combinaison

Chargement...
Tant qu'il reste du 1h en file (pas encore lancé), on n'en prend que du 1h. Les jobs déjà en cours n'empêchent pas de remplir les slots libres avec 30 min, puis 15 min…

Nouvelle optimization

Si coché, chaque optimisation (marche × stratégie) est marquée cloud. Avec CLOUD_OPTIMIZATION_BACKEND=gcp elles partent sur Cloud Run Jobs (plafond reglable dans System). Sinon workers locaux isoles.
Mode local uniquement (désactivé si Calcul cloud). Une fois démarrée, l'opti évalue tous ses candidats d'affilée au lieu du round-robin equitable 1/N → 2/N entre optimisations.
Applique à chaque candidat (2 passes : mesure T puis run avec sorties avant trous > 2h).
Critère pour classer et, en recherche locale, recentrer autour du meilleur. Les objectifs « Stab. » exigent l'analyse de stabilité activée. TradeCV, PnL CV, Max/Moy. sous l'eau : plus bas = meilleur (note = −métrique).
% interpolé selon equity − risque ouvert (avant l'entrée).
Fixe = toujours le capital initial. Suivi = equity courante.
Pas de nouvelle entrée tant que le plafond est atteint.
Rejoue chaque candidat par fenêtres (plus long).
0 = désactivé. Applique à chaque candidat si > 0.
% max
Si le max DD dépasse la cible, relance 1× avec tailles ÷ (DD / cible).
0 = désactivé. Refuse l'entrée si comm. / (stop+comm.) > ce %.
Aucune = ignore le modele broker (test theorique).
Applique aux fills. Slippage = 25% du spread médian.
Coché : hors seuil, la note est atténuée par ((actuel - origine) / (seuil - origine))^force (produit des contraintes ET, max dans un groupe OU). Dans le seuil, rien ne change. L'origine (facteur 0) est du côté pire : ≥ / > en dessous du seuil (seuil - |seuil|), ≤ / < au-dessus (seuil + |seuil|). Elle se recalcule quand tu saisis la valeur ou la comparaison ; tu peux la modifier ensuite (ex. ×3). Force 1 = linéaire, 2 = carré (défaut), 3 = cube (défaut trades / trades/mois). Une note négative est empirée, jamais améliorée (y compris TradeCV, PnL CV, Max/Moy. sous l'eau, Min drawdown). Décoché : hors classement si une contrainte tombe. Chaque groupe OU exige au moins une règle vraie. Les groupes OU et les règles obligatoires (ET) se combinent entre eux par ET. Valeur 0 (avec ≥) = règle ignorée. La note atténuée sert au classement des candidats et à la recherche de filtres.
Appliques à tous les candidats. Combinaison ET avec les filtres temporels : chaque entrée doit satisfaire tous les filtres cochés.
Sessions et jours en heure Europe/Paris. Bloquent uniquement les nouvelles entrées (pas de fermeture forcée).
Les candidats sont classes sans recherche de filtres. La recherche n'est lancée qu'une fois, À la fin, sur le gagnant.

Balayage par axes

Chaque passe parcourt les paramètres cochés dans un ordre aléatoire. Flottants : paliers points entre −amplitude % et +amplitude %. Entiers : paliers autour de la base (20 → ±10), élargi si l'amplitude % est plus large, puis borné par min/max et aligné sur le palier (step) déclaré par la stratégie. Le pic retenu est celui du score de zone robuste (médiane − λ×MAD, fenêtre L), pas le max brut. La passe suivante reprend depuis ces valeurs, avec un nouvel ordre.

Flottants : points sur l'axe. Entiers : ±N/2 autour de la base
L voisins pour la médiane / MAD
score = médiane − λ × MAD (0 = médiane seule)
Passages complets (nouvel ordre à chaque passe)

Recherche locale

Timeframe et dates fixes par marche (liste ci-dessous). Le 1er essai utilise les valeurs de base ; ensuite chaque itération perturbe les paramètres cochés de ±% autour du N-ieme meilleur éligible (rang configurable, défaut 5) selon l'objectif choisi.

1 = meilleur, 2 = 2e meilleur…

Tirage aléatoire

Tire N combinaisons distinctes dans les plages cochées « Optimiser » (bornes et paliers de la stratégie). Les paramètres non cochés restent à la valeur fixe. Le coût est N backtests, pas le produit cartésien d'une grille.

Nombre de combinaisons à évaluer (défaut 50)

Stratégies à optimiser

Sélectionnez une stratégie pour afficher ses paramètres, ajustez-les, puis ajoutez-la à la liste - ou ajoutez toutes les stratégies d'un coup (paramètres par défaut selon Léger / Profond). Chaque combinaison marche × stratégie lance une optimisation séparée.

Léger (défaut) : seuils, stops, périodes d'identité (EMA, VWAP, BB). Les lookbacks type 14 restent au défaut. Profond : ajoute les axes secondaires (take-profit, période RSI, etc.). Tu peux encore cocher ou décocher à la main. Les stratégies déjà dans la liste ne changent pas.

Cochez « Optimiser » pour explorer une plage ou une liste (instruments, timeframes, paramètres) ; sinon la valeur fixe est utilisée.

Enregistré automatiquement. Après un lancement, le formulaire est restauré : vous pouvez vider ou changer les marches / la période, puis relancer.
ntfy · métrique = tri actuel
Filtres métriques

Masque les optimisations dont le meilleur résultat ne satisfait pas toutes les conditions (ET). Les jobs sans résultat sont masqués tant qu'un filtre est actif. Décochez Actif pour ignorer un filtre sans le supprimer (seuil conservé). Les métriques du groupe « Données non FTMO » portent sur les stats calendaires du backtest Dukascopy : sans rejeu terminé, le job est masqué.

Instruments Tous

Par défaut : tous. Decochez un instrument pour masquer ses optimisations. La liste propose tous les instruments des optimisations, en cours ou non. Quantites : nombre actuel, puis nombre restant après les filtres métriques.

Aucun instrument.

Exclusion manuelle stratégie × instrument × bar size (ignorée au lancement, sauf N % System).
Chargement...
Chargement...

Pont distant

Echange des snapshots avec l'autre Strategy Lab (URL configuree dans FTMO).

Reçoit ou envoie les snapshots marques (instrument, TF, params, filtres, T, stats). Réutilise le pont FTMO. Aucun run paper/live n'est démarre.

Cases pont :
Configurez le pont, puis chargez le catalogue distant.

Snapshots marques

Performances passees (atelier), validation (quantile choisi), puis moyenne pondérée (base du tri).
Passe (atelier) 50% / 50% Validation
Poids de la moyenne pondérée : à gauche = 100% passe, à droite = 100% validation (défaut 50/50). Les métriques cumulées (PnL, rendement, trades…) et annualisees sont ramenees / mois avant moyenne (passe ÷ durée atelier, validation ÷ durée fenêtre ; exposition / DD / win rate / RoMaD / Sharpe inchanges).
Chaque snapshot est rejoué sur tous les instruments FTMO favoris (étoile dans FTMO), sur sa période atelier. Capital, risque, commissions, spread et fermeture auto : formulaire de validation ci-dessous.
Cases pont :
Cochez les snapshots à envoyer via le pont (bouton Envoyer la sélection ci-dessus). Cocher la sélection finale ajoute les lignes dont l'interrupteur Sélection finale est actif.
Chargement...

Campagne de validation glissante (N-2)

Si coché et qu'un snapshot n'a pas de T : la campagne est bloquée.
Fenêtres entières uniquement (pas de troncature).
% interpolé selon equity − risque ouvert (avant l'entrée).
Applique aux fills. Slippage = 25% du spread médian.

Choisir les meilleures stratégies

1 = un seul EURUSD dans le panier. Vide = illimite.
1 = une seule famille (ex. RSI Mean Reversion). Vide = illimite.
1 = une seule unité de temps (ex. 15 mins). Vide = illimite.
Construction pas à pas (glouton). À chaque étape on fusionne les trades atelier (multiplicateur figé) et on garde l'ajout le plus bénéfique parmi ceux qui respectent les plafonds. Les favoris de ce portefeuille, s'il y en a, sont placés en premier. Un favori d'une autre sélection pas encore calculée est traité comme déjà présent dans cette autre sélection.

Sélection actuelle

Chargement...

PnL cumulé du panier (N-2)

Somme des trades de toutes les stratégies conservees, rejouees avec le même capital / risque que la campagne de validation (onglet 2). Un graphique à barres de PnL cumulé par fenêtre calendaire (capital remis à zéro à chaque fenêtre).
Aucun graphique - lancez le choix pour les générer.

Prévisualisation : indiquez dates, bar sizes et stratégies.

1. Identité et exécution

Les historiques NON-FTMO / Dukascopy sont stockés localement. Le calcul cloud n'est pas disponible pour cette source.

Source des données

Une campagne n'utilise qu'une source. TRAIN, VALID et TEST restent sur FTMO local.

2. Fenêtres

12 mois VALID, paramètres figés. La VALID est également rejouée en 4 trimestres indépendants de 3 mois. Au moins 3 trimestres sur 4 doivent être profitables. Classement par régularité trimestrielle.

24 mois TRAIN. Le champion est d'abord testé sur son instrument principal. Puis les mêmes paramètres sont rejoués sans optimisation sur les autres instruments éligibles pendant les mêmes 24 mois TRAIN. Seuls les champions suffisamment génériques vont en VALID V2.

Le champion local n'est envoyé en VALID que si la même stratégie et le même timeframe produisent indépendamment des champions TRAIN valides sur suffisamment d'autres instruments. Les paramètres peuvent être différents sur chaque instrument.

V2 corrigé, plus une sélection TRAIN feasible-first. Dès qu'un candidat passe Return/an > 0, trades/mois ≥ 3 et RoMaD ≥ 0,20, il est prioritaire sur tout candidat inadmissible. Parmi les admissibles, le meilleur Return/an gagne. VALID, panier et TEST restent identiques à V2.

Profil expérimental V2 : 24m TRAIN / 12m VALID (4×3m) / 6m TEST / shift 6m. 3 trimestres profitables minimum.

V3 - Robustesse cross-instrument
24m TRAIN → cross-instrument TRAIN → 12m VALID V2 → 4×3m, minimum 3/4 positifs → 6m TEST
Cross : minimum 5 instruments actifs, minimum 24 trades/instrument, médiane rendement/an > 0, médiane RoMaD > 0.

V4 - Robustesse multi-instruments de la stratégie
24m TRAIN → filtres TRAIN → strategy breadth → 12m VALID V2 → 4×3m, minimum 3/4 positifs → 6m TEST
Valeurs verrouillées : minimum autres instruments : 5, minimum PASS TRAIN : 50 %.

V5 - TRAIN admissible d'abord
24m TRAIN (sélection feasible-first) → filtres TRAIN → 12m VALID V2 → 4×3m, minimum 3/4 positifs → 6m TEST
Aucun CROSS V3, aucun breadth V4. Les seuils TRAIN restent Return/an > 0, trades/mois ≥ 3, RoMaD ≥ 0,20.

Identique à V5 (TRAIN feasible-first, VALID V2, panier et TEST inchangés), mais le glissement STEP est configurable pour un screening rapide. Mode diagnostic : STEP configurable pour réduire le nombre de fenêtres. Ne remplace pas le protocole complet V5 à STEP 6 mois.

V5 Diagnostic rapide
24m TRAIN figé / 12m VALID figé / 6m TEST figé / STEP éditable (défaut 24m).
Même sélection TRAIN feasible-first que V5. Screening uniquement, pas une évaluation complète.

Portfolio-First R1 conserve plusieurs candidats TRAIN et construit directement le portefeuille sur VALID. Les filtres individuels historiques V5 ne sont pas utilisés comme portes éliminatoires.

R1 utilise TRAIN trim = 0 % et désactive Best Entry Filter Search.
24m TRAIN / 12m VALID / 6m TEST / STEP 6 verrouillé. Bibliothèque Pareto (max 2 par job) puis portefeuille greedy sur VALID (cible 6, minimum 4).

Même logique Portfolio-First R1, avec TRAIN / VALID / TEST / STEP éditables pour un screening rapide. Ne remplace pas le protocole complet R1 à 24/12/6 / STEP 6 mois.

R1 Diagnostic rapide
TRAIN / VALID / TEST / STEP éditables (défaut 24/12/6/27). Trim TRAIN 0 %, pas de Best Entry Filter Search.
Quantité cible et taille min. du portefeuille éditables (défaut 6 / 4).

Mois civils UTC. TRAIN, VALID et TEST sont disjoints. Le glissement doit être ≥ TEST, sinon les TEST se chevauchent et le lancement est bloqué.

3. Univers

Instruments
Bar sizes

Un couple instrument × TF n'entre que s'il couvre TRAIN + VALID + TEST. Pas de mélange FTMO / Non-FTMO.

4. Stratégies

Léger (défaut) : seuils, stops, périodes d'identité. Profond : axes secondaires (take-profit, RSI, etc.). Tu peux encore cocher ou décocher Varier. Les stratégies déjà dans la liste ne changent pas.

Cochez « Varier » pour explorer une plage (GRID / RANDOM) ou une perturbation (AXIS / LOCAL) ; sinon la valeur de base est fixe.

5. Money management TRAIN

Par stratégie (Mode A). Le Mode B n'est qu'une approximation post-traitement, pas l'arbitrage LIVE.
Outil de sélection TRAIN seulement. VALID et TEST rejouent 100 % des trades.
% max
VALID/TEST : multiplicateur et T figés, pas de nouveau DD.

6. Contraintes et filtres d'entrée TRAIN

Pendant TRAIN, uniquement sur le champion. Combinaison max = 1 filtre, pas d'empilement itératif.
Désactivé par défaut : ne pas relancer une recherche de filtres sur des dizaines de champions avant VALID.

7. Filtres TRAIN

Appliqués au champion de chaque job TRAIN (un seul réglage par strategyId × instrument × bar size). Défauts : Rend./an > 0, trades/mois ≥ 3, RoMaD ≥ 0,2.

8. Filtres VALID

PnL > 0, trades ≥ 12, RoMaD ≥ 0,30, Max DD ≤ 15 %, et ratio trades/mois VALID ≥ 50 % du TRAIN (type « Ratio TRAIN »).

9. Panier

Tri RoMaD VALID décroissant, puis SQN, puis id. Glouton déterministe, pas de relâchement. Un panier < taille min. est un échec de sélection (TEST conservé pour l'audit, exclu du concaténé). Pearson signé : une corr négative n'est pas rejetée. US = US30/US100/US500/US2000 ; crypto = BTC/ETH ; or = XAU*.

Brouillon enregistré automatiquement (serveur + navigateur).

Campagne

Fenêtres

Lignes du panier

Mode A - TEST statistique indépendant

Les stratégies sont backtestées séparément puis regroupées. Métrique principale de la campagne de référence (qualité de la sélection).

Mode B - Approximation 1 position globale

Diagnostic secondaire. Approximation post-traitement - ne reproduit pas exactement l'arbitrage LIVE des intentions d'entrée.

Viabilité de la méthode

Prévisualisation : indiquez dates, bar sizes et stratégies.

1. Identité et exécution

Source des données

2. Fenêtres RESEARCH

Échantillonnage

TOP_PLUS_STRATIFIED conditionne le dataset par l'objectif TRAIN. ALL_CANDIDATES conserve tous les candidats qui passent la sécurité.

TRAIN, VALID et FORWARD sont disjoints. Les filtres de sélection ne censurent pas les observations. Le FINAL HOLDOUT n'est jamais exécuté par cette page.

Contraintes appliquées AVANT Meta Research

Ces réglages sont déjà appliqués pendant l'optimisation TRAIN. Ils ne sont pas les filtres que Meta Research cherche à évaluer.

3. Univers

Instruments
Bar sizes

4. Stratégies

5. Coûts et risque

Progression

Aucune campagne.

Dataset

Diagnostic jobs

Lecture seule du funnel jobs. Aucun backtest, replay ou réparation n'est lancé. expected vient de la configuration (fenêtres × instruments × stratégies × bar sizes). created sont les jobs TRAIN réellement stockés, rapprochés par instrumentKey canonique. Les compteurs optimizer (totalCandidates / completedCandidates / failedCandidates) sont distincts du décompte persisté (optimization_candidates). La disposition persisté → observation reconstruit le filtre de sécurité TRAIN et le sampling (ALL_CANDIDATES n'est pas « tous les persistés »). Le diagnostic 0 trade TRAIN lit les compteurs Risk Manager déjà persistés (entryIntentsEvaluated, rejets, gap). L'audit sizing compare pointValue / lots TRAIN aux specs FTMO, sans corriger le moteur. Aucun replay n'est relancé.

Analyse univariée

Scope : GLOBAL · Phase : META_TRAIN
Périmètre d'analyse
Phase analysée

Utilisable pour choisir les features et préparer les grilles.

Heatmap 2D

Scope : GLOBAL · Phase : META_TRAIN
Périmètre d'analyse
Phase analysée

Utilisable pour choisir les features et préparer les grilles.

Prédictivité intra-job

Scope : GLOBAL · Phase : META_TRAIN

Mesure si une feature permet de classer les candidats issus du même optimizationJobId. Cela évite de confondre pouvoir prédictif individuel et simple sélection de jobs ou de stratégies structurellement meilleurs. Spearman et quartiles sont calculés intra-job, puis agrégés à poids égal par fenêtre. Aucun seuil n'est optimisé. Aucun backtest n'est relancé.

Périmètre d'analyse
Phase analysée

Utilisable pour choisir les features et préparer les grilles.

Features : train.romad, train.averageTradesPerMonth, valid.romad. Permutations intra-job : 200, seed 20260917. Le rho de trades/mois est brut, sans signe imposé.

Prédictivité conditionnelle intra-job

Scope : GLOBAL · Phase : ALL

Mesure l'information supplémentaire apportée par une feature une fois l'autre feature contrôlée, strictement à l'intérieur d'un même optimizationJobId. Permet de distinguer deux prédicteurs complémentaires, deux métriques redondantes, ou une association marginale créée par corrélation entre features. Aucun seuil, aucun poids et aucun score combiné. Aucun backtest.

Périmètre d'analyse
Phase analysée

RESEARCH / DIAGNOSTIC. Ni holdout ni confirmation. META_TRAIN et META_VALID ont déjà été examinés.

X1 = train.romad, X2 = train.averageTradesPerMonth, cible = FORWARD return. Spearman partiel sur les rangs. Permutations intra-job : 200, seed 20260917. Coefficients bruts, sans signe imposé.

Feature screening

Scope : GLOBAL · Phase : ALL

Mesure, sur les observations déjà persistées, quelles features TRAIN / VALID portent une information prédictive du FORWARD, et lesquelles restent informatives une fois train.romad contrôlé. Aucun backtest, aucun replay, aucun seuil, aucun poids et aucun winner automatique. Les conclusions TRAIN et VALID restent séparées. Priorité actuelle : TRAIN.

Utilise uniquement les observations persistées de cette campagne. Aucun backtest. Désactivé lorsque COMPARE CAMPAIGNS est coché.

Périmètre d'analyse
Phase analysée

RESEARCH / DIAGNOSTIC. Ni holdout ni confirmation. META_TRAIN et META_VALID ont déjà été examinés.

TRAIN FEATURES
VALID FEATURES

Non mélangées avec TRAIN. Aucune sélection par défaut (priorité TRAIN).

Primary control : train.romad

Secondary control : train.averageTradesPerMonth

Target : forwardReturn

Chaque campagne reste une unité séparée. Pas de pooling, pas de p-value globale.

Feature complementarity

Mesure si chaque feature candidate conserve une information prédictive intra-job après contrôle des features de base et de l'autre candidate. Aucun seuil, aucun poids et aucun score ne sont optimisés.

Base controls:

  • train.romad
  • train.averageTradesPerMonth

Complementarity analysis is exploratory. It measures whether each feature retains within-job predictive information after controlling for the base features and the other candidate feature. It does not optimize thresholds, weights or scores.

Conditional feature set

Pour chaque feature sélectionnée, mesure l'information prédictive intra-job après contrôle de toutes les autres features du set. Aucun seuil, aucun poids et aucun score combiné ne sont optimisés.

Features à analyser

Conditional feature-set analysis is exploratory. Each feature is evaluated conditional on all other selected features. No thresholds, weights or combined scores are optimized.

Frozen rank score

Frozen Rank Score V1

1/3 × rank(TRAIN RoMaD, higher better)

+

1/3 × rank(TRAIN Monthly PnL CV, lower better)

+

1/3 × rank(TRAIN Max Drawdown %, lower better)

No weights or thresholds are optimized.

Frozen Rank Score V1 is a pre-specified equal-weight rank score. Its features, orientations and weights are fixed before evaluation. This diagnostic compares it with TRAIN RoMaD on the same candidates. No weights, thresholds or feature combinations are optimized.

Frozen RoMaD Selection V1

Select top 25% of candidates by TRAIN RoMaD within each optimization job.

Frozen RoMaD Selection V1 is a pre-specified within-job top 25% TRAIN RoMaD rule. The feature, orientation and selection fraction are fixed before evaluation. No thresholds, weights or alternative fractions are optimized.

TRAIN + VALID Selection V2 - RESEARCH

Compare 4 règles figées sur les observations persistées des campagnes déjà brûlées : TRAIN_TOP25 (baseline V1), VALID_TOP25, TRAIN_VALID_MEAN_TOP25 (50/50), TRAIN_VALID_CONSENSUS. Target FORWARD return. Percentile mid-rank intra-job. Aucun poids, aucun autre seuil, aucun winner.

Exploratoire uniquement. Aucun instrument vierge. Aucun backtest, replay ni optimizer. La sélection scellée V1 n'est ni relancée ni modifiée.

Filter Search (zones stables)

Scope : GLOBAL

Les combinaisons sont évaluées sur le dataset déjà calculé. Aucun backtest n'est relancé.

La frontière META_TRAIN / META_VALID est figée par la campagne.

Périmètre d'analyse
Configuration de la recherche

Copie locale de la grille. Modifier les seuils ou les opérateurs ne change pas la campagne, ni les observations, et ne relance aucun backtest.

Actif Critère Opérateur Seuils testés Nombre de valeurs

Axes actifs : 0 · Combinaisons : 0

Recherche en cours...

Comparaison par stratégie

Même dataset, même frontière META_TRAIN / META_VALID. Les règles spécifiques sont exploratoires : elles augmentent les degrés de liberté. META_VALID confirme, sans retoucher les seuils.

Configuration retenue

Exporte un JSON importable dans le formulaire Walk-Forward. Ne pas réajuster les seuils après le FINAL TEST. Les profils par stratégie restent informatifs. L'export campagne est un résumé méthodologique, sans observations brutes.


                
RESEARCH ONLY. CONFIRMATION B et FINAL HOLDOUT C restent UNTOUCHED. Aucun winner automatique. Aucune performance n'est publiée avant 24 / 24.

A. Instrument Split

Univers Strategy Lab, métadonnées d'identité uniquement. Aucune barre historique B/C n'est lue. Un instrument ne peut appartenir qu'à un seul groupe. Après freeze, le split V1 est immutable.

RESEARCH A : 0 CONFIRMATION B - UNTOUCHED : 0 FINAL HOLDOUT C - UNTOUCHED : 0

Split SHA-256 : -

Instrument id A B DO NOT READ C DO NOT READ

B. Study Setup

Grille figée (lecture seule)

TRAIN = 12 / 18 / 24 / 36

VALID = 3 / 6 / 12

FORWARD = 3 / 6 (matrices séparées, pas de voisins F3 ↔ F6)

STEP = FORWARD

Alignement calendaire : COMMON_FORWARD_START

Total = 24 géométries

Stratégies : -

Barsize : -

Data source : -

Alignement : COMMON_FORWARD_START

RESEARCH A : -

CONFIRMATION B : -

FINAL HOLDOUT C : -

Study SHA-256 : -

C. Progress

État : DRAFT

Progression : 0 / 24 completed

Current geometry : -

Campaign : -

Elapsed : -

Aucune performance, aucun campaignId et aucune lecture Meta Research de ces campagnes tant que l'étude est RUNNING. Les identifiants de campagne n'apparaissent qu'après COMPLETED.

D. Results

Pas de tri automatique par performance. Ordre par défaut : FORWARD, puis TRAIN, puis VALID.

FORWARD = 3 mois

FORWARD = 6 mois

Confirmation B

Research A terminé.

Confirmation universe: -

Sélectionnez UNE géométrie à confirmer sur les instruments B. Cette sélection est définitive.

Research A : choisissez une géométrie.

Selection Rule Research - Score vers Forward

Geometry: -

Score: 50 % TRAIN RoMaD percentile + 50 % VALID RoMaD percentile

Source: RESEARCH A ONLY

Confirmation B: NOT USED FOR RULE SELECTION

Final Holdout C: UNTOUCHED

Absolute Quality Research

Geometry: -

Relative ranking: TOP_25 FIXED

Absolute quality: min(TRAIN RoMaD, VALID RoMaD)

Source: RESEARCH A ONLY

Confirmation B: NOT USED

Final Holdout C: UNTOUCHED

TRAIN × VALID Diagnostic

Geometry: T12 / V6 / F6

Source: Research A only

Relative rank: TOP_25 fixed

Confirmation B: NOT USED

Final Holdout C: UNTOUCHED

Diagnostic only: NO RULE WILL BE FROZEN

État : NOT_FROZEN

RoMaD Weight Diagnostic

Geometry: T12 / V6 / F6

Source: Research A only

Scores: 50/50, 75/25, 100/0

TOP selection: TOP_25 fixed

Confirmation B: NOT USED

Final Holdout C: UNTOUCHED

Diagnostic only: NO SCORE WILL BE SELECTED AUTOMATICALLY

État : NOT_FROZEN

Metric Predictivity Diagnostic

Geometry: T12 / V6 / F6

Source: Research A only

Features: 14 métriques × TRAIN et VALID = 28

Source search objective: RETURN_PER_YEAR

Interpretation: The diagnostic compares ranking metrics inside a RETURN_PER_YEAR-guided candidate cloud.

Do not infer the best optimization objective from this diagnostic.

Testing a metric as an optimization objective requires a new TRAIN campaign.

TRAIN RETURN_PER_YEAR is the objective that guided AXIS_SEARCH.

Confirmation B: NOT USED

Final Holdout C: UNTOUCHED

Diagnostic only: NO METRIC WILL BE SELECTED

État : NOT_FROZEN

FINAL HOLDOUT - FROZEN ROMAD V1

STATUS: LOCKED

Freeze scientifique: LOCKED

Holdout consommé: false

Progress: -

Protocol manifest SHA-256: -

Run plan SHA-256: -

Frozen evaluation SHA-256: -

Source campaign: -

Products: -

Strategies: -

Barsize: -

TRAIN / VALID / FORWARD / STEP: -

Data source: -

Number of final forward windows: 6

Forward period: 2025-01-01 -> 2026-06-30

Evaluation mode: PREQUENTIAL_BATCH_NO_ADAPTATION

Ready to arm: false

Primary metric: medianWindowDeltaMedianForward

Holdout start: 2025-01-01

Rule: Top 25% TRAIN RoMaD within optimization job

Target: forwardReturn

The scientific freeze is LOCKED and immutable. STATUS is the operational durable state. ARM and RUN are separate control-plane actions. ARM does not read 2025+ data. RUN consumes the holdout and is one-shot.

The scientific freeze is LOCKED and immutable. STATUS is the operational durable state. ARM and RUN are separate control-plane actions. ARM does not read 2025+ data. RUN consumes the holdout and is one-shot.

Résultat:


                  

Manifest SHA-256 : -


                  

Run plan


                

Optimization Objective Diagnostic

État durable

-

Lecture seule. Aucune action n'est disponible pour cette wave.

Preview / freeze

-

Preflight

-

Dernier lancement

-

Dernière annulation

-

Progression RETURN_PER_YEAR

-

Progression ROMAD

-
activation / arrêt / ouverture-fermeture position / échecs
Comptes cTrader / FTMO. Cochez Actif pour les afficher ici et les utiliser en LIVE.

Résultats

Compte FTMO / cTrader (réel) · snapshot auto toutes les 5 min
-
Chargement...

Résultats paper

Simulation panier (fills, commissions, swaps) sur flux réel
Chargement...

Positions ouvertes (comptes)

-
Chargement...

Prochaines news FTMO restreintes

Forex Factory + table officielle. Produits concernes pour verification manuelle. Flatten live = même T que les coupures > 2h (interrupteur System).
Chargement...

Derniers trades clôtures

PAPER et LIVE du panier · PnL net après commissions, slippage et swaps
Chargement...

Flux temps réel (abonnements)

Lecture mémoire uniquement (pas de nouvel abonnement). Rafraichissement UI ~30s - le bot trade en continu.
Aucun run actif.

Stratégies déployées

PAPER et LIVE du panier. Temps live = heures de marche ouvertes. Cumul produit = union (chevauchements non doubles).
Chargement...

Réglages portefeuille

Capital, risque et limites sont propres à chaque compte.
Ex. 0,25 % à 100 000 $ → 1 % à 101 000 $. Interpolation selon equity − risque ouvert (avant l'entrée). Appliqué aussi aux stratégies déjà démarrées.
Toutes lignes du panier confondues.
FTMO hedging : N lignes du panier peuvent chacune tenir 1 position indépendante sur le même symbole (défaut 1). Plafonne par le total ci-dessus. 1 position par ligne.
Défaut pour les nouvelles stratégies ajoutées au panier. Chaque ligne du panier a son propre toggle Réel / Paper. Requiert aussi LIVE_TRADING_ENABLED=true dans le .env pour démarrer du LIVE.
Mode LIVE activé : les ordres seront envoyés sur les comptes cTrader/FTMO cochés dans le panier (une case par compte). Paper reste global. Plusieurs stratégies LIVE peuvent coexister sur le même symbole (hedging), chacune avec sa propre position, dans la limite « Stratégies max par symbole ». Vérifiez MAX_LIVE_ORDER_QUANTITY et LIVE_ALLOWED_INSTRUMENTS (vide = aucune entrée ; * ou ALL = tous les instruments).

Panier live

Ajoutez depuis l'onglet 3. Cochez On, assignez un compte si Réel, puis play / Démarrer.
Chargement...

Journal

Chargement...
ntfy · activation / arrêt / positions / échecs

Démarrer un paper run

Barres live cTrader (+ warmup historique API).
% interpolé selon equity − risque ouvert (avant l'entrée).
Après sizing risque : 63 = 63% des lots (100 = plein, >100 autorise).

Paramètres stratégie

Filtres d'entrée - tendance

Filtres d'entrée - temporels

Chargement...
Chargement...

Pont distant (autre Strategy Lab)

Interroge le catalogue FTMO d'une autre instance (VPS) et télécharge les barres en local. Aucun appel cTrader : les quotas FTMO restent sur le serveur source. Les favoris (étoile) sont ceux de l'instance distante.

Session cTrader (OAuth)

Copie la session cTrader du VPS (tokens OAuth + CLIENT_ID/SECRET de l'app Open API). Les secrets ne passent pas par le navigateur. Une seule session protobuf par compte : arretez paper/live sur le VPS avant d'utiliser cTrader ici. Ne pas activer LIVE sur cet ordinateur.

Dates vides = toute la couverture distante pour le(s) bar size choisi(s).
Configurez l'URL et la cle, puis chargez le catalogue.

1. Explorateur FTMO

2. Tous les produits FTMO

Cliquez pour charger les symboles enabled du compte.

3. Produits enregistrés

Les favoris (étoile) apparaissent en premier. Une asterisque * devant un nom marque une paire FX utilisée pour convertir un favori vers USD. La colonne Contrat montre tick, lots et swaps tels qu'enregistrés (ceux du backtest). Un badge « incomplet » ou « tick suspect » indique un défaut futures (0.25 / 1 lot). Utilisez « Rafraichir les données » pour reimporter les specs cTrader. « Historique recent » complète chaque bar size déjà téléchargée jusqu'à maintenant (chevauchement sur la dernière barre, sans retelecharger tout l'historique). « Réparer les trous » ne retélécharge que les barres manquantes pendant les heures de séance (nuits et week-ends ignorés).

Chargement...

4. Jobs de téléchargement

Chargement...
Chargement...

Instruments mappés

Chargement…

Jobs de téléchargement

Aucun job.

Connexion cTrader

Chargement...

FTMO - perte journalière maximale

Plancher equity du jour = solde a 00:00 CE(S)T − ce montant (défaut 5000).
Equity si tous les SL sont touches doit rester au-dessus du plancher + cette marge (défaut 500). 0 = coller au plancher, sans coussin.

FTMO - challenge (objectif / planchers)

Échelle affichée sur la carte Résultats. Exemple FTMO : 100 000 → 110 000, sans jamais descendre a 90 000. Le maximum journalier est la distance entre l'equity et le plancher du jour (solde minuit − MDL).

FTMO - news restreintes (live / paper)

Défaut: désactivé (challenge). Calendrier Forex Factory + table officielle FTMO, pas le pastille High.

Durée max d'un trade

Ferme automatiquement les positions ouvertes depuis plus longtemps (backtests, optimisations, paper et live). Défaut 1440 (24 h). 0 = désactivé. En live: horloge murale, fermeture des que le plafond est atteint (sans attendre la barre suivante). Un bot déjà lance reprend le nouveau plafond en moins de 30 s.

Historique externe - période de backtest

Borne UTC du bouton atelier Backtester sur les données non FTMO. Intersection avec le 1m Dukascopy déjà téléchargé. Les années calendaires couvertes par moins de 6 mois sont exclues des stats (médiane, années +, pire année).

Défaut : 2010-01-01 → 31 décembre de l'année précédente.

Optimisation - indexation best_summary

Recalcule les résumés utilises pour trier la liste des optimisations par métriques (solde de classement). Utile après un correctif de ranking, ou si un résumé semble faux alors qu'il est déjà marque comme indexe. L'indexation tourne en arriere-plan cote serveur.

Optimisation - workers cloud (GCP)

Plafond d'optimisations « Calcul cloud » lancées en parallele (défaut 50). Effet immediat sur la file d'attente ; surveillez le quota Cloud Run.

Optimisation - réintégration exclusion (N %)

Pour chaque triplet présent dans la liste d'exclusion (atelier), un tirage uniforme 0–100 : s'il est ≤ N, le triplet est quand même lance. Défaut 5.

Notifications Top N (ntfy)

Abonnement serveur persistant (survit au redemarrage). Distinct de l'abonnement topic dans l'app ntfy sur le telephone.

Chargement...
Ouvrir Optimizations

Live - carte Résultats paper

Actuel: affichée. Désactiver masque la carte sur la page Live et evite le calcul des métriques paper.

Retention historique spreads FTMO

Les mesures ask−bid plus anciennes sont purgees à chaque collecte (toutes les 10 min).

Espace disque MySQL

Vide les grosses tables sans supprimer les runs, les scores ni les résumés. Sans date, la table entière est vidée et l'espace est rendu à Docker. Avec une date, les lignes antérieures à minuit UTC de ce jour sont retirées. La journée choisie, les lignes plus récentes et les lignes sans date sont conservées. Cette reconstruction peut durer longtemps et demande assez de place libre dans Docker pour la copie de ce qui est gardé. Le fichier virtuel Docker sur Windows ne rétrécit pas depuis cette page : elle tourne dans Docker, et le compactage doit d'abord l'arrêter. Double-cliquer compact_docker_disk.bat à la racine du dépôt (Windows, administrateur). Strategy Lab et Trade Watch s'arrêtent le temps du compactage. Arrêtez les runs, optimisations et téléchargements concernés avant de purger.

Vide : toute la table. Renseignée : minuit UTC de ce jour est conservé.
Donnée Taille Date utilisée
Chargement…

Audit sizing (lecture seule)

Cartographie des chemins lots / pointValue / conversion quote → deposit. Aucun backtest, aucune optimisation, aucune campagne n'est lancée.

GET /v1/audit/sizing-paths
Chargement...