Trend Filter M1/M5 UlcerZenith — Strada 2.1 Unificata (Audit)

Trend Filter M1/M5 UlcerZenith — Strada 2.1 Unificata (21 Aprile 2026)

Il 21 aprile 2026 è stata installata la Strada 2.1: i pallini Matrix M1/M5 e il trend filter interno di UlcerZenith Oracle sono ora unificati sullo stesso InpEMATrendPeriod_Low configurabile dall'utente. Prima esisteva discordanza architetturale: pallini su EMA 200 mentre filter su EMA 50. Ora coerenza totale — quello che vedi è quello che il sistema fa. In questo audit ti mostro le righe 3172, 3173, 3635-3643 modificate e la nuova tabella di decisione.

Il Problema Pre-Strada 2.1 — Discordanza UI/Logica

Prima del 21 aprile 2026 esisteva una discordanza architetturale: il pallino M1 della Matrix mostrava all'utente lo stato di una EMA 200, ma il trend filter interno che decideva BUY/SELL girava su EMA 50. Due sistemi paralleli che dicevano cose diverse.

Conseguenza operativa: l'utente vedeva pallino M1 verde (EMA 200 bullish) ma il sistema rifiutava BUY perché internamente EMA 50 era bearish. Questa discordanza è stata corretta con la Strada 2.1.

◆ PRIMA — righe 3172-3173 (legacy)h_MA_M1 = iMA(_Symbol, PERIOD_M1, 200, 0, MODE_EMA, PRICE_CLOSE); h_MA_M5 = iMA(_Symbol, PERIOD_M5, 200, 0, MODE_EMA, PRICE_CLOSE);
◆ DOPO Strada 2.1 — righe 3172-3173h_MA_M1 = iMA(_Symbol, PERIOD_M1, InpEMATrendPeriod_Low, 0, MODE_EMA, PRICE_CLOSE); h_MA_M5 = iMA(_Symbol, PERIOD_M5, InpEMATrendPeriod_Low, 0, MODE_EMA, PRICE_CLOSE);

La Nuova Logica Unificata — righe 3635-3643

Il blocco decisionale del trend filter ora è differenziato per timeframe ancora. M1 e M5 hanno logica unificata, TF superiori (H1/H4/D1/W1) mantengono comportamento precedente.

◆ Strada 2.1 v77.46 — righe 3635-3643bool trendBull, trendBear; if(g_AnchorTF == PERIOD_M1 || g_AnchorTF == PERIOD_M5) { // STRADA 2.1 v77.46: pallini Matrix M1+M5 su EMA InpEMATrendPeriod_Low // BULL = entrambi M1 e M5 verdi; BEAR = entrambi rossi; disaccordo = NO TRADE if(g_Matrix.tM1 > 0 && g_Matrix.tM5 > 0) { trendBull = true; trendBear = false; } else if(g_Matrix.tM1 < 0 && g_Matrix.tM5 < 0) { trendBull = false; trendBear = true; } else { trendBull = false; trendBear = false; } } else { // TF superiori (H1/H4/D1/W1): confronto diretto price vs EMA adattiva trendBull = (price > ema200); trendBear = (price < ema200); }

La Tabella di Decisione M1/M5 Post-Strada 2.1

Logica binaria pura, zero zone grigie. Solo 4 combinazioni possibili di tM1/tM5, 3 outcome distinti.

tM1tM5Risultato trendSegnali permessi
🟢 verde🟢 verdeBULLSolo BUY (TREND PULLBACK)
🔴 rosso🔴 rossoBEARSolo SELL (TREND RALLY)
🟢 verde🔴 rossodisaccordoSolo REVERSAL in PANIC
🔴 rosso🟢 verdedisaccordoSolo REVERSAL in PANIC

Come Sono Calcolati tM1 e tM5 Runtime

La struct g_Matrix contiene valori runtime dei pallini. Popolamento in UpdateRealtimeMatrix riga 6590 circa.

◆ righe 6598-6601 — Popolazione pallinig_Matrix.tM1 = (cM1[0] > mM1[0]) ? 1 : -1; g_Matrix.tM5 = (cM5[0] > mM5[0]) ? 1 : -1;

Dove cM1[0] è chiusura corrente M1 e mM1[0] è EMA configurata. Traduzione: pallino M1 verde se prezzo attuale M1 sopra EMA configurata, rosso altrimenti. Binario puro, nessuna zona grigia.

La Porta Chiusa — Dove il BUY Viene Fisicamente Bloccato

All'interno di CalculateScoreV77 righe 9704-9719: il punto esatto dove il segnale muore quando M1 e M5 non allineati e mercato non in panic.

◆ HARD REJECT — riga 9714else // trendAligned == false { if(isPanic) { s += 1.0; method = (dir > 0) ? "REVERSAL TRY" : "REVERSAL TOP"; } else { g_dbg_CategoricReject++; return 0.0; // ← HARD REJECT: il segnale muore qui } }

La funzione ritorna 0.0, score non supera mai la soglia, signal resta 0. È questo il punto esatto dove il sistema decide di non comprare.

Perché InpEMATrendPeriod_Low È Configurabile Solo su M1/M5?

Decisione architetturale: M1 e M5 sono gli UNICI TF dove il periodo EMA è configurabile dall'utente. Gli altri (M15=800, H1=200, H4=100, D1=50, W1=21) restano calibrati su valori fissi derivati da backtest storico.

Motivo: scalping M1/M5 è fortemente symbol-dependent — XAUUSD ha tendenza diversa da EURUSD diversa da GBPJPY. L'utente adatta EMA al symbol operativo. Manuel usa 21 (whipsaw-sensitive) o 50 (meno flip ma più lag).

Post Strada 2.1 c'e coerenza totale tra quello che l'utente vede nei pallini Matrix M1/M5 e quello che il sistema fa internamente. Fine dell'era "due sistemi paralleli che dicono cose diverse". Trasparenza architetturale. — Commit Strada 2.1 · 21 aprile 2026

Vedi i 12 Gate Operare Dal Vivo

Live gratuite. Vedi il sistema che applica i 12 gate in tempo reale: entry, exit, rejection reason. Zero carta di credito.

Entra Gratis → Pillar Audit Completo

FAQ — I 12 Gate UlcerZenith

Cosa sono i 12 gate di UlcerZenith Oracle? ▶
12 filtri sequenziali che ogni segnale deve superare: cooldown barre, candle confirmation, pivot slip ATR, Gap ATR Quality (>0,35 EV negativo), MTF Pre-Flight, Session H1 17-21 GMT, Panic M1 Block, Session M5 ore 09, REVERSAL TOP block, T-Student Filter, FIX-ZONE-STATE, FIX-TSP-MTF. Se uno solo dice no, signal=0. Difesa in profondità.
Qual è il gate più efficace? ▶
Gate 4 Gap ATR Quality e Gate 10 T-Student Filter sono i più selettivi. Gap ATR: 21.373 segnali analizzati mostrano >0,35 = EV negativo. T-Student: pivot deve essere in zona 95-99% bande. Insieme bloccano la maggior parte dei segnali rumorosi.
Perché blocco 17-21 GMT su H1? ▶
Base empirica riga 3958: WR 07-16 GMT = 35,1%, WR 17-21 GMT = 25,8% → -9,2pp. Chiusura europea + apertura americana calante genera spike fasulli. Il gate preserva edge EV.
Cos'è FIX-ZONE-STATE v77.47? ▶
Garantisce 1 solo segnale per visita alla zona T-Student 95-99%. Prima il prezzo poteva stare 20-30 barre in zona generando duplicati. Post-fix: spara all'entry, reset all'uscita. JPY/CHF possono ri-sparare su 99% estremo.
Cosa succede se un gate fallisce? ▶
Signal=0 e trade muore immediatamente. Nessun recovery o bypass. g_dbg_CategoricReject++ incrementa per debug. Design intenzionale: 12 filtri = 85-92% rejection rate sui pivot detected. Solo 8-15% diventa trade live.
◆ Fonti Esterne e Approfondimenti
  • — Martin, P. (1989): "Investor's Guide to Fidelity Funds" — Ulcer Index. Amazon
  • — Wikipedia: Ulcer Index. Wikipedia
  • — CONSOB — Quaderni di Finanza. Quaderni CONSOB
  • — Banca d'Italia — Temi di Discussione. Banca d'Italia
Manuel Trotta
◆ Scritto da

Manuel Trotta

Trader quantitativo italiano dal 2007. Fondatore MTInvestments. Creatore UlcerZenith Oracle v78 con 65.587 trade reali. Autore 18 libri: "Fare Trading con Excel" Hoepli, Amazon, Speaker IT Forum Rimini.

P.IVA 14349331000Dal 200718 Libri150K+ Follower
Disclaimer MiFID II: Il trading comporta rischio di perdita del capitale investito. Le soglie empiriche citate (21.373 segnali, EV, WR) si riferiscono a dati storici verificabili — non costituiscono garanzia di risultati futuri. Nessun contenuto costituisce consulenza finanziaria ai sensi del D.Lgs. 58/1998 (TUF). Manuel Trotta / MTInvestments — P.IVA 14349331000.