![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Este problema es aún más interesante. Construí un simple EA basado en el código del post anterior. También abre 5 operaciones, cada una de ellas en el mercado durante 5 minutos, y luego las cierra. Aquí está el código:
Pasó la validación en el primer intento, pero no hay operaciones en NZDUSD. ¿Por qué?
Incluso si el validador establece un depósito insuficiente para la apertura con un lote mínimo, aparecerá el error 134 como en el mensaje anterior. ¡Pero es que no hay intercambios! ¿Por qué?
¿Quizá el validador funciona mal o hay una explicación razonable?
y se pone la respuesta completa del validador aquí primero
¿Y qué te hace pensar que el validador asigna las entradas según el principio que tú has ideado?
para abrir 5 operaciones, hay que contar el número de operaciones abiertas, no molestarse con las entradasRenat, eso es lo que creo que son las transacciones, fíjate bien. Incluso puedes ejecutar mi código en el probador. Hay una matriz de dos valores: test_ticket[0] - almacena el orden de los tickets, test_ticket[1] - número de intentos.
Cambiando el número de intentos en la primera condición se pueden abrir diferentes números de tratos
Esta es la historia de los siguientes intentos con diferentes números de pedidos
Y aquí, en uno de los siguientes intentos, el validador utiliza realmente el lote mínimo, que a sabiendas no puede abrir con un depósito de 1 dólar. La pregunta es, ¿por qué no hubo intercambios en los intentos anteriores? ¿Y por qué esta ejecución utiliza un lote mínimo y un depósito erróneos a sabiendas que inician un error de validación?
...
Con todo, el validador ha cumplido hasta ahora con su tarea principal: filtrar el código incompleto del mercado.
Mmm...
Y no es un tiro al azar. Aquí están los tres siguientes intentos.
El error en el registro "No hay dinero para abrir tal o cual transacción..." indica que usted envió una orden de comercio, pero no comprobó nada (o no todo) por completo antes. El artículo proporciona un algoritmo claro para la comprobación.
Recuerda: el error "no hay dinero para abrir tal o cual operación..." - es el 99% del error en la lógica del Asesor Experto. Faltan controles (o la ausencia total de ellos). Esto es un signo de comprensión insuficiente de los principios de codificación.
Recuerde: en el mundo real, el depósito puede ser de 1 dólar, y el apalancamiento no siempre es de 1:100, y el lote mínimo puede ser de 0,01 y de 0,02 y de 0,30 y de 1,0, y un montón de cosas más...
El error en el registro "No hay dinero para abrir tal o cual transacción..." indica que usted envió una orden de comercio, pero no comprobó nada (o no todo) por completo antes. El artículo proporciona un algoritmo claro para la comprobación.
Recuerda: el error "no hay dinero para abrir tal o cual operación..." - es el 99% del error en la lógica del Asesor Experto. Faltan controles (o la ausencia total de ellos). Esto es un signo de comprensión insuficiente de los principios de codificación.
Recuerde: en el mundo real, el depósito puede ser de 1 dólar, y el apalancamiento no siempre es de 1:100, y el lote mínimo puede ser de 0,01 y de 0,02 y de 0,30 y de 1,0, y un montón de cosas más...
Vladimir, te has perdido el elefante. El principal error fue.![](https://c.mql5.com/3/327/3241887888179.png)
Puedo responder en su idioma y darle una conferencia.
El error en el registro "No hay dinero para abrir tal o cual transacción..." indica que usted envió una orden de comercio, pero no comprobó nada (o no todo) por completo antes. El artículo proporciona un algoritmo claro para la comprobación.
Recuerde: el error "no hay dinero para abrir tal o cual negocio...". - es el 99% del error en la lógica del Asesor Experto. Faltan controles (o la ausencia total de ellos). Esto es un signo de comprensión insuficiente de los principios de codificación.
Recuerde: en el mundo real, el depósito puede ser de 1 dólar, y el apalancamiento no siempre es de 1:100, y el lote mínimo puede ser de 0,01 y de 0,02 y de 0,30 y de 1,0, y un montón de cosas más...
Vladimir, no entiendo si lees los posts en general o sólo eliges las fotos interesantes. Vuelve a leer todo con atención o un par de veces desde el principio de la página, por lo menos. ¡Y lee el código! No quiero ni molestarme en explicártelo todo.
¡No quiero ni molestarme en explicártelo todo!
Andrew, nadie quiere repetir lo que ya se ha escrito y masticado.
Sí, pero el problema está ahí. Tal vez alguien de este fuerte sitio trate de entenderlo igual y compruebe el validador. El simple código transparente sin parámetros no funciona en absoluto para NZDUSD y GBPUSD Check a veces. Y si añadimos algunas condiciones y no hay operaciones en el oro también, entonces de nuevo recibiremos un error deno operaciones de comercio y la comprobación perdida.
No confíe en que el validador devuelva un código de error de la lista de errores del servidor comercial. Registre siempre usted mismo el mensaje de error. Lea cuidadosamente lo que está escrito en el artículo que usted sabe acerca de la imposibilidad de ejecutar la orden y lo que tiene que hacer en este caso.
Es muy posible que la ausencia de un mensaje de error en el registro, por ejemplo el cálculo del tamaño del lote, sea la causa de los errores de validación.
Esta es la historia de los siguientes intentos con diferentes números de pedidos
Y aquí, en uno de los siguientes intentos, el validador utiliza realmente el lote mínimo, que a sabiendas no puede abrir con un depósito de 1 dólar. La pregunta es, ¿por qué no hubo intercambios en los intentos anteriores? ¿Y por qué esta ejecución utiliza un lote mínimo y un depósito erróneos a sabiendas que inician un error de validación?
Hmmm...
Y no es un tiro al azar. Aquí están los tres siguientes intentos.
Error al enviar una orden comercial 134 ...
¿El probador escribió este error? Si es así, también es una de las causas de los errores de validación. Debe calcular usted mismo la posibilidad de abrir una posición y, si esto es imposible, escribir su propio mensaje sobre la incapacidad de operar con los parámetros establecidos en el diario, en lugar de enviar una orden a sabiendas de que es incorrecta al servidor confiando en que el terminal y el servidor lo hagan todo por usted. Con tales órdenes incorrectas, puedes inundar el servidor y luego ser prohibido con seguridad en el comercio automático. Esto es culpa tuya, no del validador.