Discussione sull’articolo "Dalle matrici ai modelli: Come costruire una pipeline di machine learning in MQL5 ed esportarla nel formato ONNX"

 

Il nuovo articolo Dalle matrici ai modelli: Come costruire una pipeline di machine learning in MQL5 ed esportarla nel formato ONNX è stato pubblicato:

L'articolo descrive la configurazione di una pipeline di machine learning coordinata in MetaTrader 5 con separazione dei ruoli: Python addestra ed esporta il modello in ONNX, MQL5 riproduce la normalizzazione e la PCA tramite matrice/vettore ed esegue l'inferenza. Questo approccio rende stabili e verificabili i dati di input del modello, e lo strategy tester di MetaTrader 5 fornisce metriche per analizzare il comportamento del sistema.

Cosa rende intimidatorio il Machine Learning (ML) nel terminale non è tanto il modello in sé quanto tutto ciò che lo circonda. Potrebbe sembrare che non possiamo fare a meno di uno stack separato, di script Python e di un'integrazione complessa. Di conseguenza, si ha la sensazione che l’ML sia qualcosa di esterno rispetto a MetaTrader 5.

Ma una volta rimossi gli strati superflui, il quadro diventa più chiaro. Qualsiasi pipeline ML è una sequenza di operazioni di base: generare le caratteristiche, scalarle, rimuovere la ridondanza e passare il risultato al modello. Non si tratta della magia delle reti neurali, ma di normale algebra lineare.

In questo articolo, seguendo questo percorso in modo sequenziale, senza teoria superflua e usando matrici e vettori come strumenti principali. L'attenzione si concentra sull'obiettivo principale: come ottenere risultati riproducibili sia in fase di formazione che in un ambiente di trading reale.

Pipeline ML


Autore: MetaQuotes

 
A mio modesto parere, normalizzare e calcolare la PCA sull’intero set di dati e solo successivamente suddividerlo in campioni di addestramento e di validazione significa anticipare il futuro. Quando si lavora online, non è possibile modificare la normalizzazione o adattare la PCA alla luce dei dati più recenti. Un esperimento corretto consisterebbe nel dividere inizialmente i dati in due insiemi e poi applicare la normalizzazione e la PCA solo alla parte in-sample, per poi applicare i metaparametri di trasformazione dei dati di input individuati alla parte out-of-sample.
 
Stanislav Korotky #:
A mio modesto parere, normalizzare e calcolare la PCA sull’intero set di dati e solo successivamente dividerlo in set di addestramento e di validazione significa guardare al futuro. Quando si lavora online, non è possibile modificare la normalizzazione o adattare la PCA in base ai dati più recenti. Un esperimento corretto consisterebbe nel dividere inizialmente i dati in due insiemi e poi applicare la normalizzazione e la PCA solo alla parte in-sample, per poi applicare i metaparametri di trasformazione dei dati di input così individuati alla parte out-of-sample.
A proposito, tutti i forum ne peccano, specialmente per quanto riguarda la decomposizione wavelet con successiva elaborazione e addestramento.

Di conseguenza, anche un semplice indicatore a lancetta mostra le lancette «ai punti di svolta».

È una cosa pericolosa: non si capisce subito dove sta il trucco.