Discusión sobre el artículo "Cómo intercambiar datos: Una DLL para MQL5 en 10 minutos." - página 2
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
...
Está muy bien que lo plantees, pero a nadie le sirve de nada quejarse, si no está dispuesto a presentar soluciones o incluso sugerencias sobre cómo lograr el objetivo.
...
En realidad es bueno que pfx trajo y se quejó de ello y MetaQuotes debe resolver este problema, coz saben MetaTrader, mejor que el resto de nosotros (por cierto, Renat Fatkhullin, el autor de este artículo, es también CEO de MetaQuotes). El hecho de que alguien trajo a colación que no hace que él / ella tiene una las soluciones a la cuestión.
Y estoy de acuerdo, que no tiene ningún sentido decir"Es mejor hacer llamadas poco frecuentes", cuando .dll en realidad está siendo llamado en cada tick. Y es bueno escuchar que a partir de MetaQuotes CEO, la honestidad es buena para un cambio en estos días.
@ pfx, parece que cambian el párrafo que usted citó de ...
5. DLL llama envoltura y la pérdida de velocidad en las llamadas
Como ya se ha descrito anteriormente, cada llamada de funciones DLL se envuelve en una envoltura especial con el fin de garantizar la seguridad.
Esta envoltura enmascara el código básico, reemplaza la pila, soporta acuerdos stdcall / cdecl y monitoriza excepciones dentro de las funciones llamadas.
Este trabajo conduce inevitablemente a un retraso de la función de llamada.
Por lo tanto, no es recomendable realizar llamadas a funciones DLL muy frecuentes (cientos o miles de veces por segundo) para operaciones pequeñas.
Es mejor realizar llamadas poco frecuentes.
..a esta ...
5. Envoltura de llamadas DLL y pérdida de velocidad en las llamadas
Como ya se ha descrito anteriormente, cada llamada de funciones DLL se envuelve en una envoltura especial para garantizar la seguridad. Esta envoltura enmascara el código básico, reemplaza la pila, soporta acuerdos stdcall / cdecl y monitoriza excepciones dentro de las funciones llamadas.
Este volumen de trabajo no conlleva un retraso significativo de la llamada a las funciones.
Espero que realmente resuelvan este problema perdido de la velocidad de llamada de las .dll, y no solo cambien algun parrafo del articulo para evitar preguntas.
Hablando de preguntas, espero que Renat Fatkhullin, quiera responder a la pregunta de pfx de " En serio, ¿qué clase de declaración es esa?", porque Renat escribió en la línea final del artículo, "¡Gracias por su interés! Estoy dispuesto a responder a cualquier pregunta", o al menos el cambio del párrafo.
También nos interesa conocer su respuesta :).
Escribiré más sobre esto cuando tenga tiempo.
No sé cuando Renat escribió este artículo, pero Microsoft ya no ofrecen Visual Studio 2005. Ofrecen Visual Studio 2010 y 2011 beta y parece que a punto de volcar 2008.
Haga clic aquí para Microsoft Visual Studio 2010 , y haga clic aquí para el 2008. El instalador es instalador web que es molesto si usted tiene conexión lenta a Internet,. Ofrecen instalador sin conexión como imagen ISO, pero que también contienen Visual Studio C # y Visual Basic. Después de la instalación, ambos estudios requieren algunas actualizaciones que es grande, así como en el tamaño MB.
Para aquellos a los que no les guste instalar Visual Studio, hay otras alternativas que pueden consultar en https://en.wikipedia.org/wiki/Comparison_of_integrated_development_environments. Mis favoritas son NetBeans y Visual Basic . Mis favoritos son NetBeans y Code::Block. NetBeans es soportado por Oracle y base para su Oracle Solaris Studio. Sin embargo NetBeans no viene con compilador, así que tienes que usar el compilador de Cygwin o MinGW, lo que puede ser molesto para un novato. La última versión estable del famoso DevC++ fue hace 7 años, ahora su sitio web está lleno de enlaces muertos, parece que ya nadie se ocupa de ellos, así que no lo recomiendo.
Es mejor usar Visual Studio, porque hay muchas opciones con las que puedes jugar - si sabes como.
Hablando de preguntas, espero que Renat Fatkhullin, quiera responder a la pregunta de pfx de " En serio, ¿qué tipo de declaración es esa?", porque Renat escribió en la línea final del artículo, "¡Gracias por su interés! Estoy dispuesto a responder a cualquier pregunta", o al menos el cambio del párrafo.
Muy buen tutorial
Necesito crear archivos de referencia ?
Necesito modificar Fann2MQl.dll (documentado en http://fann2mql.wordpress.com) porque no es funcional en MT5. La razón es que en MT5 no puedes abrir los archivos donde quieras. Se tienen que abrir en 2 sitios por defecto (para modo forward y modo testing).
Así que la pregunta es ¿qué función invocar en lugar de fopen y qué archivo de cabecera incluir? Porque parece que los archivos tienen que ser abiertos desde dentro de MT5. Cualquier intento de abrir un archivo evitando terminal.exe (como sucede usando fopen desde un dll) es automáticamente reenviado al Directorio de Instalación o al Escritorio, según el modo de lanzamiento de terminal.exe empleado (cliqueando el icono o desde la línea de comandos con el parámetro /portable).
Este reenvío es además bizarro, porque el nombre resultante del archivo sólo está en la primera letra de la ruta al mismo.
¿Alguien sabe cómo crear una DLL de 64 bits o permitir que MQL5 cargue una DLL de 32 bits? MQ5 no carga mi script de prueba porque mi DLL "no es de 64 bits". Gracias.
Esto se puede arreglar, instrucciones aquí: Explorador de soluciones -> Haga clic derecho Solución -> Administrador de configuración -> Plataforma activa solución menú desplegable -> seleccione x64 -> haga clic en Cerrar -> Reconstruir solución
Espero que esto ayude.
Buena suerte.
Hola,
Esto no funciona con DLL producido por Microsoft Visual Studio 2013 Express edition, ver adjunto.
No parece encontrar la biblioteca MSVCR120D_APP.DLL y un problema con KERNEL_32 también.
¿Alguien tiene un problema similar? ¿Cómo puedo solucionar esto, por favor?
Thank you
¿Soporta mql5 dll de importación que incluyan funciones callback?
Por ejemplo:
Hay una dll llamada tclient.dll, que incluye la siguiente función:
typedef TCLIENT_API void(*call_back)(Tick* p);
TCLIENT_API int sub_tick(CTX ctx, const char* insId, call_back f);
Entonces, ¿cómo debo declarar y llamar a sub_tick en mql5?
#importar "tclient.dll"
/cómo declarar la función "sub_tick"
#import
void ontick(Tick &ticks[])
{}
int OnInit()
{
/¿cómo llamar a la función "sub_tick"?
}