Discussione sull’articolo "Applicazione del filtro di trend L1 in MetaTrader 5"

Il nuovo articolo Applicazione del filtro di trend L1 in MetaTrader 5 è stato pubblicato:

Questo articolo esplora l'applicazione pratica del filtro di trend L1 in MetaTrader 5, trattando sia i suoi fondamenti matematici che il suo utilizzo nei programmi MQL5. Il filtro L1 consente di estrarre tendenze lineari a tratti che preservano la struttura essenziale del mercato riducendo al contempo il rumore dei prezzi. Lo studio analizza lo scaling dei parametri, il comportamento di stima del trend e l'integrazione del metodo nelle strategie di trading algoritmico. I risultati sperimentali dimostrano come il filtro di trend L1 possa migliorare la stabilità del segnale, il timing delle operazioni di trading e la robustezza complessiva dei sistemi di trading.

Le serie storiche finanziarie sono caratterizzate da elevati livelli di rumore, frequenti valori anomali e regimi di mercato mutevoli. Nei sistemi di trading pratici, questo si manifesta in modo semplice e misurabile: i classici filtri "smussati” (medie mobili, HP) sono in ritardo, sfocano i momenti di cambio di pendenza e spesso interpretano le correzioni locali come inversioni di tendenza - di conseguenza, il numero di falsi ingressi/uscite aumenta, il profit factor diminuisce e il drawdown cresce. Inoltre, la selezione del parametro di regolarizzazione λ si riduce solitamente a una regolazione manuale e non si generalizza facilmente tra diversi strumenti, timeframe e lunghezze storiche.

Questo articolo propone una soluzione pratica a questi problemi basata sul filtro di trend L1: l'ottimizzazione con regolarizzazione L1 delle differenze seconde produce automaticamente un'approssimazione lineare a tratti con punti di rottura espliciti. I principali vantaggi sono una chiara interpretazione dei punti di rottura come cambiamenti di regime, la possibilità di impostare la scala di regolarizzazione tramite il calcolo di λmax e il passaggio a un parametro relativo λ = coef · λmax, nonché una complessità computazionale lineare adatta all'implementazione in MQL5.

Presentiamo non solo la teoria, ma anche una roadmap pratica completa: metodi per il calcolo di λmax e del trend L1, tre indicatori (trend, pendenza, segno della pendenza), sette indicatori di volatilità del trend L1, integrazione negli Expert Advisor e un protocollo di test riproducibile (quattro modalità di filtraggio, esportazione del saldo/equity e la visualizzazione).


Autore: MetaQuotes

MetaQuotes :

È stato pubblicato l'articolo " Utilizzo del filtro di tendenza L1 in MetaTrader 5" :

Autore: MetaQuotes

È fantastico, ottimo lavoro, MetaQuotes. Il professor Stephen Boyd dell’Università di Stanford e le sue leggendarie ricerche sulle serie temporali sono ora disponibili su MQL5.

cemal #:
È fantastico, complimenti a MetaQuotes. Il prof. Stephen Boyd dell’Università di Stanford e le sue leggendarie scoperte sulle serie temporali in MQL5.

Grazie. Il metodo non presenta problemi di confine, ed è per questo che le sue applicazioni possono rivelarsi utili nel trading.

Dopo la stesura dell’articolo, si è scoperto che il metodo migliore consiste nell’aggiungere il volume alle correzioni di tendenza (questo aspetto non è stato preso in considerazione nell’articolo); si vedano qui gli Expert Advisor: MA, MACD, ADX, EMA.

Gli Expert Advisor con l’aggiunta sulle correzioni di tendenza:

MovingAverageFilteredL1-Add.mq5

MACDFilteredL1-Add.mq5

Пример применения L1-фильтра для удаления шума в изображениях
Пример применения L1-фильтра для удаления шума в изображениях
  • 2026.04.10
  • www.mql5.com
Настройки тестирования Параметры тестирования без фильтров Параметры тестирования с фильтром закрытия сделок L1 Close Filter Стратегия с фильтром закрытия L1 Close Filter Индикаторы тренда на базе L1 Trend Filter

Lo script mostra il filtraggio del trend L1 per i diversi valori di lambda (definiti in unità λmax come lambda_factors = {1,0; 0,8; 0,5; 0,2; 0,1; 0,01; 0,001});

Vedi altri esempi su https://forge.mql5.io/quantum/L1Trend

L1Trend
L1Trend
  • quantum
  • forge.mql5.io
Examples from the article "Applying L1 Trend Filtering in MetaTrader 5"
File:

Più o meno così:


Renat Akhtyamov #:

Più o meno così:

La suddivisione in trend dipende in larga misura dal parametro di regolarizzazione lambda: minore è il valore di lambda, più brevi sono i trend che è in grado di rilevare.
Negli esempi in esame sono stati utilizzati valori fissi di lambda espressi in unità lambda=0,2*lambda_max. Il calcolo in unità lambda_max consente in parte di adattarsi ai dati. Il valore stesso di lambda_max dipende dalla geometria della serie (dalle ampiezze relative), ovvero dalla volatilità.

Bisogna tenere presente che un trend presenta diverse fasi e un proprio ciclo di vita. Pertanto , è necessario un meccanismo di adattamento al trend corrente, ovvero gestire in qualche modo lambda e individuare la suddivisione ottimale del trend: questo problema non è ancora stato risolto.

Se la strategia stessa su un determinato intervallo non genera profitti, nemmeno il filtro potrà essere d’aiuto.
I risultati migliori dovrebbero essere ottenuti in un mercato con un trend ideale; un esempio è stato il seguente: EURUSD, 2025, H1 (parametri ottimali: MovingAverage period=61).

EURUSD

Opzioni del tester

Parametri di prova

Risultati dei test senza filtro

Filtro L1 Close

L1 Chiudi filtro

Qui vediamo che il filtro di uscita ha contribuito ad aumentare il profitto nel tratto di mercato in trend.


Variante della stessa strategia con l’aggiunta di posizioni durante le correzioni:

Opzioni di test con "aggiungi"

Opzioni di test con "Aggiungi posizioni"

senza aggiunte:

Con aggiunte:


Gli intervalli con mercato flat contengono piccoli trend locali e, per tenerne conto correttamente, è necessario utilizzare valori più bassi del parametro lambda (quando viene utilizzato come filtro di uscita).
Inoltre, i valori ottimali dei parametri MovingAverage nell'intervallo di mercato flat devono essere diversi. Cioè, i periodi ottimali delle medie nel secondo intervallo sono cambiati (ma durante l’ottimizzazione nel tester, i parametri individuati generano il massimo profitto rispetto a tutti gli altri sull’intero intervallo di ottimizzazione).

Verifichiamo i risultati sull'intervallo flat con diversi valori di lambda.

Senza filtri:

Con filtro di uscita lambda=0,2*lambda_max

Con filtro lambda = 0,001 lambda_max (tendenze più sottili)

Pertanto, nel tratto flat con lambda = 0,001 lambda_max si riesce a migliorare il risultato ottenuto senza filtri e a tenere conto dei piccoli trend locali.

Tuttavia, la variante con filtro lambda=0,2*lambda_max ha mostrato in questo caso una redditività inferiore rispetto alla strategia senza filtri.

Opzione con l'aggiunta di posizioni (con lambda diversi) sui trend locali all'interno di un flat

Senza filtri:


Con filtro lambda=0,2*lambda_max e apertura di posizioni durante le correzioni:

Con filtro lambda=0,001*lambda_max e aggiunta durante le correzioni:

La variante con filtro lambda=0,2*lambda_max e aggiunta durante le correzioni ha mostrato un risultato migliore rispetto alla variante senza filtri.

L'aggiunta di piccoli trend locali (lambda=0,001*lambda_max) durante le correzioni all'interno dell'intervallo di flat ha permesso di aumentare il profitto della strategia originale senza filtri (e di migliorare il profitto della variante con lambda=0,2*lambda_max).

Quantum #:

Variante con l'aggiunta di posizioni (con lambda diversi) sui trend locali all'interno di un flat

Senza filtri:


Con filtro lambda=0,2*lambda_max e aggiunta durante le correzioni:

Con un filtro lambda=0,001*lambda_max e l'aggiunta delle correzioni:

La variante con filtro lambda=0,2*lambda_max e l'aggiunta alle correzioni ha mostrato un risultato migliore rispetto alla variante senza filtri.

L'aggiunta alle correzioni di piccole tendenze locali (lambda = 0,001*lambda_max) all'interno dell'intervallo di fluttuazione ha permesso di aumentare il profitto della strategia originale senza filtri (e di migliorare il profitto della variante con lambda = 0,2*lambda_max).

Fate trading, almeno su un conto demo

la comprensione arriverà con l’esperienza e dopo aver atteso 10 mesi di lavoro infruttuoso

Grazie per averci presentato due nuove funzioni per i vettori. Sono molto utili. Avete svolto un lavoro notevole, ma purtroppo tutti i vostri indicatori presentano un forte redrawing: anche sui dati storici i picchi si trasformano in valori opposti o scompaiono. Non a caso li avete paragonati al filtro di Hodrick-Prescott, che si ridisegna ; si potrebbero paragonare anche alla TMA centrata e ad alcuni altri. Sui timeframe più lunghi, una rottura può comparire 300 candele indietro; si potrebbe fare trading per un anno (perdendo il deposito) contro il trend. Per il trading reale né gli indicatori né gli expert advisor basati su di essi sono adatti, poiché cercano di prevedere il futuro.

In realtà, sulla base di queste funzioni è possibile creare indicatori che non si ridisegnano. Nel caso dei vostri indicatori, basta semplicemente attendere 1000 candele e ripetere il calcolo a partire dalla fine del periodo precedente, ma ciò è inutile ai fini dell’applicazione pratica; esistono alternative più interessanti. Buona fortuna per le vostre ricerche.