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

 
mytarmailS:

fare un collegamento R.

già fatto, ma non ha funzionatohttps://www.mql5.com/ru/forum/306688/page10#comment_11308158

 
Renat Fatkhullin:
Puoi condividere le informazioni?
1) Usate la libreria python di MT5?
2) Lo usate fuori o dentro MT5?
3) Quali caratteristiche mancano alla biblioteca? Accesso agli indicatori?

Stiamo preparando un aggiornamento di MQL5 che aggiunge operazioni di matrice veloci. Questo permetterà di eseguire calcoli massicci.

Poi svilupperemo connettori a pacchetti analitici e implementeremo l'integrazione standard di WinML.
1) fare una normale integrazione con sqlite3
2) mostrare l'errore quando lo script si ferma bruscamente, come in python, con un link alla stringa e una descrizione dell'errore e che sarebbe di default nel log
3) aggiungere l'integrazione con api telegram, almeno un set minimo
4) permettere di mettere sul mercato EAs con webrequest, cioè con la possibilità di richiedere informazioni dall'esterno
 
Evgeny Dyuka:
1) fare una normale integrazione con sqlite3
2) visualizzare l'errore quando lo script si ferma bruscamente, come in python, con un link alla stringa e alla descrizione dell'errore, e per default inviarlo al giornale
3) aggiungere l'integrazione con api telegram, almeno un set minimo
4) permettere di mettere sul mercato consulenti con webrequest, cioè con la possibilità di richiedere informazioni dall'esterno.

1) è esistito a lungo come funzioni regolari di DatabaseXXX, anche un browser di database sqlite è costruito nell'editor, un articolo dettagliato su SQL in MQL5

2) l'intero output degli script python è scritto nei log in dettaglio

3) questo esiste da tempo come soluzioni separate e non si applica alla libreria python. Ho fatto domande sul binding di python. Invece di telegramma, è conveniente usare i normali pulsanti nei telefoni cellulari

4) è sempre stato disponibile

SQLite: нативная работа с базами данных на SQL в MQL5
SQLite: нативная работа с базами данных на SQL в MQL5
  • www.mql5.com
Разработка торговых стратегий связана с обработкой больших объемов данных. Теперь прямо в MQL5 вы можете работать с базами данных с помощью SQL-запросов на основе SQLite. Важным преимуществом данного движка является то, что вся база данных содержится в единственном файле, который находится на компьютере пользователя.
 
Igor Makanu:

già fatto, ma non ha funzionatohttps://www.mql5.com/ru/forum/306688/page10#comment_11308158

tristemente....

il prodotto più popolare al mondo dopo matlab per i calcoli statistici, chiamatelo fattoria collettiva )))

Il livello è chiaro e così è la fattoria collettiva ...

 
mytarmailS:

tristemente....

il prodotto più richiesto al mondo dopo matlab per i calcoli statistici, chiamatelo fattoria collettiva )))

il livello è chiaro e anche la fattoria collettiva...

Il livello è mostrato qui: Distribuzioni statistiche in MQL5 - Prendi il meglio di R e più velocemente

Confronto della velocità di calcolo

Abbiamo preparato degli script per misurare il tempo di calcolo delle funzioni di densità (pdf), funzioni di probabilità (cdf), funzioni che calcolano i quantili e funzioni che generano numeri pseudocasuali per confrontare la velocità di calcolo delle funzioni statistiche.

I calcoli sono stati eseguiti su un array di 51 valori; per le distribuzioni continue i valori della funzione sono stati calcolati nell'intervallo da 0 a 1, e per le distribuzioni discrete da 0 a 50. Il tempo di calcolo delle funzioni statistiche in R è stato misurato utilizzando la libreria microbenchmark. Il tempo di calcolo della funzione in MQL5 è stato calcolato utilizzando la funzione GetMicrosecondCount(). Lo script di calcolo TestStatBenchmark.mq5 si trova in terminal_data_folder\MQL5\Scripts\UnitTests\Stat. Lo script per R e i risultati delle misurazioni della velocità di calcolo sono riportati nell'appendice.

I risultati sono stati misurati su Intel Core i7-4790, 3.6 Ghz CPU, 16 GB RAM, Windows 10 x64.

Risultati della misurazione del tempo di calcolo (in microsecondi):


Distribuzione
MQL5 tempo
calcolo PDF (µs)
R tempo
calcolo PDF (µs)
PDF
R/MQL5
MQL5 tempo
calcolo CDF (µs)
R tempo
calcolo CDF (µs)
CDF
R/MQL5
Tempo di calcolo dei quantili MQL5
(µs)
Tempo di calcolo R
quantile (µs)
Quantile
R/MQL5
MQL5 Tempo di generazione
numeri casuali (µs)
Tempo di generazione R
numeri casuali (µs)
Casuale
R/MQL5
1
Binomio
4.39
11.663
2.657
13.65
25.316
1.855
50.18
66.845
1.332
318.73
1816.463
5.699
2
Beta
1.74
17.352
9.972
4.76
15.076
3.167
48.72
129.992
2.668
688.81
1723.45
2.502
3
Gamma
1.31
8.251
6.347
8.09
14.792
1.828
50.83
64.286
1.265
142.84
1281.707
8.973
4
Cauchy
0.45
1.423
3.162
1.33
15.078
11.34
1.37
2.845
2.077
224.19
588.517
2.625
5
Esponenziale
0.85
3.13
3.682
0.77
2.845
3.695
0.53
2.276
4.294
143.18
389.406
2.72
6
Uniforme
0.42
2.561
6.098
0.45
1.423
3.162
0.18
2.846
15.81
40.3
247.467
6.141
7
Geometrico
2.3
5.121
2.227
2.12
4.552
2.147
0.81
5.407
6.675
278
1078.045
3.879
8
Ipergeometrico
1.85 11.095
5.997
0.9
8.819
9.799
0.75
9.957
13.28
302.55
880.356
2.91
9
Logistica
1.27
4.267
3.36
1.11
4.267
3.844
0.71
3.13
4.408
178.65
626.632
3.508
10
Weibull
2.99
5.69
1.903
2.74
4.268
1.558
2.64
6.828
2.586
536.37
1558.472
2.906
11
Poisson
2.91
5.974
2.053
6.26
8.534
1.363
3.43
13.085
3.815
153.59
303.219
1.974
12
F
3.86
10.241
2.653
9.94
22.472
2.261
65.47
135.396
2.068
1249.22
1801.955
1.442
13
Chi Quadrato
2.47
5.974
2.419
7.71
13.37
1.734
44.11
61.725
1.399
210.24
1235.059
5.875
14
Chi-quadro non centrale
8.05
14.223
1.767
45.61
209.068
4.584
220.66
10342.96
46.873
744.45
1997.653
2.683
15
Non centrale F
19.1
28.446
1.489
14.67
46.935
3.199
212.21
2561.991
12.073
1848.9
2912.141
1.575
16
Beta non centrale
16.3
26.739
1.64
10.48
43.237
4.126
153.66
2290.915
14.909
2686.82
2839.893
1.057
17
Binomio negativo
6.13
11.094
1.81
12.21
19.627
1.607
14.05
60.019
4.272
1130.39
1936.498
1.713
18
Normale
1.15
4.267
3.71
0.81
3.983
4.917
0.7
2.277
3.253
293.7
696.321
2.371
19
Lognormale
1.99
5.406
2.717
3.19
8.819
2.765
3.18
6.259
1.968
479.75
1269.761
2.647
20
T
2.32
11.663
5.027
8.01
19.059
2.379
50.23
58.596
1.167
951.58
1425.92
1.498
21
T non centrale
38.47
86.757
2.255
27.75
39.823
1.435
1339.51
1930.524
1.441
1550.27
1699.84
1.096
<PDF R/MQL5
3.474 <CDF R/MQL5>.
3.465
<Quantile R/MQL5>.
7.03
<Random R/MQL5>
3.13

Tabella 4. Tempo per calcolare le funzioni statistiche in R e MQL5 (in microsecondi).

Per R abbiamo preso valori minimi di tempo e per MQL5 abbiamo preso valori medi (pdf_mean, cdf_mean, quantile_mean, random_mean).

Come si può vedere dalla tabella, anche in queste condizioni il calcolo delle funzioni della libreria statistica MQL5 è diverse volte più veloce di R. In media, MQL5 calcola da 3 a 7 volte più velocemente di R anche tenendo conto del fatto che le varianti confrontate delle funzioni R sono in realtà scritte in C++.

In pratica, il compilatore del linguaggio MQL5 si è rivelato molto più veloce delle implementazioni C++ delle funzioni in R, il che dimostra l'alta qualità dei nostri sviluppi. Quando si trasferiscono programmi da R a MQL5 si ottiene un notevole aumento di velocità e non è necessario utilizzare DLL di terze parti.


MQL5 è ora centinaia di volte più veloce di Python, ma introducendo le operazioni matriciali native nel linguaggio principale, vedremo la velocità della matematica, che è diverse volte più veloce dei moduli Python di terze parti.

 
Renat Fatkhullin:

1) è stato in giro per molto tempo come una funzione standard di DatabaseXXX, anche il browser di database sqlite è costruito nell'editor, articolo dettagliato su SQL in MQL5

2) l'intero output degli script python è scritto nei log in dettaglio

3) questo esiste da tempo come soluzioni separate e non si applica alla libreria python. Ho fatto domande sul binding di python. Invece di telegramma, è conveniente usare i normali pushers nei telefoni cellulari

4) è sempre stato disponibile

Grazie per la risposta dettagliata, in qualche modo ho perso il DB
 

La velocità è buona, ma tutt'altro che decisiva

Quando avete intitolato il vostro articolo "Distribuzioni statistiche in MQL5 - Usare il meglio di R e renderlo più veloce", io

Giuro che ho riso tutto il giorno! Hai preso tre funzioni da milioni di quelle in R, le hai inventate e riscritte in MQL5 e questo è tutto! ))) Tutti voi avete superato la R!!! Ahahaha )))) non può scusarmi...


Che dire del fatto che R ha il più grande database di qualsiasi metodo statistico per qualsiasi direzione, con migliaia di librerie... Quando lo riscriverete?

E la lista completa di tutti gli algoritmi MoD, centinaia di librerie... Quando la riscriverete?

E il database CRAN con gli ultimi prodotti del mondo, che tutti vogliono e possono provare... Quando lo riscriverete e soprattutto PERCHE'?

Sapevate che posso sostituire un centinaio di µl con una riga di codice in R?


Tutto quello che avete nei vostri argomenti è la velocità, la velocità di tre funzioni che avete preso da R.

Sapevate che potete scrivere qualsiasi funzione C++ in R?


Eh, ok... perché mi sto inventando questo... è inutile comunque, hai già risolto tutto... e anche io...

Una cosa che ti chiedo - non scrivere più che "prendi il meglio di R" - non sai di cosa stai parlando...


Anche se si copiassero mille funzioni in µl, non sarebbe nemmeno un centesimo di quello che ha R, che senso ha fare questa assurdità?

Perché non lasciare che le persone stesse si portino in questo mondo di statistica, apprendimento automatico, elaborazione dei segnali, econometria e molto altro...

 
mytarmailS:

La velocità è buona, ma tutt'altro che decisiva

Quando hai intitolato il tuo articolo "Distribuzioni statistiche in MQL5 - prendi il meglio di R e rendilo più veloce" ho riso tutto il giorno!

Giuro che ho riso tutto il giorno! Hai preso tre funzioni da milioni di funzioni in R, ti sei fatto una tua opinione su di esse e le hai riscritte in MQL5... Questo è tutto!!! ))) Tutti voi avete superato la R!!! Ahahaha )))) non può scusarmi...

Abbiamo preso e riscritto circa 500 delle funzioni integrate di R in puro MQL5. Questa è la base matematica di base del sistema R. Tutto il resto sono pacchetti di terze parti.

Abbiamo riscritto queste funzioni più velocemente e le distribuiamo nel codice sorgente /include/math/stat. Questo dimostra la qualità della nostra lingua e dei nostri sviluppatori.

Abbiamo fatto la nostra scelta su chi e come sostenerli:

  • sviluppare MQL5
  • Avere un'integrazione con Python.


Quando state lanciando domande e sproloqui, vi consiglio di guardare il vostro avversario che:

  • ha scritto incessantemente codice per 30 anni
  • ha speso metà della sua vita per lo sviluppo di 5 piattaforme di trading
  • ha creato, gestisce e mantiene questa comunità di trading da 15 anni.
  • ...cercate voi stessi a vostro piacimento.

Se vieni qui per consumare (nessuno ha visto i tuoi risultati in pubblico), allora comportati decentemente e modera il tuo linguaggio.
 
Renat Fatkhullin:
Se sei venuto a consumare (nessuno qui ha visto i tuoi risultati in pubblico), allora comportati decentemente e modera il tuo linguaggio.

Io non consumo niente qui, sto solo comunicando sul forum, se mi bannate mi farà solo sentire meglio... quindi...

Non capisco cosa stai facendo e cosa stai cercando di ottenere, ma queste 500 funzioni che hai riscritto sono morte nel senso che sono come un misuratore con cui puoi misurare qualcosa e questo "qualcosa" sono esattamente i pacchetti esterni a cui hai bloccato l'accesso.

 
Renat Fatkhullin:

Avrebbe senso rendere nativo il supporto di ZeroMQ?

Motivazione: