L'apprendimento automatico nel trading: teoria, modelli, pratica e algo-trading - pagina 3236

 
Tuttavia, l'argomento della creazione di pipeline personalizzate e della loro conversione in ONNX è molto interessante, importante e merita uno o più articoli sul forum.
 

Se ho capito bene, lo schema di lavoro con ONNX semplificato è il seguente:

MQL5_Input_Data -> ONNX -> MQL5_TS, dove:

MQL5_Input_Data - acquisizione dei dati

ONNX - modello (rete neurale con coefficienti di peso)

MQL5_TS - gestore e sistema di trading.


Non è chiaro come venga eseguito il modello ONNX, se direttamente da MT5 o se si debba utilizzare Python per questo scopo.

 
Andrey Dik #:

Se ho capito bene, lo schema di lavoro con ONNX è semplicisticamente il seguente:

MQL5_Input_Data -> ONNX -> MQL5_TS, dove:

MQL5_Input_Data - dati di ricezione

ONNX - modello (rete neurale con coefficienti di peso)

MQL5_TS - gestore e sistema di trading.


Non è chiaro come venga eseguito il modello ONNX, se direttamente da MT5 o se si debba utilizzare Python.

MT5 lo esegue. L'output è solo un exe del bot. Come risorsa è archiviato.
 
Andrey Dik #:

Se ho capito bene, lo schema di lavoro con ONNX è semplicisticamente il seguente:

MQL5_Input_Data -> ONNX -> MQL5_TS, dove:

MQL5_Input_Data - dati di ricezione

ONNX - modello (rete neurale con coefficienti di peso)

MQL5_TS - gestore e sistema di trading.


Non è chiaro come venga eseguito il modello ONNX, se direttamente da MT5 o se si debba utilizzare Python.

La mia comprensione è la seguente:. Onnx - il modello produce solo
Segnale (più o meno un numero o una serie di numeri) e il terminale MT5 esegue il trading.
Attraverso la funzione OrderSend()
 
Andrey Dik #:

Non è chiaro come venga eseguito il modello ONNX, se direttamente dalla MT5 o se sia necessario coinvolgere Python.

A quanto pare, viene eseguito tramite onnxruntime di Microsoft, che è incluso in MT5. C'è stato un breve momento in cui è stato necessario aggiungere alcune dll alla root del terminale per eseguire il modello.

GitHub - microsoft/onnxruntime: ONNX Runtime: cross-platform, high performance ML inferencing and training accelerator
GitHub - microsoft/onnxruntime: ONNX Runtime: cross-platform, high performance ML inferencing and training accelerator
  • microsoft
  • github.com
ONNX Runtime is a cross-platform inference and training machine-learning accelerator . ONNX Runtime inference can enable faster customer experiences and lower costs, supporting models from deep learning frameworks such as PyTorch and TensorFlow/Keras as well as classical machine learning libraries such as scikit-learn, LightGBM, XGBoost, etc...
 
Maxim Dmitrievsky #:
MT5 lo fa. Il modo in cui viene inserito nel corpo del bot in seguito - credo che Renat ne abbia scritto, non ricordo. L'output è solo un exe del bot.

Se un EA con ONNX è solo un exe, come faranno gli organizzatori a sapere che ONNX è stato utilizzato?

Oppure, "non preoccupatevi, lo sapranno!"?)))

 
Andrey Dik #:

Se un EA con ONNX è solo un exe, come faranno gli organizzatori a sapere che ONNX viene utilizzato?

Oppure, "non preoccupatevi, lo sapranno!"))))

No, il modello viene aggiunto come risorsa. È possibile aggiungerlo come file separato: tutto è descritto nel manuale.
 
Andrey Dik #:

Se un EA con ONNX è solo un exe, come faranno gli organizzatori a sapere che ONNX viene utilizzato?

Oppure, "non preoccupatevi, lo sapranno!"?)))

🤷‍♂️
 
Aleksey Nikolayev #:
No, il modello viene aggiunto come risorsa.

Beh, è quello che sto dicendo, il modello come risorsa è incorporato nell'exe di EA, l'exe viene inviato all'organizzatore. Qualsiasi cosa può essere presente nell'exe, fino all'assenza del modello ONNX))))

 
Andrey Dik #:

Beh, è quello che sto dicendo, il modello come risorsa è incorporato nell'exe di EA, l'exe è inviato all'organizzatore. Tutto può essere nell'exe, fino all'assenza del modello ONNX)))

))

No, ci sono alcuni messaggi sul lancio di onnx. E accetteranno modelli, non exeshnik, e poi eseguiranno modelli nello stesso modello per tutti.