Русский Português
preview
Simulación de mercado (Parte 10): Sockets (IV)

Simulación de mercado (Parte 10): Sockets (IV)

MetaTrader 5Ejemplos |
206 0
Daniel Jose
Daniel Jose

Introducción

En el artículo anterior, «Simulación de mercado (Parte 09): Sockets (III)», expliqué el último paso necesario para crear un minichat. El objetivo era que pudieras empezar a explorar el funcionamiento de los sockets utilizando el lenguaje MQL5. Aunque esto resulte interesante y pueda serte útil en el futuro, se aplica a la implementación del sistema de repetición/simulador, ya que aún no he decidido cómo será, o mejor dicho, cómo haré realmente la implementación del sistema de órdenes. El uso de sockets muchas veces es simplemente una alternativa muy viable para transferir información entre diferentes aplicaciones e incluso entre plataformas operativas distintas. Es decir, puedes transferir datos desde un sistema Windows a un macOS o incluso a Linux sin necesidad de conocer en detalle el sistema de origen o de destino. Por esta razón, también podemos utilizar sistemas aparentemente más modestos para construir algo más elaborado, como en el caso de usar un conjunto de Raspberry para realizar factorizaciones dedicadas. Pero esto va más allá del alcance de esta serie de artículos. La idea principal aquí es prepararte, estimado lector, para la próxima etapa de desarrollo que atravesará el sistema de repetición/simulador.

Sin embargo, en el artículo «Simulación de mercado (Parte 06): Transfiriendo información desde MetaTrader 5 hacia Excel», mostré cómo transferir información entre MetaTrader 5 y Excel. ¿Por qué Excel? El motivo es didáctico, ya que podríamos haber utilizado cualquier otro programa. No obstante, usar Excel hace que resulte más interesante explicar lo que se pretende hacer. Esto se debe a que es muy habitual utilizar RTD o DDE para transferir datos a Excel, pero este tipo de comunicación siempre es unidireccional. Es decir, solo podemos enviar datos a Excel y nunca leer rápidamente los datos calculados para que MetaTrader 5 pueda utilizarlos. Piensa en las posibilidades que esto abriría: podrías usar un Asesor Experto sencillo y colocar toda la lógica de cálculo en Excel para poder controlarla. Así, el Asesor Experto podría operar de forma completamente automatizada y los ajustes o modificaciones no tendrían que pasar por MQL5. Podrías hacerlo directamente dentro de VBA. Tal vez te parezca muy complicado o incluso inalcanzable, pero si tienes los conocimientos adecuados y estás dispuesto a estudiar, te darás cuenta de que es algo relativamente sencillo de realizar. Sin embargo, es necesario estudiar y dedicarse a esta tarea.

Muy bien, esto nos lleva a otro punto. Un sistema RTD no es más que un socket. Sin embargo, está configurado de modo que la comunicación solo se produzca en una dirección. Pero, con los conocimientos explicados en los tres últimos artículos sobre sockets, empieza a quedar claro que podemos hacer las cosas de una manera más elaborada. Una vez más, utilizaré Excel únicamente por motivos didácticos. En realidad, podrías utilizar cualquier programa, aplicación o método para hacer lo mismo. No obstante, antes de mostrar el verdadero motivo por el que estoy explicando estas cosas, quiero que comprendas las posibilidades que existen para obtener los mismos resultados que verás más adelante.

Sin embargo, aquí haremos algo un poco más elaborado. En realidad, creo que mucha gente desconoce lo que voy a presentar a continuación. El tema es muy interesante, aunque extremadamente extenso, por lo que te sugiero que revises las referencias que dejaré al final del artículo. Te serán de gran ayuda, especialmente porque lo que utilizaremos aquí aún se encuentra en fase de desarrollo. Pero eso no significa que no merezca la pena aprenderlo y estudiarlo.

Como no quiero, al menos por ahora, añadir DLLs al código hecho en MQL5, aquí veremos algo bastante curioso. Iré paso a paso, presentando gradualmente lo que se va a hacer, para que tú, estimado lector, puedas seguirlo y entender cómo haremos que Excel se comunique con MetaTrader 5.

Todo esto sin utilizar lo que se vio en «Simulación de mercado (Parte 06): Transfiriendo información desde MetaTrader 5 hacia Excel», ya que, aunque funciona, no es tan flexible y nos obliga a realizar ciertas acciones que se vuelven innecesarias al usar sockets. Por lo tanto, el objetivo final será mostrar cómo transferir datos desde Excel a MetaTrader 5 y viceversa.


Empezar a usar Python en las tareas

Espera un momento, ¿no habíamos quedado en que íbamos a usar Excel? Pensé que íbamos a programar directamente en VBA. ¿Qué es eso de usar Python? Calma, mi estimado lector. En efecto, haremos uso de Excel, pero no programaremos directamente en VBA. En cierto modo, podríamos utilizar VBA para establecer la comunicación entre Excel y MetaTrader 5, pero si siguiéramos ese camino, estaríamos limitados por lo que estos dos programas pueden hacer. Es decir, si quisieras usar otro programa en lugar de Excel para ayudar a MetaTrader 5 en sus operaciones de mercado, tendrías que reconstruir todo el conjunto de comunicación. Sin embargo, al usar Python como capa intermedia, las cosas se vuelven mucho más flexibles. Además, Python es más sencillo para realizar ciertas tareas, lo que nos ayuda bastante, ya que incluso podrías prescindir de Excel por completo y hacerlo todo en Python. Pero no es eso lo que quiero hacer aquí. Realmente quiero utilizar Excel por un motivo que se entenderá mejor más adelante. Así que necesitamos Python. Lo que vamos a hacer se puede ver en la imagen siguiente.


Observa lo siguiente: En el centro de la imagen se encuentra Python y toda la información pasa a través de él. Sin embargo, nuestro objetivo es utilizar MetaTrader 5 junto con Excel. Pero fíjate que, al situar Python en el centro, incluso podríamos prescindir de Excel o utilizar cualquier otra aplicación.

Entonces, ¿por qué usar Python en lugar de C o C++? El motivo es la practicidad. No tiene sentido codificar algo en C o C++ si podemos obtener resultados muy buenos de forma mucho más sencilla usando Python. Esto se debe a que Python sigue evolucionando para ofrecernos cada vez más practicidad. Lo que haremos, entonces, es utilizar Python para realizar la comunicación mediante socket con MetaTrader 5.

Ahora es necesario explicar una cosa. MetaTrader 5 nos permite ejecutar directamente en el gráfico un script creado en Python, siempre que lo configuremos para ello. Esta configuración no es nada complicada. Al contrario, es algo sumamente sencillo y directo. Todo lo que necesitas hacer es descargar la última versión estable de Python, instalarla y, a continuación, ajustar en MetaEditor lo que se muestra destacado en la siguiente imagen:


Observa que solo necesitamos indicar el directorio donde se encuentra el ejecutable de Python. En el momento en que escribo este artículo, la versión más estable es la 3.11.3, aunque muy probablemente ya exista una versión más reciente disponible. Puedes descargar la última versión desde: Python.org

Cuando hayas hecho esto, ya podrás empezar a crear scripts en Python. Aunque existen diversas herramientas y editores que pueden ayudarte con la codificación, en realidad no los necesitarás. Puedes usar el propio MetaEditor o cualquier otro editor. No obstante, si realmente lo deseas, puedes descargar alguna herramienta que te ayude a programar, pero no recomendaré ninguna en particular.

Volviendo al tema del uso de Python en MetaTrader 5, nosotros no haremos eso. Sin embargo, si lo prefieres, puedes hacerlo como consideres más conveniente. Lo que haremos será construir el código de comunicación en MQL5 puro, tal y como se hizo en los artículos anteriores, y usar Python para simplificar la tarea de crear el socket para Excel. Es posible crear el socket directamente desde VBA, pero resulta mucho más sencillo hacerlo mediante Python, especialmente porque lo que construiremos será el lado del servidor. En MQL5 no podemos crear un servidor utilizando únicamente MQL5 puro.

Pero hay un detalle importante. Descargar e instalar Python en tu sistema operativo no es suficiente para poder utilizarlo tal y como se muestra en la imagen anterior, en la que se presenta la comunicación entre Excel y MetaTrader 5 a través de Python. Necesitamos una herramienta adicional instalada en tu equipo, además de Excel, por supuesto. Precisamente esta herramienta extra es la que marcará toda la diferencia.


Conocer xlwings

Esta es la herramienta adicional que necesitaremos incorporar. Se trata de un módulo que nos permite ejecutar scripts de Python en lugar de VBA en Excel. Sí, puedes realizar las tareas directamente en Python dentro de Excel en lugar de hacerlo mediante VBA. Sin embargo, VBA sigue siendo útil, ya que xlwings no lo reemplaza por completo, sino que simplemente amplía las posibilidades y nos permite hacer muchas cosas desde Python.

Un detalle a tener en cuenta es que existen otros módulos que realizan la misma función que xlwings. Sí, existen, aunque en algunos casos son de pago o requieren licencia. En cambio, xlwings se puede utilizar sin coste adicional para fines no comerciales. Así que, dado que muchas veces te encontrarás en una etapa de aprendizaje o experimentación, sin crear nada de uso comercial, xlwings se convierte en una excelente alternativa al inicio del proceso, especialmente porque es muy sencillo, como podrás comprobar.


Instalar xlwings

En las referencias indicaré cómo puedes acceder a la documentación para comprender mejor el funcionamiento de xlwings. Pero, para facilitar las cosas, en este artículo te mostraré cómo proceder en esta primera etapa. Para comenzar, necesitamos instalar Python. Durante la instalación, deberás marcar la opción indicada en la siguiente imagen.


Si no lo haces, tendrás que añadir manualmente la ruta de Python a las variables del sistema de Windows más adelante, para que todo funcione de manera más sencilla. Si ya tienes experiencia con Python, no será necesario que agregues la variable de entorno. Sin embargo, aquí asumiré que no tienes experiencia con Python, así que haremos todo siguiendo el procedimiento estándar. Cuando finalice la instalación de Python,

se mostrará la ventana que aparece en la siguiente imagen.


Si haces clic en el punto destacado, podrás utilizar nombres largos. Esto es una cuestión de preferencia personal. A algunos no les gusta utilizar nombres demasiado extensos en sus archivos; si ese es tu caso, simplemente haz clic en Close y todo quedará correcto. Sin embargo, si prefieres usar nombres con más de 256 caracteres (o 260 en el caso de Python), conviene hacer clic en el punto señalado en la imagen para que Python pueda reconocerlos sin problemas.

Hecho esto, abriremos un símbolo del sistema. Puedes usar PowerShell si lo prefieres, pero personalmente prefiero el clásico y confiable CMD. Lo primero que te aconsejo hacer en la consola es escribir el siguiente comando.


Intentaré mostrar las cosas de esta forma: comando por comando, junto con su resultado, para que quede claro lo que se está haciendo. Como resultado del comando ejecutado, notarás que tenemos dos paquetes instalados por defecto junto con Python, y que ya debemos actualizar uno de ellos. Entonces, escribe el comando indicado y el resultado se mostrará como en la imagen siguiente.


Perfecto, ahora que tenemos el sistema actualizado, podemos continuar con xlwings. xlwings es un complemento que se conectará con Excel, aunque en la documentación verás que no depende necesariamente de él. De todos modos, haremos las cosas de manera que realmente usemos Excel. Una vez instalado, Excel se mostrará tal como aparece en la imagen siguiente:


Observa que no hay nada diferente en la cinta de opciones (ribbon) de Excel. Entonces, volviendo al símbolo del sistema, o PowerShell si lo prefieres, escribiremos el siguiente comando, tal como se muestra en la imagen siguiente.


Como puedes ver, este comando descargará xlwings e instalará el paquete de Python correspondiente. Después, al volver a comprobar los paquetes instalados, verás un resultado similar al de la siguiente imagen.


La versión de xlwings puede ser diferente, ya que se actualiza de vez en cuando. Pero fíjate que, junto con xlwings, también se instaló otro paquete: pywin32. No te preocupes por esto, ya que en realidad es una dependencia de xlwings.

El siguiente paso será registrar la licencia de xlwings. Pero no te preocupes. Como no haremos un uso comercial, es decir, no venderemos ni comercializaremos lo que se va a realizar aquí, podemos utilizar una licencia gratuita específica para este tipo de uso. Solo será necesario hacer lo que se muestra en la siguiente imagen y xlwings quedará correctamente licenciado.


Muy bien. Ahora ya estamos listos. Solo falta integrar xlwings con Excel. En este punto, hay algunas cuestiones que debemos considerar. La primera es: ¿realmente quieres ejecutar aplicaciones de Python desde Excel o simplemente reemplazar VBA por Python en Excel? Lo digo porque, si solo quieres crear macros para usarlas en Excel escritas en Python, no será estrictamente necesario añadir el complemento xlwings al programa. Solo necesitarás realizar un pequeño paso durante la edición de las macros y, de esta manera, podrás integrar tanto VBA como Python en Excel.

Sin embargo, si lo que deseas es ejecutar scripts de Python dentro de Excel, es recomendable añadir xlwings como complemento de Excel. Al hacerlo, se creará una sección en la cinta de opciones que te permitirá ejecutar los scripts de Python directamente desde Excel, sin complicaciones. Aun así, será necesario realizar algunas configuraciones para que todo funcione correctamente.

Todo esto está muy bien explicado en la documentación de xlwings, por lo que, ante cualquier duda, consulta allí cómo proceder. Al final de este artículo dejaré las referencias para que puedas ir directamente al punto.

Pero haré la siguiente suposición: tú, estimado lector, aún no sabes nada sobre xlwings y apenas estás empezando a estudiar Python. Por eso, lo ideal sería añadir xlwings como complemento de Excel y tener la posibilidad de usarlo dentro de las macros. Así, con el tiempo, podrás descubrir cuál es el enfoque que mejor te funciona.


Agregar xlwings a Excel como complemento

Agregar xlwings como complemento no es una de las tareas más complicadas que existen. En realidad, es bastante sencillo. Hay dos formas de hacerlo, recordando que aquí estamos utilizando la instalación estándar. Si tienes más experiencia, podrás configurarlo de otras maneras.

La primera opción es hacerlo directamente desde Excel y añadir xlwings como complemento. Esto se hace dentro del propio Excel. Para ello, debes seleccionar el punto señalado en la imagen siguiente.


Después de eso, marca la opción indicada en la siguiente imagen.


Esto añadirá al ribbon la pestaña de desarrollador. En esta pestaña de desarrollador, selecciona el elemento que se muestra en la imagen siguiente.


Se abrirá una ventana como la que aparece justo debajo.


Aquí se muestran los complementos que vienen por defecto en la instalación de Excel. Para añadir xlwings desde esta ventana, debes hacer clic en el botón Browser y navegar hasta la siguiente ruta:

C:\Users\{USERNAME}\AppData\Local\Programs\Python\Python311\Lib\site-packages\xlwings\addin

Recuerda que esta ruta corresponde a la instalación estándar de Python. El valor {USERNAME} representa el nombre de usuario de Windows en el que se instaló Python. En este caso, el valor Python311 indica la versión del lenguaje instalada. Por eso, es importante saber exactamente lo que se está haciendo durante la instalación de los programas. Si cambias algo durante el proceso, estos valores podrían ser diferentes. En cualquier caso, el objetivo es encontrar el archivo que se muestra en la siguiente imagen.


Una vez añadidos estos archivos, podrás acceder al complemento directamente desde la cinta de opciones de Excel. Sin embargo, personalmente prefiero la segunda forma de realizar esta misma acción, ya que el símbolo del sistema ya está abierto. Todo lo que tenemos que hacer es escribir el siguiente comando.


El resultado será el mismo en ambos casos, como se puede ver en la imagen siguiente. Hay un detalle que quizá influya en tu elección sobre qué método utilizar para añadir el complemento. Este detalle tiene que ver con el hecho de que todos los comandos ejecutados en el símbolo del sistema pueden colocarse en un archivo por lotes. Esto te permite automatizar todos los comandos, por lo que el procedimiento de integración es mucho más rápido y sencillo.


Observa que se añadió una nueva pestaña en Excel llamada xlwings. Desde ella, puedes ejecutar los scripts creados en Python. Sin embargo, hay algunos detalles que deben considerarse para que todo funcione correctamente. Nuevamente, revisa la documentación de xlwings para aprender cómo hacerlo, ya que podrías intentar realizar las cosas de una manera no prevista por xlwings. En ese caso, siempre recibirás un mensaje de error, incluso cuando aparentemente todo funcione perfectamente.

Pero lo que realmente importa aquí es otro punto. En este caso, se trata de hacer que el script de Python se ejecute como si fuera una macro escrita en VBA. Aunque, en mi opinión, lo más interesante sería combinar ambos, es decir, usar VBA junto con Python. Pero eso queda a tu criterio. El propósito de este artículo es simplemente presentar una solución a un problema. El problema es cómo transferir información de forma sencilla entre Excel y MetaTrader 5, y estamos muy cerca de resolverlo.

Lo siguiente que debemos hacer tiene relación con el VBA. Así que, para mantener las cosas bien organizadas, avancemos a un nuevo tema.


Integración de Python con VBA

Para usar Python dentro del código VBA, existen varios métodos, uno de los cuales utilizaremos aquí. Una de ellas es hacer una llamada SHELL. Este método funciona, pero tiene algunos inconvenientes que no tendremos al usar xlwings u otras herramientas similares.

Un ejemplo de llamada SHELL que permite ejecutar scripts de Python dentro de un código VBA puede verse a continuación:

Sub CallPythonInVBA()
        Dim vbaShell as Object
        
        Set vbaShell = VBA.CreateObject("WScript.Shell")
        vbaShell.Run """<PATH OF PYTHON>\python.exe""" & """<PATH OF SCRIPT>\Script.py"""
        
End Sub

Macro en VBA

Este fragmento permite que VBA ejecute un script en Python. Y, efectivamente, funciona Pero para ello debes tener en cuenta que el valor indicado como <PATH OF PYTHON> debe apuntar a la ubicación del ejecutable de Python, y que <PATH OF SCRIPT> debe señalar la ruta correcta del archivo que se ejecutará. En este caso, el nombre del archivo es Script.py.

No tiene mucho sentido realizar este tipo de trabajo cuando puedes integrar Python directamente con VBA. El mismo código mostrado arriba puede reemplazarse por una simple línea de comando, lo que tiene múltiples ventajas. Una de ellas es que no tendrás que preocuparte por la ubicación donde está instalado Python. Otra ventaja, que no detallaré aquí porque se sale del propósito del artículo, es que el script en Python puede formar parte de un proyecto en el que Excel participe con el código VBA. Cuando se establece la integración, todo el proyecto puede organizarse en una misma carpeta y xlwings se encargará de resolver las rutas y otras cuestiones relacionadas para garantizar que el script de Python funcione perfectamente junto con el código VBA. Insisto, aunque parezca repetitivo, en que consultes la documentación indicada en las referencias de este artículo.

Muy bien, pero volvamos a nuestro tema. Cuando abras el editor de VBA en Excel, te encontrarás con la siguiente imagen.


Como puedes ver, he destacado un elemento en la imagen. Este elemento resaltado está protegido por una contraseña, pero esto no debe causarte ninguna molestia ni preocupación. La contraseña para abrir este archivo señalado se puede obtener en la documentación de xlwings, a la que se puede acceder a través del enlace de la sección de referencias. Podría mencionarla aquí, pero prefiero que consultes directamente la documentación. En cualquier caso, aquí necesitamos indicar a VBA que utilice xlwings. Esto se realiza añadiendo la referencia de xlwings al código que se desarrollará en VBA. Para agregar dicha referencia, dirígete al siguiente lugar.


Al seleccionar el punto destacado en la imagen anterior, se abrirá la siguiente ventana, que se muestra justo debajo.


Deberás marcar la referencia indicada en la imagen anterior. Si NUNCA has visto ni utilizado esta ventana, debes saber que sirve para indicar a VBA qué referencia debe usar como soporte. Esto ocurre cuando VBA no puede resolver alguna dependencia interna en el código. En ese caso, VBA buscará entre las referencias disponibles una forma de solucionar la llamada detectada en el código. Si no puede resolverla, VBA notificará el problema como un error. Por este motivo, muchas personas suelen buscar códigos de macros VBA en la web y, al intentar ejecutarlos, no logran que funcionen. Esto ocurre precisamente por este tipo de problema, cuando VBA no puede resolver las referencias adecuadas.

En nuestro caso, una de las llamadas que aparecerá en el código VBA, y que no forma parte del propio VBA, es RunPython. Si no marcas la opción resaltada en la imagen anterior, cuando VBA encuentre una llamada a RunPython, la reportará como un error.

Así que no lo olvides: cada vez que crees una macro o script en VBA que llame a un código escrito en Python, marca esta casilla en el área de referencias. De esta forma, tu código funcionará correctamente.


Consideraciones finales

En este artículo, solo te he mostrado el procedimiento necesario para que un script escrito en Python se ejecute dentro de Excel. Aunque pueda parecer inusual o incluso extraño, este tipo de integración abre muchas posibilidades, principalmente porque muchas tareas se pueden implementar con mayor facilidad en Python que en VBA. Pero, sobre todo, nos permite crear un método práctico y versátil para transferir información entre Excel y MetaTrader 5. Incluso si no utilizamos Excel de manera intensiva y trabajamos solo con Python directamente conectado a MetaTrader 5, una vez que comprendas todo lo que es posible hacer, no querrás dejarlo únicamente en manos de Python y MetaTrader 5. Realmente querrás incorporar Excel, u otro programa de hojas de cálculo, a la ecuación.

Entonces, en el próximo artículo veremos cómo se implementará realmente el código que hace que todo esto funcione. Entonces, nos vemos en el próximo artículo.


Referencias

Documentación de xlwings

Descarga oficial de Python

Archivo Descripción
Experts\Expert Advisor.mq5
Demuestra la interacción entre Chart Trade y el Asesor Experto (es necesario el Mouse Study para la interacción)
 Indicators\Chart Trade.mq5 Crea la ventana para configurar la orden a ser enviada  (es necesario el Mouse Study para la interacción)
 Indicators\Market Replay.mq5 Crea los controles para la interacción con el servicio de reproducción/simulador (es necesario el Mouse Study para la interacción)
 Indicators\Mouse Study.mq5 Permite la interacción entre los controles gráficos y el usuario (necesario tanto para operar el sistema de repetición como en el mercado real)
 Servicios\Market Replay.mq5 Crea y mantiene el servicio de reproducción y simulación de mercado (archivo principal de todo el sistema)
 Código VS C++\Server.cpp Crea y mantiene un socket servidor desarrollado en C++ (versión MiniChat).
 Code in Python\Server.py Crea y mantiene un socket en Python para la comunicación entre MetaTrader 5 e o Excel
 Scripts\CheckSocket.mq5 Permite realizar una prueba de conexión con un socket externo.
 Indicators\Mini Chat.mq5 Permite implementar un minichat mediante un indicador (requiere el uso de un servidor para funcionar).
 Experts\Mini Chat.mq5 Permite implementar un mini chat mediante un asesor experto (requiere el uso de un servidor para funcionar)

Traducción del portugués realizada por MetaQuotes Ltd.
Artículo original: https://www.mql5.com/pt/articles/12743

Archivos adjuntos |
Anexo.zip (560.03 KB)
Desarrollo de asesores expertos autooptimizables en MQL5 (Parte 4): Dimensionamiento dinámico de posiciones Desarrollo de asesores expertos autooptimizables en MQL5 (Parte 4): Dimensionamiento dinámico de posiciones
El uso exitoso del trading algorítmico requiere un aprendizaje continuo e interdisciplinario. Sin embargo, la infinita gama de posibilidades puede consumir años de esfuerzo sin producir resultados tangibles. Para abordar esta cuestión, proponemos un marco que introduce gradualmente la complejidad, lo que permite a los operadores perfeccionar sus estrategias de forma iterativa en lugar de dedicar un tiempo indefinido a resultados inciertos.
Análisis de todas las variantes del movimiento de precios en una computadora cuántica IBM Análisis de todas las variantes del movimiento de precios en una computadora cuántica IBM
Hoy utilizaremos un computadora cuántica de IBM para descubrir todas las variantes del movimiento de los precios. ¿Le suena a ciencia ficción? ¡Bienvenido al mundo de la informática cuántica para el trading!
Simulación de mercado (Parte 11): Sockets (V) Simulación de mercado (Parte 11): Sockets (V)
Vamos a empezar a implementar la comunicación entre Excel y MetaTrader 5, pero antes es necesario entender algunas cosas importantes. Así no te quedarás rascándote la cabeza tratando de comprender por qué las cosas funcionan o no. Y antes de que frunzas el ceño ante la integración entre Python y Excel, veamos cómo podemos usar xlwings para controlar, en cierta medida, MetaTrader 5 a través de Excel. Lo que voy a mostrar aquí se centrará principalmente en la didáctica. No pienses que solo podemos hacer lo que mostraré.
Simulación de mercado (Parte 09): Sockets (III) Simulación de mercado (Parte 09): Sockets (III)
Este artículo es la continuación del anterior. En él veremos cómo se implementará el Asesor Experto, centrándonos principalmente en cómo debe hacerse el código del servidor. El código del artículo anterior no es suficiente para que las cosas funcionen como deberían, por lo que es necesario profundizar en él. Por esta razón, es necesario que leas ambos artículos para comprender mejor lo que ocurrirá.