{ "rule_version": "fm58-practice-v1", "purpose": "Due episodi didattici distinti selezionati senza esaminare gli esiti successivi. Solo preparazione, nessuna modifica agli articoli.", "frozen_before_first_scan": true, "dataset_order": [ "USDJPY-H1.csv", "GBPUSD-H1.csv", "EURUSD-H1.csv" ], "selection_order": "Primo istante di riconoscimento ammissibile tra tutti i dataset; a parità di tempo prevale l'ordine dei dataset elencato. Selezionare il primo caso corrispondente per ogni esercizio. Non filtrare in base a prezzi successivi, inversione, redditività, bellezza visiva o numero di esempi.", "original_data": "patterns-5-4-real-2026-10-21/data; SHA-256 di provenienza originale e SHA-256 di ciascun dataset selezionato verificati prima del calcolo", "price_input": "OHLC Bid di barre chiuse. Close è il dato di ingresso per RSI e Bollinger/SMA; le finestre High/Low sono i dati di ingresso per lo stocastico e il True Range. Nessun Ask, spread, eseguito o tick inventato.", "decimal_policy": "Quantizzare solo il rumore di serializzazione CSV da numeri binari in virgola mobile alle cifre originali del fornitore, con correzione assoluta massima consentita inferiore a 1e-12. Conservare le stringhe sorgente e lo SHA dell'archivio originale.", "time_basis": "Etichette originali di apertura delle barre MT5. L'offset dell'orologio del broker non è verificato indipendentemente; non rietichettare mai questi orari come UTC/locali. Il tempo di riconoscimento è il primo limite di ammissibilità dopo la fine di una barra, non un received_at misurato dal vivo.", "source_prefix": "Gli indicatori usano sempre tutti i record precedenti esportati a partire dall'indice originale 0. Nessuna reinizializzazione alla finestra del caso, all'inizio del trimestre o al bordo dell'immagine.", "rsi14": { "input": "Close", "seed": "Media delle parti positive e negative delle prime 14 variazioni tra chiusure consecutive; primo RSI all’indice sorgente 14", "recurrence": "U_t=(13*U_prev+gain_t)/14; D_t=(13*D_prev+loss_t)/14; RSI=100*U/(U+D), senza arrotondamenti intermedi", "zero_policy": "Prima del valore iniziale: non disponibile. U=D=0: non disponibile. U positivo con D=0:100. U=0 con D positivo:0." }, "divergence": { "centre_range_start_inclusive": "2026-01-01 00:00", "recognition_range_end_exclusive": "2026-04-01 00:00", "pivot": "Massimi o minimi locali congiunti rigorosi di Close AND RSI nello stesso centro, maggiori/minori di entrambe le due barre chiuse a sinistra e delle due a destra. Esclusi valori uguali e RSI non disponibile. Questa definizione scelta confronta pivot dei prezzi di chiusura, non le ombre High/Low.", "pairing": "Massimi congiunti confermati consecutivi, oppure minimi congiunti confermati consecutivi, dello stesso tipo. Non saltare mai un pivot congiunto intermedio dello stesso tipo per migliorare la divergenza.", "spacing_bars_inclusive": [ 5, 30 ], "continuity": "Ogni barra dal primo centro meno 2 al secondo centro più 2 deve distare esattamente un'ora nominale dalla precedente; non dedurre la causa delle interruzioni.", "bearish": "Close2 >= Close1 + un pip; RSI1 >=60; RSI2 <= RSI1 -3 punti", "bullish": "Close2 <= Close1 - un pip; RSI1 <=40; RSI2 >= RSI1 +3 punti", "recognition": "Entrambe le barre a destra di pivot2 devono chiudersi. L'evento selezionato viene registrato all'indice pivot2+2; la prima ammissibilità è l'epoch di apertura di quella barra più 3600 secondi, subordinata all'arrivo del suo record definitivo.", "threshold_meaning": "Un pip e 3 punti RSI sono soglie didattiche fisse di separazione, non parametri operativi ottimizzati né un vantaggio statistico.", "before_frame": "Alla chiusura del secondo centro di pivot proposto: mostrarlo come provvisorio, non confermato, usando solo i dati allora disponibili.", "recognition_frame": "Alla chiusura di pivot2+2: il pivot congiunto e la divergenza diventano verificabili per la prima volta secondo questa regola.", "after_horizon_observed_H1": 12, "after_use": "Svelare le successive 12 barre H1 chiuse osservate dopo il riconoscimento, senza selezionarle in base alla direzione. Registrare esplicitamente le interruzioni del calendario. Questo esito non misura entrate, uscite o redditività.", "plot_context_bars_before_first_pivot": 24 }, "stochastic_persistence": { "run_start_range_inclusive": "2026-04-01 00:00", "recognition_range_end_exclusive": "2026-07-01 00:00", "K_period": 14, "slowing": 3, "D_period": 3, "K_formula": "Per ogni barra calcolare Ln=min(Low sulle ultime 14), Hn=max(High sulle ultime 14), A=Close-Ln, B=Hn-Ln. SlowK=100*sum(A sulle ultime 3)/sum(B sulle ultime 3). È la ricostruzione dichiarata Low/High mediante rapporto di somme, non la SMA di 3 valori grezzi %K né una lettura dal terminale.", "D_formula": "SMA degli ultimi 3 valori SlowK disponibili; nessun valore finché la finestra non è completa", "zero_policy": "Un denominatore sommato nullo rende SlowK non disponibile e azzera la sequenza; nessun valore riportato in avanti o inventato", "extreme_upper_inclusive": 80, "extreme_lower_inclusive": 20, "consecutive_extreme_bars": 6, "trigger": "Primo completamento di una sequenza di sei barre consecutive. Riattivare solo dopo che SlowK esce da quella zona estrema. Le sei barre devono avere intervalli orari esatti e aprirsi tutte nell'intervallo del caso Q2.", "past_only_upward_descriptor": "Alla sesta barra: Close > SMA50, SMA50 > SMA50 dieci barre osservate prima, e Close > Close venti barre osservate prima", "past_only_downward_descriptor": "Alla sesta barra: Close < SMA50, SMA50 < SMA50 dieci barre osservate prima, e Close < Close venti barre osservate prima", "direction_matching": "L'estremo superiore richiede il descrittore rialzista; quello inferiore richiede il descrittore ribassista. Sono descrittori espliciti dei dati passati, non una prova di un futuro regime di tendenza.", "descriptor_continuity": "Le ultime 60 barre usate per il descrittore devono distare esattamente un'ora l'una dall'altra. Rifiutare un candidato con un'interruzione in quell'intervallo, senza modificare le soglie.", "ATR_context": "TR_i=max(High-Low,abs(High-Close_prev),abs(Low-Close_prev)) per i>=1. ATR14=SMA degli ultimi 14 valori TR, il primo all’indice14. Variante SMA esplicita nello stile del codice MT5, non Wilder RMA. Solo contesto, nessun filtro di selezione né voto indipendente.", "Bollinger_context": "SMA20 Close ±2 deviazioni standard della popolazione sulle stesse 20 chiusure, divisore20. Solo finestre complete. Solo contesto, nessun filtro di selezione né voto indipendente.", "before_frame": "Alla quinta barra della sequenza: la sesta lettura idonea non è ancora nota; tutte le letture di tendenza e contesto mostrate si fermano lì.", "recognition_frame": "Alla chiusura della sesta barra: la persistenza di sei letture è stabilita per la prima volta secondo la regola fissata.", "after_horizon_observed_H1": 12, "plot_context_bars_before_run": 36 }, "disjointness": "Le finestre dei due casi selezionati non devono sovrapporsi tra loro né al vecchio EURUSD dal 2025-12-02 al 2025-12-04. Un fallimento viene segnalato, non corretto scegliendo un esito successivo più attraente.", "no_match_policy": "Segnalare che non esiste un caso idoneo secondo v1; non allentare tacitamente date, soglie, ordine dei dataset o definizioni dei pivot. Una revisione richiederebbe una nuova versione esplicita delle regole prima di una nuova scansione.", "not_authorised": [ "chiamate MT5", "operazioni", "modifiche agli articoli", "scritture NAS", "deploy", "affermazioni sui risultati statistici" ] }