Bibliotecas: MT4Orders - página 76

 
fxsaber #:

Recomiendo copiar completamente la carpeta Include de b3260 al terminal x32. MQ corrigió errores en sus librerías.

¿Existe alguna constante para eliminar el texto de error o al menos acortarlo?


 

encontrado

// Añadir: Si en OrderSend, OrderClose o OrderModify el parámetro de entrada de color (el más reciente) se establece igual a INT_MAX, se generará.
// la correspondiente solicitud de operación MT5 (MT4ORDERS::LastTradeRequest), pero NO se enviará. En su lugar, se comprobará MT5,
// cuyo resultado estará disponible en MT4ORDERS::LastTradeCheckResult.
// Si OrderModify y OrderClose tienen éxito, devolverán true, en caso contrario devolverán false.
// OrderSend devolverá 0 si tiene éxito, en caso contrario -1.
//
// Si el parámetro de entrada de color correspondiente se establece como INT_MIN, entonces SÓLO en caso de que MT5 compruebe correctamente el valor generado
// solicitud comercial (como en el caso de INT_MAX) se enviará.

Gracias.

 
Aleksei Beliakov #:

encontrado

¡¡¡Gracias!!!

Este modo también es bueno para Tester (y comprobaciones de mercado), porque no tiene que hacer ninguna comprobación de la corrección de las órdenes comerciales, la biblioteca lo hará todo.

Si no el terminal, sino el servidor de comercio devuelve un error, habrá una impresión detallada de la misma.

 
// Lista de cambios:
// 20.07.2022
// Añadir: Añadido OrderLotsOpen() - posición completa/volumen de la orden antes de cerrar/borrar. Funciona correctamente sólo en ByPass-mode.
 
Entendí que no se soporta el manejo de errores, creo que debería especificarse en la descripción. Los códigos de error en MT4 no coinciden con los errores en MT5 y mi clase dejó de procesarlos, por lo demás parece funcionar.
 

Aleksey Vyazmikin обработка ошибок - думаю, что это надо указать в описании.

Creo que se indica que sólo se utilizan funciones de orden del tipo MT4. El propio nombre de la librería lo dice.

Los códigos de error en MT4 no coinciden con los errores en MT5 y mi clase dejó de procesarlos, pero por lo demás parece funcionar.

El acceso a los códigos devueltos está disponible. Yo nunca los he utilizado porque no los necesito.

 
fxsaber #:

Creo que se indica que sólo se utilizan funciones de orden del tipo MT4. El propio nombre de la biblioteca así lo indica.

Se puede acceder a los códigos devueltos. Yo nunca los he utilizado porque no los necesito.

Bueno, para mí la multiplataforma implica la posibilidad de portar código complejo sin editar, así que no pensé en "implica" de la misma manera. Pero la falta de procesamiento de este tipo de errores puede traer problemas, por ejemplo, bombardear DC con las solicitudes de comercio, mientras que el mercado está cerrado, o en caso de fallo de conexión no tratar de enviar una orden de comercio de nuevo. Hay un montón de situaciones diferentes, acabo de escribir para ordenar una clase hace mucho tiempo, que se corrigió en el trabajo real en muchas cuentas de un gran número de Asesores Expertos.

No tengo ninguna queja, sólo que los que no entienden la esencia, como lo hice inicialmente, fueron advertidos de los riesgos y la necesidad de reelaborar o adaptar su código.

 
Aleksey Vyazmikin #:

Bueno, para mí, multiplataforma significa ser capaz de portar el código sin editarlo.

No es un conversor, es la capacidad de operar escribiendo en MT5 a través de un simple estilo MT4.

 
fxsaber #:

No es un convertidor, es la capacidad de escribir operaciones a MT5 a través de un simple estilo MT4.

Tal vez entendí mal, ya que entendí la idea de ser capaz de utilizar un código en dos plataformas.

 
Aleksey Vyazmikin Tras estudiar GetLastError, he llegado a la conclusión de que no es razonable complementarlo.
// Lista de cambios:
// 08.02.2017:
// Añadir: Variables MT4ORDERS::LastTradeRequest y MT4ORDERS::LastTradeResult содержат соответствующие данные MT5-OrderSend.

Ahora es posible obtener todos los datos MT5-OrderSend en su totalidad.

Print(MT4ORDERS::LastTradeResult.retcode); // Código de retorno de la operación
Print(MT4ORDERS::LastTradeResult.retcode_external); // Código de retorno de un sistema de negociación externo 

MT5 códigos en sí están aquí. Comparar con los códigos de MT4.


Tenga en cuenta que en MT5 GetLastError() no devuelve errores de comercio. Por lo tanto, si quieres hacer como en MT4, tienes que generar tu propio error correspondiente a través de SetUserError. Pero incluso allí ERR_USER_ERROR_FIRST no te dará la versión de MT4.