Discusión sobre el artículo "Como exportar cotizaciones desde MetaTrader 5 a aplicaciones .NET usando los servicios de WCF" - página 3

 
He encontrado algunas dificultades para poner en práctica lo anterior. Por eso os lo cuento, por si alguien se enfrenta a problemas similares.


1) Si tienes un terminal x64, lo más probable es que tengas que recompilar tu proyecto C++ en x64. Para ir sobre seguro, deberías hacerlo así: Visual Studio -> Propiedades (de tu proyecto C++) -> Administrador de configuración -> y cambiarlo a x64 mediante la lista desplegable o <Nuevo...>. Compilar. Listo. Si no compila - comprueba las Referencias del proyecto, revisa los errores del compilador.
2) Tuve problemas con el EA, ni siquiera se inicializaba. Sólo me di cuenta al desconectar el EA del gráfico, cuando falló el error init (curioso...). El EA caía en Sleep infinito en la etapa de inicialización y todo se trataba de estas líneas (en QService.mqh):

 QService::EnterCriticalSection()
{
   while (GlobalVariableCheck("QService_CriticalSection") > 0)
   Sleep(1);
   GlobalVariableTemp("QService_CriticalSection");

Después de depurar y vanos intentos de entender ese "Sleep(1)", sustituí el código por:

QService::EnterCriticalSection()
{
   if(!GlobalVariableCheck("QService_CriticalSection"))
   GlobalVariableTemp("QService_CriticalSection");
}

Por cierto, este artículo también vale para MT4. Aunque MT4 tiene DDE, me gusta más este enfoque. Todo funciona de maravilla.

P.D: ¡Gracias al autor del artículo! ¡Todo es genial!
 
No lo entiendo, está bien escrito pero no funciona. QEXPORTWRAPPER no funciona en un terminal de 64 bits.
 
shelandr1:
Muy interesante...Gracias...Pero quizás hoy en día hay opciones más sencillas*????

Por supuesto que las hay - utilizando la conexión a través de la capacidad incorporada del terminal. Es un canal PIPE.

https://www.mql5.com/ru/docs/files/fileopen

Документация по MQL5: Файловые операции / FileOpen
Документация по MQL5: Файловые операции / FileOpen
  • www.mql5.com
Файловые операции / FileOpen - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

Acabo de publicar un nuevo trabajo basado en este artículo: https: //www.mql5.com/en/job/34392.

No funciona en mi MT5 64 bits medio ambiente ...

¡Gran artículo!

Gracias

Freelance service at MQL5.com: Make Visual Studio 2012 solution downloaded from article work with Metatrader 5 64 bits
Freelance service at MQL5.com: Make Visual Studio 2012 solution downloaded from article work with Metatrader 5 64 bits
  • www.mql5.com
Hi, I'm a C# developer and downloaded the code from the article "HOW TO EXPORT QUOTES FROM METATRADER 5 TO .NET APPLICATIONS USING WCF SERVICES" ( https://www.mql5.com/en/articles/27 ). The problem is that my machine is a Windows 64 bits with MetaTrader 5 64 bits installed and I had to change the compile configurations to 64 bits in Visual Studio 2012. Ok, it compiled normally, then I added one new method that aims to return a string to MT5 which i called ReadBroker2MeInstructions . Compiled...
 

Sólo por conocimiento, descubrí lo que pasaba en mi máquina de 64 bits.

Después de horas y horas de investigación y depuración, descubrí que un ensamblado referenciado no se cargaba, generando la excepción "System.IO.FileNotFoundException: Unable to load file or assembly 'QExport.Service, Version=1.0.5771.13857, Culture=neutral, PublicKeyToken=56996a45dd1e337b'".

Tal vez porque la dll no tiene archivo de configuración, no lo sé todavía, MT 5 no sabía dónde encontrar el ensamblado. Así que intentaba obtenerlo en la ruta base (ruta donde se encuentra metaeditor64.exe). Después de cambiar el directorio de salida de los proyectos referenciados a esa ruta, funcionó como un encanto.

 
sabe:

Hola Joe,

¿Hubo algún truco especial para hacerlo funcionar en x64? Acabo de compilarlo para x64, pero la dll se bloquea con errores extraños en el arranque.

Sabe, vea mi respuesta más abajo.

[]'s

 

Hola,


He probado su archivo terminado, todo se ve bien en MT5. Pero no hay datos en el WinClient.







 

Me pregunto si existe un proyecto similar con precarga de barras históricas. Me gustaría añadirlo todo a Lightweight-Chart y utilizar el gráfico cómodamente.