Aprendizaje automático en el trading: teoría, práctica, operaciones y más - página 2947
![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
onnx.defs.onnx_opset_version() escribe que opset=17. Sobre la versión en el log de MT dice 1.14.0, aunque parece que la última versión de ONNX es 1.13.1
No, es correcto. Es ONNX última versión 1.13 .1, y ONNX Runtime última versión 1.14.1
El conjunto de funciones para acceder a los gráficos/ticks/posiciones comerciales/historial de transacciones se indica más arriba. Es suficiente para el trabajo directo de scripts python.
Tal vez, vamos a añadir el acceso a los indicadores.
La transferencia de indicadores no es un método universal, aunque probablemente sea suficiente para la mayoría de los operadores. Por ejemplo, yo estoy más interesado en transmitir datos no en cada barra, sino en los momentos en que se rompen los niveles. A alguien le interesa otra cosa, etc.
Difícilmente se puede hacer una forma ideal de intercambio que se adapte a todo el mundo, por lo que los métodos de muleta en la etapa de desarrollo son inevitables. Lo principal es evitar los métodos de muleta en la etapa de lanzamiento en un probador o en un VPS.
He probado el proyecto ONNX.Price.Prediction en la nueva versión de MT5 b3601. Todo parece funcionar - entrenamiento y salida en python, salida en MT5 (quité la dll para onnx de la raíz y reinicié la terminal).
Podemos esperar a la liberación y empezar a probar con nuestros propios modelos)
La transmisión de indicadores no es un método universal, aunque es suficiente para la mayoría de los operadores. Por ejemplo, a mí me interesa más transmitir datos no en cada barra, sino en los momentos en que se rompen los niveles. A alguien le interesa otra cosa, etc.
Difícilmente se puede hacer una forma ideal de intercambio que se adapte a todo el mundo, por lo que los métodos de muleta en la etapa de desarrollo son inevitables. Lo principal es evitar los métodos de muleta en la etapa de lanzamiento en un probador o en un VPS.
. .
Si todo esto se resuelve, MT se convierte de un intermediario entre un corredor y un cliente en sólo una herramienta conveniente para escribir estrategias e indicadores.
MT entrega cotizaciones y al mismo tiempo es muy rápido y fiable - un elemento excelente para incorporar a un sistema de trading. Permitir pasar cadenas a python significa consolidar este papel de la terminal.
Por ejemplo, crypto ha pasado a MT porque el broker en crypto es un elemento superfluo e innecesario, pero no anula el uso del terminal para escribir y usar Asesores Expertos.
En pocas palabras: escribir un EA => ejecutarlo en BTCUSD => operar en Binance a través de un script en Python => dar las gracias a MetaTrader por tenerlo.
No entiendo por qué necesitas todas estas cosas con ONNX.
Hay un escenario básico obvio de cómo hacer que MT5 y MO sean amigos:
1. Desde OnInit() inicia el script python como un proceso separado.
2. Necesitas un par de funciones de intercambio de información entre python y EA, en el modo en que EA puede esperar información.
3. Crea una carpeta Models y lanza modelos TensorFlow en ella.
¡¡¡ESO ES TODO!!! ¡MT y MO integración ha sucedido! Todos contentos.
En primer lugar, no entiendo por qué tanto lío con ONNX.
Hay un escenario básico obvio cómo hacer amigos MT5 y MO:
1. Desde OnInit() el script de python se inicia como un proceso separado.
2. Necesitamos un par de funciones de intercambio de información entre python y EA, en el modo cuando EA puede esperar a que la información llegue.
3. Hacemos una carpeta Models y lanzamos modelos TensorFlow en ella.
¡¡¡YA ESTÁ!!! ¡La integración de MT y MO ha sucedido! Todos contentos.
Existe tal integración con R. Sólo que no está claro por qué se necesita R en VPS y por qué se necesitan problemas para soportar su integración con MT (control de versiones del lenguaje y de los paquetes, etc.). Será lo mismo con python.
También hay un punto relacionado con la velocidad, que es muy importante en nuestro negocio. Mira cómo fxsaber araña milisegundos en una batalla constante con las metacotizaciones, ya que se convierten en puntos de beneficio. Obviamente un paquete de cualquier cosa con cualquier cosa funcionará más lento que ambos programas por separado.
Parecería que lo que podría ser más obvio.....
Podemos esperar a la release y empezar a probar con nuestros propios modelos)
Existe tal integración con R. Sólo que no está claro por qué se necesita R en VPS y por qué necesitamos problemas para soportar su integración con MT (control de versiones del lenguaje y de los paquetes, etc.). Será lo mismo con python.
También hay un punto relacionado con la velocidad, que es muy importante en nuestro negocio. Mira cómo fxsaber araña milisegundos en una batalla constante con las metacotizaciones, ya que se convierten en puntos de beneficio. Obviamente un paquete de cualquier cosa con cualquier cosa funcionará más lento que ambos programas por separado.
Parecería que lo que podría ser más obvio.....
Teniendo en cuenta el spread y las comisiones de bolsa/corredores, hay que prever el tiempo medido en decenas de minutos u horas. ¿Qué tienen que ver 50 milisegundos de diferencia?
¿En qué te ayuda exactamente en la vida real que MQ gane a fxsaber por 5 milisegundos?
En primer lugar, no entiendo por qué tanto lío con ONNX.
Hay un escenario básico obvio cómo hacer amigos MT5 y MO:
1. Desde OnInit() el script de python se inicia como un proceso separado.
2. Necesitamos un par de funciones de intercambio de información entre python y EA, en el modo cuando EA puede esperar a que la información llegue.
3. Hacemos una carpeta Models y lanzamos modelos TensorFlow en ella.
¡¡¡YA ESTÁ!!! ¡La integración de MT y MO ha sucedido! Todos contentos.
Puede ser más simple ... conectar Redis, obtener RedisAI con PyTorch, ONNX, TensorFlow apoyo, y si se desea, distribuir la carga a través de nodos y nubes.
Una muletilla menos, se ampliará mucho el abanico de modelos utilizados (antes, casi todo el mundo optimizaba los pesos mediante entradas de terminal). Aparentemente, debería funcionar en mac también, lo comprobaré pronto :) a veces es agradable no hacer nada y esperar a que la comida vuele sola a tu boca
Bueno, me metí en este caso para subir el nivel de python - no puedo prescindir de él ahora) Creo que para empezar con LightGBM. Parece que hay dos maneras de conseguir ONNX para ello - onnxmltools y skl2onnx.