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

 
Evgeny Dyuka #:

Non capisco il motivo di tutte queste cose fantasiose con ONNX.

Esiste un ovvio scenario di base per rendere MT5 e MO amici:
1. Da OnInit() lo script python viene avviato come processo separato.
2. Abbiamo bisogno di un paio di funzioni di scambio di informazioni tra python e EA, nella modalità in cui l'EA può attendere l'arrivo di informazioni.
3. Creiamo una cartella Models e vi inseriamo i modelli TensorFlow.

E' TUTTO!!! L'integrazione tra MT e MO è avvenuta! Tutti sono contenti.

Può essere più semplice... collegare Redis, ottenere RedisAI con PyTorch, ONNX, supporto TensorFlow e, se lo si desidera, distribuire il carico su nodi e cloud.

 
Maxim Dmitrievsky #:
Una stampella in meno, la gamma di modelli utilizzati sarà notevolmente ampliata (prima, per lo più tutti ottimizzavano i pesi tramite gli input del terminale). A quanto pare, dovrebbe funzionare anche su Mac, lo verificherò presto :) a volte è bello non fare nulla e aspettare che il cibo ti voli in bocca da solo

Beh, sono stato coinvolto in questo caso per aumentare il livello di python - non posso farne a meno ora) Penso di iniziare con LightGBM. Sembra che ci siano due modi per ottenere ONNX: onnxmltools e skl2onnx.

 
Si noti che l'esecuzione nativa dei modelli onnx consente di eseguirli facilmente e molto rapidamente nel tester e in claudnet senza spese di sistema, cosa quasi impossibile con le integrazioni di terze parti.

È durante i test strategici che tutti questi "che problema c'è a perdere 50 ms per chiamata" aumenteranno il tempo di test di migliaia di volte.
 
Evgeny Dyuka #:
Sento sempre questa leggenda sull'importanza della velocità, ma non riesco a capire dove sia importante.
Tenendo conto dello spread e delle commissioni di borsa/broker, è necessario fare previsioni per un tempo misurato in decine di minuti o ore. Cosa c'entrano 50 millisecondi di differenza?
In che modo, nella vita reale, battere MQ su fxsaber di 5 millisecondi può aiutarti?

Fai come vuoi, ma a me non dispiacerebbe nemmeno un piccolo aumento di velocità. Sia nei test/ottimizzazione che nel trading.

 
Renat Fatkhullin #:
Si noti che l'esecuzione nativa dei modelli onnx rende facile e molto veloce la loro esecuzione nel tester e in claudnet senza alcun overhead di sistema, cosa quasi impossibile con le integrazioni di terze parti.

È durante i test strategici che tutti questi "che problema c'è a perdere 50 ms per chiamata" aumenteranno il tempo di test di migliaia di volte.
Temo che l'ottimizzazione nel cloud non funzionerà. Lo scopo dell'ottimizzazione è quello di modificare i parametri del TS. Ad esempio, la selezione TP/SL. Quando vengono modificati, i dati per l'addestramento cambiano. È quindi necessario addestrare il modello con ogni variante di parametri e a tal fine è necessario installare il software MO (Catbust, rete neurale, ecc.). È improbabile che nel cloud qualcuno abbia installato il software richiesto, della versione giusta.
.

Quindi l'addestramento può essere fatto solo nel tester sulla macchina dello sviluppatore.
E non ha senso caricare il modello finito sul cloud.

 
Maxim Kuznetsov #:

Può essere più semplice... collegare Redis, ottenere RedisAI con supporto PyTorch, ONNX, TensorFlow e, se lo si desidera, distribuire il carico su nodi e cloud.

Il nostro aereo ha a bordo una piscina, una pista da ballo, un ristorante, accoglienti aree ricreative, un giardino d'inverno... Cari passeggeri, allacciate le cinture di sicurezza, ora cercheremo di decollare con tutta questa roba.

 
Forester #:
Temo che l'ottimizzazione nel cloud non funzioni. Lo scopo dell'ottimizzazione è modificare i parametri della TS. Ad esempio, la selezione di TP/SL. Quando vengono modificati, i dati per l'addestramento cambiano. È quindi necessario addestrare il modello con ogni variante di parametri, e a tal fine è necessario installare il software MO (Catbust, rete neurale, ecc.). È improbabile che nel cloud qualcuno abbia installato il software richiesto, della versione giusta.
.

Quindi l'addestramento può essere fatto solo nel tester sulla macchina dello sviluppatore.
E non ha senso caricare il modello finito sul cloud.

A dire il vero, un modello non è necessariamente un TS completato. Ad esempio, il modello prevede un incremento di prezzo e nei parametri dell'EA viene impostato un valore soglia per l'incremento previsto, che l'EA cerca di negoziare.

 
Aleksey Nikolayev #:

Il nostro aereo ha a bordo una piscina, una pista da ballo, un ristorante, accoglienti aree lounge, un giardino d'inverno... Cari passeggeri, allacciate le cinture, ora cercheremo di decollare con tutta questa roba.

IMHO questo è solo l'attuale sviluppo di MQL. Un tentativo di stipare tutto in una volta invece di integrare.

 
Maxim Kuznetsov #:

IMHO questo è proprio l'attuale sviluppo di MQL. Un tentativo di inserire tutto in una volta sola, invece delle integrazioni.

+

 
Maxim Kuznetsov #:

IMHO questo è solo l'attuale sviluppo di MQL. Un tentativo di inserire tutto in una volta sola, invece delle integrazioni.

I percorsi per le integrazioni sono sempre stati aperti:

  • DLL native
  • DLL .NET
  • HTTP/HTTPS
  • Socket grezzi
  • File/pipe
  • SQLite
  • Libreria Python


Ma sono le integrazioni con i linguaggi nativi che rendono possibile la scrittura di applicazioni complete.

Per quanto riguarda il ML, abbiamo lavorato e implementato vettori, matrici e operazioni su di essi come base per l'apprendimento automatico:

  • vettori, matrici e operazioni su di essi come base per l'apprendimento automatico
  • integrazione con Python, compreso il lancio di programmi Python nel terminale come normali script
  • utilizzo di modelli ONNX nativi, che aprono un'enorme porta all'applicazione pratica dei neuromodelli

Riusciamo a creare soluzioni complete e veloci.

Le parole che parlano di "tentativi di ingolfamento" indicano solo un atteggiamento negativo senza una giustificazione razionale. Tanto più che la disponibilità di possibilità non limita in alcun modo chi scrive.
Motivazione: