Desarrollo de una biblioteca de funciones API para MetaTrader 4 - página 6

 
<br / translate="no"> También tenga en cuenta que Omega "no conoce" las definiciones del archivo Mforex.h. Es decir, por ejemplo, cuando se llama a la función de apertura de posiciones, se debe especificar el código de operación para, por ejemplo, Vender - 1, no OP_SELL, etc. Para más detalles, consulte la documentación de DevKit, que describe la forma en que omega trabaja con las bibliotecas externas.
Buena suerte.


Tengo la documentación de DevKit, pero no he encontrado nada allí, el inglés es un bosque oscuro.
Pero hay un extracto del documento mforex.n,
Pedidos
enum { OP_BUY=0,
OP_SELL,
OP_BUY_LIMIT,
OP_SELL_LIMIT,
OP_BUY_STOP,
OP_SELL_STOP,
OP_BALANCE,
OP_CREDIT
};

¿significa que si
OP_BUY=0 entonces
OP_SELL=1 y
OP_BUY_LIMIT=2 etc.?

Si es así, no es difícil.

¿Y el nombre de la herramienta?
 
<br / translate="no"> ¿Y el nombre de la Herramienta?

Ya lo tienes muy claro. El nombre de la herramienta debe ir entre comillas, ya que se pasa a MT4 sin cambios. ¡Cuando creé la biblioteca MFOREX, inicialmente quería numerar todos los pares disponibles de la misma manera, pero luego resultó que las formas estándar no pueden proporcionar una lista de instrumentos negociados! Entonces, sólo escribimos "USDCHF" o "GBPUSD".
También puede pasar el nombre del par en una variable de cadena.
Buena suerte.
 
Muchas gracias, menos problemas con el Omega hasta ahora.
He encontrado un problema mayor:
El Asesor Experto en MT4 está roto, es decir, no funciona por sí mismo, está gris en la lista, ¿qué hacer?
Lo he vuelto a descargar y no ha cambiado.

Lo he descargado de HELP:

Una vez completado el desarrollo, hay que compilar el EA. Para ello, ejecute el comando de menú "Archivo - Compilar" en el editor de EA, pulse F9 o haga clic en el botón de la barra de herramientas. Como resultado de la compilación exitosa, se creará un archivo ejecutable del programa con la extensión *.EX4 y se colocará automáticamente en la carpeta /EXPERTS. La lista de Asesores Expertos compilados puede verse en la ventana "Navegador - Asesores Expertos" del terminal del cliente. Si la compilación no tiene éxito, el icono del Asesor Experto aparecerá en gris. Significa que no se puede utilizar.
 
Como resultado de la compilación exitosa, se crea un archivo de programa ejecutable con extensión *.EX4, que se coloca automáticamente en la carpeta /EXPERTS. La lista de EAs compilados puede verse en la ventana Navegador-Asesor del terminal cliente. Si la compilación no tiene éxito, el icono del Asesor Experto aparecerá en gris. Significa que no se puede utilizar. <br / translate="no">

Aquí se equivoca. El Asesor Experto es totalmente viable. El color gris también significa que no hay un archivo fuente *.MQ4. La mayoría de los EA comerciales se distribuyen de esta manera en forma compilada. Intente borrar la fuente de cualquier Asesor Experto y reinicie el terminal - el Asesor Experto se volverá gris.
Además, aconsejo sustituir el archivo Mem.dll por uno nuevo. He convertido este último a la nueva construcción de la terminal de comercio 197. Mem.dll ya ha sido cambiado a la nueva versión en los archivos de mi sitio:
http://www.min2006.ru
Buena suerte.
 
Buenas tardes, tengo esta pregunta:
si quiero entrar en el mercado por mercado, ¿tengo que especificar un precio?
 
Buenas tardes, así que tengo esta pregunta:<br/ translate="no"> si quiero entrar en el mercado por mercado, ¿todavía tengo que especificar un precio?

Hola, este es un procedimiento estándar. Todos los Asesores Expertos funcionan de esta manera: primero, se obtiene el precio actual (la función TikKot) y luego se forma una nueva orden a este precio (NewPos). Si abre una orden de compra, tomará el precio de venta, y si vende una orden, tomará el precio de compra.
Mira el ejemplo en mi sitio en C++ o Delphi. Allí puede encontrar variantes de apertura de posiciones.
Buena suerte.
 
Así que ayer estuve ejecutando DLL en Omega todo el día con diferentes funciones y encontré que Omega se cuelga constantemente de DLL. La ventana del número de ordenador aparece y hasta unos cuantos, no sé si es un problema sólo en la demo o qué? Así que no me molesta mucho la ventana de números, pero el Omega se cuelga y hace imposible trabajar...
 
Así que ayer estuve ejecutando DLL en Omega todo el día con diferentes funciones y encontré que Omega se cuelga constantemente de DLL. Aparece la ventana del número de ordenador y hasta unos cuantos, no sé si es un problema sólo en la demo o qué? Así que la ventana con el número no me molesta mucho, pero el omega que cuelga hace imposible el trabajo... <br/ translate="no">

No puedo responder a nada en concreto. No he probado la biblioteca con Omega. Aparentemente el problema es una llamada a una función incorrecta de la biblioteca. ¿Ha reservado memoria para las matrices de datos devueltos? También te puedo recomendar que investigues bien los logs de MT4 y de la propia librería (crea el archivo Protokol.dat cuando funciona).
La ventana con el número de ordenador sólo aparece en la versión demo. Buena suerte.
 
¿Ha reservado memoria para los conjuntos de datos devueltos? <br / translate="no">


¿Cómo se hace?
 
<br/ translate="no">¿Cómo se hace?

Es un procedimiento estándar para cualquier lenguaje de programación. Mira en la documentación de Omega. Es necesario declarar un array para su posterior uso. Por ejemplo, para obtener el historial de cotizaciones se necesitan entre 2000 y 5000 elementos del array. Para el array, antes de la operación, necesitamos utilizar Omega para asignar el espacio necesario en la memoria.
¿Has visto lo que hay en los registros?