MetaTrader 5 Python User Group - Come usare Python in Metatrader - pagina 81
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
e se, ipoteticamente, si prende il supporto ONNX, i modelli importati saranno più lenti del MQL stesso?
Controllate voi stessi.
Ma non dimenticare che il vero wrapper su ONNX sarà sicuramente in C++ come libreria/modulo per python, e poi il driver/librerie della specifica scheda video (se è adatto).
Python è solo un corridoio tra le chiamate a librerie efficienti, che devono essere scambiate con esso sotto forma di set di dati abbastanza costosi.
La gente non capisce abbastanza che Python è davvero solo un involucro sopra le chiamate di libreria e niente di più. Pensano che python sia un linguaggio potente e moderno. Ma in realtà è un binding tra librerie C++ ;)
E ogni libreria ha costi mostruosi per assicurare la compatibilità con le strutture dinamiche di python (anche in numpy).
Controllate voi stessi.
Ma non dimenticate che il vero wrapper su ONNX sarà sicuramente in C++ sotto forma di una libreria/modulo per python, e poi il driver/librerie della specifica scheda video (se è adatto).
Python è solo un corridoio tra le chiamate a librerie efficienti, che devono essere scambiate con esso sotto forma di set di dati abbastanza costosi.
La gente non capisce abbastanza che Python è davvero solo un involucro sopra le chiamate di libreria e niente di più. Pensano che python sia un linguaggio potente e moderno. Ma in realtà è un binding tra librerie C++ ;)
E ogni libreria ha un costo mostruoso per assicurare la compatibilità con le strutture dinamiche di python (anche in numpy).
Lo controllerò... non ho ancora guardato i dettagli
È chiaro che python è soprattutto per la ricerca.
Ma per tirare il codice di qualche rete neurale già addestrata dopo (e cambiano ogni volta durante la ricerca), è già irreale trasferire qualcosa da qualche parte :)
Forse non ho capito bene cosa volevi fare. Comunque, avete abbastanza possibilità con le api python. A meno che tu non riesca a metterlo sul mercato.
Nein. Es ist naiv zu glauben, dass wir Selbstmord begehen und eine Sprache wählen werden, die hunderte Male langsamer ist alsere, um den Tester loszuwerden.
Per noi è molto più facile, la nostra idea è di mettere in pratica, C ++ - Bibliotheken von Drittanbietern in MQL5-Module neu zu kompilieren. Per questo motivo abbiamo iniziato a mettere a punto un compilatore LLVM esterno nell'editor.
Il modulo Python riceve i comandi per il tester di strategia? Alla fine o sicuramente no?
Ci metto anche i miei cinque copechi ))))
Ho preso Python proprio perché è molto più facile (mi sembra) lavorare con le reti. Ci sono molti sviluppi. Basta prenderlo e applicarlo. E non ci si può liberare delle reti neurali. Secondo me, MQL ha solo bisogno di librerie per lavorare con questa entità...
Fammi un esempio del tuo codice Python che rallenta, non è chiaro dalle parole cosa fa e come ottieni i dati. E perché scrive costantemente sul file? Non si può fare alla fine?
Ho cambiato un po' il codice Python: ho aumentato la richiesta di tick da un giorno a 30, organizzato la scrittura nel file non riga per riga, ma in blocchi di 500 righe. Il tempo di esecuzione è diminuito di un paio di secondi. L'indicatore non riguarda nulla.
Ho ridisegnato il mio indicatore. Ho aggiunto dei buffer e ho scritto i dati nel file riga per riga. La richiesta di zecche rimane la stessa - un giorno.
Ho messo l'indicatore sul grafico.
L'indicatore ha reso e scritto tutti i dati su file in un minuto.
Python - 3 ore
MQL - 1 minuto
Saluti a tutti.
Può dirmi perché.
Leggo un file csv in un dataframe. Poi impilo alcune righe in una e scrivo in un nuovo file csv
Questo codice funziona per 17 secondi.
Ma se lo metto tutto in una volta in un nuovo quadro csv e poi lo scarico in un file, allora il tempo di esecuzione del codice aumenta a 1 minuto. 44 sec.
Perché?
problema di codifica? (traduttore di Google)
C'è una tabella (pandas DataFrame). Come creare una nuova colonna per condizione: se colonna "1" < colonna "2" allora scrivere 145 altrimenti scrivere 874?
aggiungere:
Comunque risolto da
import numpy as np ... np.where(
In particolare voglio sapere se funzionerà?
Come faccio a fare un offset?
Questa è la tabella (Data Frame)
Come fare in questo modo: