
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
Foro sobre trading, sistemas automatizados de trading y testeo de estrategias de trading
Bibliotecas: MT4Orders
fxsaber, 2022.07.20 00:39
Ejemplo.
Resultado.
Peculiaridad de presentación de posiciones cerradas por la librería en comparación con MT5.
Situación comercial.
MT5 mostrará que hubo una posición que se abrió a las 12:00 y se cerró a las 15:00. Los precios de apertura/cierre de esta posición pueden ser muy extraños.
MT4Orders mostrará que había dos posiciones: una que se abrió a las 12:00 y se cerró a las 13:00, y otra que se abrió a las 14:00-15:00. Los precios de apertura/cierre de esta posición pueden ser muy extraños. Los precios de apertura/cierre serán adecuados.
Parte de MT5-Market está escrito a través de esta librería. La razón principal es la facilidad de uso.
Sí, es un logro. Sin embargo, la comprobación de errores en la aceptación del mercado no recrea todas las situaciones.
Sobre el tema de los errores.
MT5 propios códigos están aquí. Comparar con los códigos de MT4.
Tenga en cuenta que en MT5 GetLastError() no devuelve errores de operación. 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.
Gracias por la información, yo tampoco soy muy ducho en esto.
¿Entiendo bien que basta con sustituir
a
y procesar ya los nuevos códigos de error?
Por cierto, no he encontrado análogos de errores para MT5, en MT4 son: 135, 145, 146 - ¿hay alguno?
Sí, es un logro. Sin embargo, la comprobación de errores de admisión de marquesinas no recrea todas las situaciones.
Por desgracia, sólo tengo ideas teóricas sobre el Mercado. No tengo práctica en pasar las comprobaciones.
¿Entiendo correctamente que basta con sustituir y procesar ya los nuevos códigos de error?
Correcto. Sólo retcode. El análogo de ResetLastError es el mismo esquema - asignación de cero.
Por cierto, no he encontrado análogos de errores para MT5, en MT4 son: 135, 145, 146 - ¿hay alguno?
No sé los tipos de errores en absoluto, ya que no los uso en asesores expertos de combate. Probablemente, usted debe tratar de reproducir cada error en MT4 y luego tener una idea clara de su naturaleza y compararlos con errores similares en MT5. Tal vez ya hay tablas de correspondencia en alguna parte. No es un hecho que todos los códigos tienen homónimos en otra plataforma.
Así es. Sólo retcode. Un análogo de ResetLastError en el mismo esquema - asignación de cero.
Entonces, ¿se puede integrar el restablecimiento de error en su clase de alguna manera? Porque la cuarta clase no lo necesitaba de alguna manera.
¿O es suficiente sólo para llamar a la información sobre el último error y luego restablecer inmediatamente, es decir, intercambiar las funciones que tiene en su ejemplo?
No conozco los tipos de errores en absoluto, ya que no los uso en combate Expert Advisors. Probablemente, deberías intentar reproducir cada error en MT4 y luego hacerte una idea clara de su naturaleza y compararlos con otros similares en MT5. Tal vez ya hay tablas de correspondencia en alguna parte. No es un hecho que todos los códigos tienen sus homónimos en otra plataforma.
Estuve buscando una tabla de este tipo y no la encontré. Los errores no siempre están en el código - hay problemas en el lado del centro de corretaje.
Entendí que si el problema es de cualquier tipo con el trabajo con las órdenes, entonces GetLastError(); devuelve el código 4756, que no está mal, si es así.
Entonces, ¿se puede integrar el restablecimiento de errores en su clase? La 4 no parecía necesitarlo.
¿O es suficiente con llamar a la información sobre el último error y luego restablecer de una vez, es decir, intercambiar las funciones que tiene en su ejemplo?
No veo la necesidad de reiniciarlo. Lo he dicho por compatibilidad adicional con la forma en que supongo que funciona MT4.
No veo la necesidad de reiniciar. Dicho para la compatibilidad adicional con la forma en que supongo que funciona MT4.
Todavía tengo que aclarar, ¿estos errores están por debajo del código llamado?
Porque cosas similares - lo que se necesita no entiendo - el mismo código de abajo devuelve errores de la estructura MqlTradeResult?
Sigo aclarando, ¿son estos errores lo que abajo se llama código?
Debido a que las cosas similares - lo que se necesita no entiendo - el mismo código de abajo devuelve errores de la estructura MqlTradeResult?
retcode - MT5 error. retcode_external - un campo que puede ser opcionalmente rellenado por el desarrollador de un puente de terceros.
retcode - error MT5. retcode_external - campo que puede rellenar opcionalmente el desarrollador de un puente de terceros.
Entendido, gracias. Creo que los estándar serán suficientes por ahora.
Hice este manejo de errores en mi clase
Al final de mi clase añadí una función