Aprendizaje automático en el trading: teoría, práctica, operaciones y más - página 2282

 
mytarmailS:

hacer una conexión R.

ya lo hizo, pero no funcionóhttps://www.mql5.com/ru/forum/306688/page10#comment_11308158

 
Renat Fatkhullin:
¿Puede compartir la información?
1) ¿Utiliza la biblioteca python de MT5?
2) ¿Lo utilizas fuera o dentro de MT5?
3) ¿Qué características le faltan a la biblioteca? ¿Acceso a los indicadores?

Estamos preparando una actualización de MQL5 que añade operaciones matriciales rápidas. Esto permitirá realizar cálculos masivos.

A continuación, desarrollaremos conectores a paquetes analíticos e implementaremos la integración estándar de WinML.
1) hacer una integración normal con sqlite3
2) mostrar el error cuando el script se detiene abruptamente, como en python, con un enlace a la cadena y una descripción del error y que sería por defecto en el registro
3) añadir la integración con telegrama api, al menos un conjunto mínimo
4) permitir poner en el mercado EAs con webrequest, es decir, con la capacidad de solicitar información desde el exterior
 
Evgeny Dyuka:
1) hacer una integración normal con sqlite3
2) mostrar el error cuando el script se detiene bruscamente, como en python, con un enlace a la cadena y la descripción del error, y por defecto enviarlo al diario
3) añadir integración con api telegram, al menos un conjunto mínimo
4) permitir poner en el mercado asesores con webrequest, es decir, con la capacidad de solicitar información desde el exterior.

1) ha existido durante mucho tiempo como funciones regulares de DatabaseXXX, incluso un navegador de base de datos sqlite está integrado en el editor, un artículo detallado sobre SQL en MQL5

2) toda la salida de los scripts de python se escribe en los registros en detalle

3) esto ha existido durante mucho tiempo como soluciones separadas y no se aplica a la biblioteca de python. Hice preguntas sobre la vinculación con Python. En lugar de telegram, es conveniente utilizar pulsadores normales en los teléfonos móviles

4) siempre ha estado disponible

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

ya lo hizo, pero no funcionóhttps://www.mql5.com/ru/forum/306688/page10#comment_11308158

sadly....

el producto más popular del mundo después de matlab para cálculos estadísticos, llámese granja colectiva )))

El nivel es claro y la granja colectiva también...

 
mytarmailS:

sadly....

el producto más demandado del mundo después de matlab para cálculos estadísticos, llámese granja colectiva )))

el nivel es claro y la granja colectiva también...

El nivel se muestra aquí: Distribuciones estadísticas en MQL5 - Tome lo mejor de R y más rápido

Comparación de la velocidad de cálculo

Hemos preparado scripts para medir el tiempo de cálculo de funciones de densidad (pdf), funciones de probabilidad (cdf), funciones que calculan cuantiles y funciones que generan números pseudoaleatorios para comparar la velocidad de cálculo de las funciones estadísticas.

Los cálculos se realizaron sobre una matriz de 51 valores; para las distribuciones continuas los valores de la función se calcularon en el rango de 0 a 1, para las distribuciones discretas en el rango de 0 a 50. El tiempo de cálculo de las funciones estadísticas en R se ha medido utilizando la biblioteca microbenchmark. El tiempo de cálculo de la función en MQL5 se ha calculado utilizando la función GetMicrosecondCount(). El script de cálculo TestStatBenchmark.mq5 se encuentra en terminal_data_folder\MQL5\Scripts\UnitTests\Stat. El script para R y los resultados de las mediciones de la velocidad de cálculo se encuentran en el Apéndice.

Los resultados se midieron en Intel Core i7-4790, CPU de 3,6 Ghz, 16 GB de RAM, Windows 10 x64.

Resultados de la medición del tiempo de cálculo (en microsegundos):


Distribución
Tiempo MQL5
cálculo PDF (µs)
Tiempo R
Cálculo de la PDF (µs)
PDF
R/MQL5
Tiempo MQL5
Cálculo CDF (µs)
R tiempo
cálculo CDF (µs)
CDF
R/MQL5
MQL5 Tiempo de cálculo de cuantiles
(µs)
Tiempo de cálculo de R
cuantil (µs)
Quantile
R/MQL5
MQL5 Tiempo de generación
números aleatorios (µs)
Tiempo de generación de R
números aleatorios (μs)
Al azar
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
Exponencial
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
Geometría
2.3
5.121
2.227
2.12
4.552
2.147
0.81
5.407
6.675
278
1078.045
3.879
8
Hipergeométrico
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
Logística
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 Cuadrado
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
ChiCuadrado no central
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
F no central
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 no central
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
Normal
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
Lognormal
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 no central
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
<Cuántica R/MQL5>
7.03
<Random R/MQL5>
3.13

Tabla 4. Tiempo de cálculo de las funciones estadísticas en R y MQL5 (en microsegundos).

Para R tomamos los valores de tiempo mínimo y para MQL5 tomamos los valores medios (pdf_medio, cdf_medio, quantile_medio, random_medio).

Como puede verse en la tabla, incluso en esas condiciones el cálculo de las funciones de la biblioteca estadística MQL5 es varias veces más rápido que el de R. Por término medio, MQL5 calcula de 3 a 7 veces más rápido que R, incluso teniendo en cuenta que las variantes comparadas de las funciones de R están escritas de hecho en C++.

En la práctica, el compilador del lenguaje MQL5 resultó ser mucho más rápido que las implementaciones de funciones en C++ en R, lo que demuestra la alta calidad de nuestros desarrollos. Al transferir programas de R a MQL5 obtendrá un aumento de velocidad significativo y no necesitará utilizar DLL de terceros.


MQL5 es ahora cientos de veces más rápido que Python, pero al introducir operaciones matriciales nativas en el núcleo del lenguaje, veremos la velocidad de las matemáticas, que es varias veces más rápida que en los complementos de Python.

 
Renat Fatkhullin:

1) ha existido durante mucho tiempo como una función estándar de DatabaseXXX, incluso el navegador de bases de datos sqlite está integrado en el editor, artículo detallado sobre SQL en MQL5

2) toda la salida de los scripts de python se escribe en los registros en detalle

3) esto ha existido durante mucho tiempo como soluciones separadas y no se aplica a la biblioteca de python. Hice preguntas sobre la vinculación con Python. En lugar de telegram, es conveniente utilizar pulsadores normales en los teléfonos móviles

4) siempre ha estado disponible

Gracias por la respuesta detallada, de alguna manera me perdí la DB
 

La velocidad es buena, pero no es decisiva

Cuando titulaste tu artículo "Distribuciones estadísticas en MQL5 - Usando lo mejor de R y haciéndolo más rápido", yo

Te juro que me he reído todo el día! Has cogido tres funciones de entre millones de ellas en R, las has inventado y las has vuelto a escribir en MQL5 y ya está!!! ))) ¡¡Todos ustedes han superado a R!! Ahahaha )))) no puede disculparme...


Y qué decir del hecho de que R tiene la mayor base de datos de cualquier método estadístico para cualquier dirección, con miles de bibliotecas... ¿Cuándo van a reescribirlo?

¿Qué hay de la lista completa de cualquier algoritmo de MdD, cientos de librerías... ¿Cuándo vas a reescribirla?

Y la base de datos CRAN con los últimos productos del mundo, que todo el mundo quiere y puede probar... ¿Cuándo la reescribirán? Y lo más importante ¿POR QUÉ?

¿Sabías que puedo sustituir un centenar de µl con una línea de código en R?


Todo lo que tienes en tus argumentos es la velocidad, la velocidad de tres funciones que tomaste de R.

¿Sabías que puedes escribir cualquier función de C++ en R?


Eh, vale... por qué estoy inventando esto... es inútil de todos modos, ya has resuelto todo... y yo también...

Una cosa te pido - no escribas más que "tomas lo mejor de R" - no sabes lo que dices...


Aunque copiara mil funciones en µl, no sería ni la centésima parte de lo que tiene R, ¿qué sentido tiene hacer esta tontería?

Por qué no dejar que la propia gente se adentre en este mundo de la estadística, el aprendizaje automático, el procesamiento de señales, la econometría y mucho más...

 
mytarmailS:

La velocidad es buena, pero no es decisiva

Cuando titulaste tu artículo "Distribuciones estadísticas en MQL5 - toma lo mejor de R y hazlo más rápido" ¡me reí todo el día!

Te juro que me he reído todo el día! Has cogido tres funciones de entre millones de ellas en R, te has inventado tu propia opinión sobre ellas y las has reestructurado en MQL5... ¡¡¡Eso es!!! ))) ¡¡¡¡Todos ustedes han superado R!!!! Ahahaha )))) No puedo disculparme...

Tomamos y reescribimos unas 500 funciones incorporadas de R en MQL5 puro. Esa es la base matemática del sistema R. El resto son paquetes de terceros.

Hemos reescrito estas funciones más rápidamente y las distribuimos en el código fuente de /include/math/stat. Esto demuestra la calidad de nuestro lenguaje y de nuestros desarrolladores.

Hemos elegido a quién y cómo apoyarlos:

  • desarrollar MQL5
  • Tener integración con Python.


Cuando lanzas preguntas y desplantes, te recomiendo que mires a tu oponente que:

  • lleva 30 años escribiendo código sin descanso
  • dedicó la mitad de su vida al desarrollo de 5 plataformas comerciales
  • creó, dirige y mantiene esta comunidad comercial desde hace 15 años.
  • ...busque usted mismo en su tiempo libre.

Si vienes aquí a consumir (nadie ha visto tus resultados en público), compórtate decentemente y cuida tu lenguaje.
 
Renat Fatkhullin:
Si has venido a consumir (aquí nadie ha visto tus resultados en público), compórtate decentemente y cuida tu lenguaje.

Yo no consumo nada aquí, sólo me comunico en el foro, si me banean sólo me hará sentir mejor... así que...

Pero estas 500 funciones que reescribiste están muertas en el sentido de que son como un indicador con el que puedes medir algo y este "algo" son exactamente los paquetes externos a los que has bloqueado el acceso.

 
Renat Fatkhullin:

¿Tendría sentido hacer que ZeroMQ fuera compatible con los nativos?