Sustitución de las funciones de los archivos de MT4. - página 4

 
tworkman:
Además, no soy un experto, pero por lo poco que he aprendido sobre winsock, las funciones de escucha son funciones de bloqueo, lo que significa (creo) que la aplicación (mt4) necesita ser multihilo. Tendría que cambiar de un lado a otro entre la escucha de un mensaje entrante, y hacer su propio trabajo. por lo que vale...

mt4 ya es multihilo. Cada gráfico tiene su propio hilo. Para utilizar las funciones winsock de bloqueo, uno querría adjuntar un script a un gráfico con un bucle continuo. El script puede entonces establecer/desactivar algunas variables globales, que por otro lado pueden ser utilizadas por cualquier EA.

 
 

MT4 en el servidor SQL - ¿cómo transferir los datos?

Beluck:
bien hecho , pero las funciones de archivo (así como muchas otras) pueden ser utilizadas directamente desde las dlls de la API de windows.

ejemplo de la función de copia de archivos de importación:

#importar "Kernel32.dll"

bool CopyFileA (string source_file, string destination_file, bool if_exist);

con las DLLs se pueden hacer muchas cosas, como el acceso a la base de datos SQL y demás.

Conseguir que los registros de trading y las cotizaciones de MT4 estén en una base de datos SQL sería genial.

Pero no sé cómo hacer que esto funcione.

¿Podría alguien explicar paso a paso con ejemplos de código cómo auto transferir estos datos en el servidor SQL?

 

codersguru,

¿Sigues pensando que estas funciones basadas en sockets son una buena idea? Me gustaría saber si has investigado algo al respecto. Por favor, hazme saber si no has tenido tiempo, o simplemente has abandonado la idea.

Gracias.

 
tworkman:
codersguru,

¿Sigues pensando que estas funciones basadas en los enchufes son una buena idea? Me gustaría saber si has investigado algo al respecto. Por favor, hazme saber si no has tenido tiempo, o simplemente has abandonado la idea.

Gracias.

tworkman,

Mi problema es el tiempo, no he abandonado la idea.

Te informaré con la actualización en cuanto tenga tiempo.

 

Hola de nuevo,

He estado trabajando con un amigo para escribir una dll en c++ que hace estas cosas de netcomm, pero no puedo superar el problema mencionado anteriormente: no se puede llamar a la función nombre de función desde la dll ' nombredelaplantilla.dll'

Si y cuando tu tiempo te lo permita, ¿estarías dispuesto a echarle un vistazo al código fuente y decirme si puedes ver lo que está mal? De hecho, hemos probado a compilar con dos compiladores de c++ diferentes, y seguimos obteniendo el mismo error. Incluso tomamos el código fuente de muestra que mt4 entrega, y obtener el mismo error al intentar llamar a esas funciones. Parece que debe ser un problema de compilación.

Por favor, hágamelo saber.

Gracias.

 
tworkman:
Hola de nuevo,

He estado trabajando con un amigo para escribir una dll en c++ que haga estas cosas de netcomm, pero no puedo superar el problema mencionado anteriormente: no se puede llamar a la función nombre de función desde la dll ' nombredelaplantilla.dll'

Si y cuando tu tiempo te lo permita, ¿estarías dispuesto a echar un vistazo al código fuente y decirme si puedes ver lo que está mal? De hecho, hemos probado a compilar con dos compiladores de c++ diferentes, y seguimos obteniendo el mismo error. Incluso tomamos el código fuente de muestra que mt4 entrega, y obtener el mismo error al intentar llamar a esas funciones. Parece que debe ser un problema de compilación.

Por favor, háganme saber.

Gracias.

tworkman,

¿Has probado el código fuente de mi dll? Está escrito en VC++.

Por favor, intenta compilar mi código fuente y dime lo que obtienes.

 
tworkman:
Incluso tomamos el código fuente de muestra que entrega mt4, y obtenemos el mismo error al tratar de llamar a esas funciones. Parece que debe ser un problema de compilación.

Por favor, hágamelo saber.

Gracias.

Esto no es bueno. No tengo problemas con la compilación. Tal vez sea demasiado simple, pero ¿has habilitado la llamada a las funciones DLL desde MT4?

 
michal:
Esto no es bueno. No tengo problemas de compilación. Tal vez sea demasiado simple, pero ¿has habilitado la llamada a funciones DLL desde MT4?

Claro, tienes que habilitar "Permitir la importación de DLL"

 

Sí, tengo marcada la casilla Permitir importaciones de DLL.

Cuando intento abrir el archivo dsw de tu código, me aparece una advertencia de que el proyecto debe ser convertido al formato actual de VC++. Estoy utilizando la versión .Net. ¿Podría ser este el problema? Sé muy poco de C++, así que no he intentado ir más allá. El amigo que me estaba ayudando no está disponible últimamente.