MetaTrader 5 Python User Group - Come usare Python in Metatrader - pagina 34

 
Renat Fatkhullin:

Qualcuno ha già usato l'integrazione di Python in MetaEditor nelle build 2302 e superiori (meglio la beta 2304)?


La prima versione dell'integrazione nell'editor funziona ora, e la prossima lo sarà:

  • eseguire script (non esperti) e servizi come programmi Python *.py
  • una libreria python metatrader5 completamente riscritta con accesso a grafici, simboli, capacità di fare trading, storia del trading
  • evidenziazione nell'editor

Già l'esecuzione di programmi *.py e *.ipynb nell'editor funziona.

Per favore, fate una prova.


Dopo aver completato l'apprendimento automatico tramite script python, passeremo all'implementazione di WinML con ONNX nativamente in MQL5 stesso.

Ho guardato cos'è WinML, una cosa piuttosto interessante, mi piacerebbe capire tutto ))
Ho capito bene che dopo aver implementato WinML con ONNX, il machine learning sarà disponibile in mql5 out of the box MetaTrader5?
E i modelli addestrati in WinML, possono essere utilizzati direttamente nei programmi MetaTrader5?

 
Roman:

Ho guardato cos'è WinML, una cosa piuttosto interessante, mi piacerebbe capire tutto ))
Ho capito bene che dopo l'implementazione di WinML con ONNX, il machine learning sarà disponibile in mql5 out of the box MetaTrader5?
E i modelli addestrati in WinML, possono essere utilizzati direttamente nei programmi MetaTrader5?

Sì, proprio così.

Sarà possibile creare sistemi molto complessi e venderli sul mercato. E in teoria dovrebbero lavorare più velocemente.

La ricerca può essere effettuata in qualsiasi sistema, poi i modelli addestrati possono essere esportati in formato ONNX ed eseguiti in WinML nativo.

 
Renat Fatkhullin:

Sì, proprio così.

Si potrebbero costruire sistemi molto sofisticati e venderli sul mercato. E, in teoria, dovrebbero lavorare più velocemente.

La ricerca può essere fatta in qualsiasi sistema, poi i modelli addestrati possono essere esportati in formato ONNX ed eseguiti nativamente in WinML.

In relazione a questo, un'altra domanda.
Come pensi di integrare i modelli addestrati nel codice del programma mql5?
Sarà un'integrazione diretta del codice addestrato nel codice mql?
O ogni modello sarà salvato in un file separato, e questo file sarà collegato come l'inclusione?

 

Oltre all'integrazione con Python, stiamo lavorando sul supporto nativo per le funzioni di big data sia nel codice che in MetaEditor:

  1. SQLite Browser in MetaEditor è già disponibile nelle beta



  2. Visualizzazione tabellare di file CSV, compresi i pacchetti zip/gz

    I dataset sono solitamente distribuiti in formato CSV, compresi quelli impacchettati in gz/zip. Vi diamo la possibilità di visualizzare (e modificare probabilmente) file enormi in vista tabellare, cosa che non è quasi disponibile in altri editor.

  3. Funzioni di estensione DatabaseXXX come DatabasePrint, DatabaseExport, DatabaseImport

    Con queste funzioni è possibile convertire facilmente i file CSV in database SQLite, esportarli o stamparli.

    Basta importare un database di testo CSV in SQLite una volta, e poi usare l'impressionante velocità di accesso e recupero dei dati (a livello di C++). La nostra implementazione SQLite è virtualmente senza perdite rispetto alle implementazioni C++.

  4. Permettiamo di aggiungere file SQLite come risorse nei programmi EX5

    Le risorse sono automaticamente compresse, permettendovi sia di distribuire programmi di dimensioni moderate che di utilizzarli nella rete del cluster.

 
Renat Fatkhullin:

Sì, proprio così.

Si potrebbero creare sistemi molto complessi e venderli sul mercato. E in teoria dovrebbero funzionare più velocemente.

La ricerca può essere fatta in qualsiasi sistema, poi esportare i modelli addestrati in formato ONNX ed eseguire in WinML nativo.

no. Alglib, se ho capito bene, non hai intenzione di aggiornare alle ultime versioni?

 
Roman:

In relazione a questo, un'altra domanda.
Come pensate di integrare i modelli addestrati nel codice del programma mql5?
Sarà un'integrazione diretta del codice addestrato nel codice mql?
O ogni modello sarà salvato in un file separato, e questo file sarà collegato come l'inclusione?

ONNX + WinML: https://docs.microsoft.com/en-us/windows/ai/

Leggete da soli su questo argomento. È enorme e non può essere spiegato con le dita nel forum.

Windows AI
Windows AI
  • mattwojo
  • docs.microsoft.com
Transform your Windows application with the power of AI.
 
Maxim Dmitrievsky:

no. Alglib, da quanto ho capito, non ha intenzione di aggiornarsi alle ultime versioni?

Ho un'idea per aggiornare alle nuove caratteristiche del compilatore MQL5, ma non l'ho ancora fatto.
 
Renat Fatkhullin:

Renat, mi scuso per la domanda fuori tema.
Potreste dirmi come collegare una libreria con estensione .lib o .a nel progetto ME?
Se i progetti non supportano questo collegamento, questa funzione sarà aggiunta?
Attualmente, devo fare una dll dalle librerie statiche, e solo dopo linkarle nel progetto,
non è logico e conveniente linkare una dll, quando ci sono file .lib o .a

.

 

Non giudicare duramente, forse ci sono amanti del pitone là fuori che cercano di integrarlo in tutto e per tutto.

Python è una libreria C++, non è meglio fare MQL SB(libreria standard)?

MQ stava inizialmente andando in questa direzione, ma poi ha rinunciato sotto l'assalto di Ruto, RWods e Algibods )

Secondo me, l'intero problema è che MQ ha paura di andare oltre la "sandbox", come R, Py, Alglib non è più un nostro problema.

Hanno aggiunto un link ad altri "linguaggi di programmazione" e lasciano che gli altri Yap facciano quello che vogliono.

Mi ricorda uno struzzo )))

 

Il problema è la ristrettezza della percezione dell'argomento tra le masse e una mancanza di comprensione delle tendenze nello sviluppo dell'algotrading:

  • Il machine learning è il prossimo passo tecnologico nell'algotrading
  • Python non è una libreria C++, ma una piattaforma di apprendimento automatico vincente
  • L'integrazione di Python nell'editor e nel terminale ti dà la possibilità di usare istantaneamente librerie decisionali fuori dal comune e completamente intollerabili
  • Le integrazioni sono la norma, abbiamo DLL native, .NET DLL, OpenCL, DirectX, SQLite oltre a un grande insieme di funzioni native e libreria standard
  • Metatrader 5 e MQL5 si stanno rapidamente evolvendo per supportare il machine learning: prima tramite Python, libreria di integrazione API del terminale e funzioni per lavorare con dati massicci, e poi ai formati di modello standard WinML e aperti ONNX.

Lo struzzo è esattamente il tipo di persona

  • cercando di discutere la complessità di MQL5 e i vantaggi di MT4
  • Non sviluppandosi, risparmiando la loro energia
  • Cercare di fermare il progresso


Per capire meglio l'industria dell'algotrading:

  1. Pensare su larga scala per decine di milioni di consumatori, non per percezioni o opportunità personali/private
  2. Valutare periodi di 5-10 anni e tendenze di sviluppo, le informazioni pubbliche sono sufficienti.
  3. i prodotti (robot, indicatori, ...) sono sviluppati principalmente da programmatori più o meno professionisti, che hanno bisogno di sempre maggiori possibilità, compresa la distribuzione
  4. gli utenti di massa usano l'output degli sviluppatori professionisti spesso senza capire la complessità delle tecnologie applicate
  5. c'è abbastanza strato di sviluppatori e consumatori non pubblici, ma super capienti sotto forma di hedge-funds
  6. O si abbraccia il progresso o si rimane fuori - il treno corre senza sosta.
Se si rimane nel quadro della valutazione "ci sono solo io e i miei interessi, perché dovrei pensare al generale e al futuro", si perde naturalmente la capacità di difendere la propria posizione su larga scala.